2016-07-16 28 views
2

Paypal Sandboxを使用してPaypal Vaultクレジットカードに支払いしようとしていますが、わかりません。エラーをトラブルシューティングする方法はないようです。それは動作するか動作しません、私はそれが動作している経験はありません。Paypal Vaultのクレジットカードのチャージに関するトラブルシューティング方法

私はカードのリストを引き出すことができますが、私は特定のカードを取り出すことができますが、いずれにも支払うことはできません。

私はPHP Paypal SDKを使用しています。 Paypalが私の要求として見ているものは次のとおりです。

{ 
    "body": { 
     "intent": "sale", 
     "payer": { 
      "payment_method": "credit_card", 
      "funding_instruments": [ 
       { 
        "credit_card_token": { 
         "credit_card_id": "CARD-6XP216179L970340WK6BNY5A", 
         "payer_id": "1" 
        } 
       } 
      ] 
     }, 
     "transactions": [ 
      { 
       "amount": { 
        "currency": "USD", 
        "total": "26.01" 
       } 
      } 
     ] 
    }, 
    "header": { 
     "x-pp-silover": "name\\u003dSANDBOX3.API.1\\u0026silo_version\\u003d1880\\u0026app\\u003dplatformapiserv\\u0026TIME\\u003d1702332759\\u0026HTTP_X_PP_AZ_LOCATOR\\u003d", 
     "content-length": "233", 
     "paypal-request-id": "323223593916288146862657311204", 
     "x-slr-retry": "SLR-RETRY-EMPTY", 
     "accept": "*/*", 
     "client-auth": "No cert", 
     "host": "api.sandbox.paypal.com", 
     "user-agent": "PayPalSDK/PayPal-PHP-SDK 1.7.3 (platform-ver\\u003d5.6.23-2+deb.sury.org~xenial+1; bit\\u003d64; os\\u003dLinux_4.4.0-21-generic; machine\\u003dx86_64; crypto-lib-ver\\u003d1.0.2h; curl\\u003d7.47.0)", 
     "x-slr-nobounce": "true", 
     "x-slr-orig-script_uri": "https://api.sandbox.paypal.com/v1/payments/payment", 
     "x-pp-corrid": "793fa20aaec8b", 
     "pp_remote_addr": "99.99.99.1", 
     "content-type": "application/json", 
     "authorization": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxl4S0" 
    }, 
    "additional_properties": {}, 
    "method": "POST" 
} 

私は現在割り当てられているものよりも何かにIPを変更しました。それを公開するセキュリティ上の問題かどうかはわかりませんが、秘密ではありません。

私が扱っているコードは次のようになります。

$apiContext = new \PayPal\Rest\ApiContext(
      new \PayPal\Auth\OAuthTokenCredential(
       $clientId, 
       $secret 
       ) 
      ); 

     $cardToken = new CreditCardToken(); 
     $cardToken->setCreditCardId($paymentMethod->getProcessorId()); 
     $cardToken->setPayerId("1"); 

     $fi = new FundingInstrument(); 
     $fi->setCreditCardToken($cardToken); 

     $payer = new Payer(); 
     $payer->setPaymentMethod("credit_card") 
     ->setFundingInstruments(array($fi)); 
     $amount = new Amount(); 
     $amount->setCurrency("USD") 
     ->setTotal("26.01"); 

     $transaction = new Transaction(); 
     $transaction->setAmount($amount); 

     $payment = new Payment(); 
     $payment->setIntent("sale") 
     ->setPayer($payer) 
     ->setTransactions(array($transaction)); 
     print_r($payment); 

      $payment->create($apiContext); 
      if ($payment->getState() == 'approved') { 
       return TRUE; 
      } 
      return FALSE; 
     } catch (Exception $ex) { 
      print_r($ex); 
     } 

$ paymentMethod-> getProcessorIdは()私はPayPalのサンドボックスから取り出すことができ、有効なクレジットカードボールトID、です。

こちらはPaypalの対応です。

{ 
    "status": 500, 
    "duration_time": 135, 
    "body": { 
     "message": "An internal service error occurred.", 
     "information_link": "https://developer.paypal.com/webapps/developer/docs/api/#INTERNAL_SERVICE_ERROR", 
     "name": "INTERNAL_SERVICE_ERROR", 
     "debug_id": "793fa20aaec8b" 
    }, 
    "additional_properties": {}, 
    "header": { 
     "Content-Length": "209", 
     "Content-Language": "*", 
     "X-SLR-RETRY": "500", 
     "CORRELATION-ID": "793fa20aaec8b", 
     "Date": "Fri, 15 Jul 2016 23:53:39 GMT", 
     "Connection": "close", 
     "Paypal-Debug-Id": "793fa20aaec8b", 
     "PROXY_SERVER_INFO": "host\\u003dslcsbplatformapiserv3001.slc.paypal.com;threadId\\u003d569", 
     "Content-Type": "application/json" 
    } 
} 

私が理解しているように、内部的なエラーは単に何かが正しくないことを意味しますが、正しくないことは何も言いません。トラブルシューティングに役立つものは何もありません。また、Paypal SBダッシュボードで調べるためのログはありません。

答えて

2

これは内部エラーで、何が問題になったかを伝えません。ここで回答を受け取るのは難しいでしょう。

PayPalからの回答を得る最も良い方法は、 https://www.paypal-techsupport.com/にアカウントを作成し、そこにdebug_idと同じ質問を投稿することです。 (サイトフッターの[サポート担当者に問い合わせる]をクリックしてください)。彼らはどんな種類のエラーであるかを伝えます。私は彼らから助けを得ることに成功した実績があります。

内部エラーが発生した場合に2番目に最適な場所であるhttps://github.com/paypal/PayPal-PHP-SDKの応答が遅すぎる場合は、そこにdebug_idを投稿してください。

+1

私はそれをして、彼らは私と一緒に戻ってきました。これらのカード番号を使ってテストする必要がありました。 VISA:4716 3248 7603 0777 Mastercard:5453 9874 8085 6045 – Halfstop

+0

PayPal Sandboxで使用されていないクレジットカードはほとんどなく、奇妙な動作を引き起こしています。請求先住所が50万のクレジットカードを考えてください。これらの問題はライブでよくカバーされますが、サンドボックスではこれらの問題が発生します。最高のアイデアは、ユニークなクレジットカードを使用することです。 https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1413&viewlocale=en_US&direct=jaの手順4を使用して作成することができます。http://www.getcreditcardnumbers.com/巨大なバルクのために。 –

関連する問題