2016-06-13 17 views
5

私はPayPalの残りAPI(サンドボックス)でクレジットカード決済を実行しようとしています。ここでは、コードです:PayPal Rest API販売IDを返さない支払いを作成

$payment = new Payment(); 
$payment->setIntent('sale'); 
... 

try { 
    $payment->create($this->apiContext); 

    $saleId = $payment->getTransactions()[0]->getRelatedResources()[0]->getSale()->getId(); 
} catch (PayPalConnectionException $ex) { 
    ... 
} 

これは、次のJSONを送信します。

{ "experience_profile_id": "XX-XXXX-XXXX-XXXX-XXXX"、 "意図": "販売"、「支払人":{" payer_info ":{" first_name ":" Jim "、" last_name ":" Smith "、" email ":" [email protected] "、" phone ":" "}、" payment_method ":" credit_card "、" fun_instruments ":" {"credit_card":{"first_name": "Jim"、 "last_name": "Smith"、 "number": "XXXXXXXXXXXX4487"、 "type": "visa"、 "expire_month" "123"、 "123"、 "billing_address":{"line1": "123 テストストリート"、 "ライン2": ""、 "都市": "テスト 市"、" state ":" "、" postal_code ":" XXXX「金額」:「通貨」:「GBP」、「合計」:「13.50」、「詳細」:{"通貨" 「Tシャツ ブラック 小」、「送料」:「3.50」、「税」、「1.67」、「小計」:「8.33」}}、「item_list」:{「items」: "shipping"、 "shipping_address":{"recipient_name": "Jim Smith"、 "paypal"、 " 「都道府県」、「都道府県」、「郵便番号」:「XXXX XXX」、「country_code」:「市区町村名」、「市区町村名」、「市区町村名」、 GB "}}、" 説明 ":" お支払い 詳細」、 "INVOICE_NUMBER": "XXXXX"}]}

これは最近まで細かい仕事をしていた、しかし今では、関連resourのために何を返しません。 ces。

{ "ID": "PAY-XXXXXXXXXXXXXXXXXXXXXX"、 "CREATE_TIME": "2016-06-20T11:45:28Z"、 "UPDATE_TIME":ここで私は戻って取得していますJSONです」2016-06- "支払い"、 "支払い方法": "クレジットカード"、 "funding_instruments":[{"クレジットカード":{"タイプ" 20T11:45:28Z "、"状態 " : "visa"、 "number": "xxxxxxxxxxxx4487"、 "expire_month": "6"、 "expire_year": "2020"、 "first_name": "Jim"、 "last_name": "Smith"、 "billing_address" "country"、 "country"、 "country": "GB"}}]]}、 "transactions": "{"} " {"合計": "13.50"、 "通貨": "GBP"、 "詳細":{"小計": "8.33"、 "税": "1.67"、 "配送": "3.50"}} 、 "description": "Payment 詳細"、 "item_list":{"items":[{"name": "Tシャツブラック Sm 「abc123」、「price」:「8.33」、「currency」:「GBP」、「quantity」:「1」}]、「shipping_address」:{「recipient_name」:「ジム スミス"、"市区町村 ":"市区町村 "、"州 ":"一部 州 "、" postal_code ":" XXXX XXX "、" country_code ":" GB "}} 、 "related_resources":[]}]、 "リンク":[{ "HREF": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-XXXXXXXXXXXXXXXXXXXXXX"、 "REL": "自己"、 "方法": "GET"}]}

に注意してください私はAPIのバージョン1.7.2を使用していますが、最近PHPバージョン7にアップグレードしました。

私が間違っていることを誰かが説明できるのであれば、私は感謝します。

ありがとう

+0

エラーログも作成し、統合の設定を指定する必要があります。エンドポイントはサンドボックスまたはライブに設定されていますか? –

+0

@pp_pduan私はサンドボックスと私が戻ってきているjsonレスポンスを使用しているという質問を更新しました。表示されているように、related_resourcesは空です。私はこれが役立つことを願っています – nfplee

+0

バージョン1.7.2 ???そのようなバージョン番号が存在しますか?、現在のバージョンは204です – SML

答えて

0

私は最終的に自分自身の過ちからこの作業を得ることができました。サンドボックスの購入者アカウントはもう機能していないようです。これがうまく働いた

https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/payments/CreatePayment.php

はので、私は違うとそのサンプルにカード情報を使用していた問題を解決する助けただけのものを見つけるのゲームをプレイした:私は、次のドキュメントを見つけました。私はすでにこの問題にかなりの時間を費やしてきたので、うまくいけばそれを受け入れるつもりです。うまくいけば、私は生産中に問題に遭遇しません。

関連する問題