2016-12-10 6 views
1

私はマゼンタストアのウェブサイトにストライプのクレジットカード決済方法を使用しており、モバイルアプリケーションを開発中です。私はAPIをネイティブのマゼンタのAPIを使用して開発しています。注文のAPIを作成する際に問題が発生しました。ストライプクレジットカードの支払いを追加するまでは問題ありませんが、オーダーを作成すると例外がスローされます。 「クレジットカード番号の不一致(クレジットカードの種類の例外を含む)」Magentoクレジットカード番号のミスマッチ(クレジットカードの種類の例外あり)

以下はAPIコードです。前もって感謝します。

$proxy = new SoapClient($this->_client); //soap handle 
    $sessionId = $proxy->login($this->_apiuser, $this->_apikey); 
    $resultCustomerAddresses = $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses)); 
    if ($resultCustomerAddresses != TRUE) 
    { 
     return json_encode(array('status' => 0, 'result' => array(),'message' => 'Error in saving address')); 
    } 
    $resultShippingMethods = $proxy->call($sessionId, "cart_shipping.list", array($shoppingCartId)); 
    $randShippingMethodIndex = rand(0, count($resultShippingMethods)-1); 
    $shippingMethod = $resultShippingMethods[$randShippingMethodIndex]["code"]; 

    $resultShippingMethod = $proxy->call($sessionId, "cart_shipping.method", array($shoppingCartId, $shipping_method)); 

    //$resultTotalOrder = $proxy->call($sessionId,'cart.totals',array($shoppingCartId)); 

    $paymentMethod = array(
     "method" => $payment_method 
    ); 

    $resultPaymentMethod = $proxy->call($sessionId, "cart_payment.method", array($shoppingCartId, $payment_method)); 

    $licenseForOrderCreation = null; 

    $resultOrderCreation = $proxy->call($sessionId,"cart.order",array($shoppingCartId, null, $licenseForOrderCreation)); 

答えて

1

私はこの答えを参照、同じ問題を抱えていたし、正常に解決:あなたが引用符を保存する前に、基本的に、あなたはカード情報を提供https://stackoverflow.com/a/41948259/1052675

を。正規表現のパターンと購入限度額に対してカードを検証し、支払い方法を使用できることを確認します。

支払い情報を忘れてしまいます。

ご注文を送信する前に、カード情報を再度入力する必要があります。

私の解決策は、フロントエンドアプリケーションの簡素化のためのカスタムエンドポイントであり、カード情報をメモリに保存して、見積もりを保存して注文を提出する間に再度保存することができました。

+0

これは理論的に質問に答えることができますが、ここでは回答の必須部分を含めることが推奨されます(http://meta.stackoverflow.com/q/8259)。 –

+0

スティーブンさん、ありがとうございました。 –

関連する問題