PayPal の Express Checkout API を使用して、並行支払いを行います。すべてが正常に機能し、受取人サイトでは、2 つの支払いが「オープン」として予約されています。
DoExpressCheckoutPayment の間、支払いごとにトランザクション ID を取得します。しかし、doCapture は「You%20do%20not%20have%20permissions%20to%20make%20this%20API%20call」で失敗します。数週間前に行った承認済みの支払いを一度も回収したことがなく、「Order%20has%20expired%2e」と表示されるだけです。これで問題ありません。
NVP API には次のパラメーターを使用します。
$parameters = array("METHOD"=>"DoCapture",
"AUTHORIZATIONID"=>$transactionid_item,
"AMT"=>$amt_item,
"CURRENCYCODE"=>$currencycode,
"COMPLETETYPE"=>"Complete"
);
もちろん、変数は各支払いに対応する値です。(および認証/API 資格情報)。
私は何を間違っていますか?1回の支払いではなく並行支払いを行う場合に設定する追加の変数はありますか?
よろしく、
クリス
これは呼び出しと応答の例です。
https://api-3t.sandbox.paypal.com/nvp?METHOD=DoCapture&AUTHORIZATIONID=O-67121848EA448750G&AMT=9.70&CURRENCYCODE=EUR&COMPLETETYPE=Complete&USER=xxx&PWD=xxx&SIGNATURE=xxx&VERSION=95.0
array(9) {
["TIMESTAMP"]=>
string(28) "2013%2d06%2d15T09%3a35%3a52Z"
["CORRELATIONID"]=>
string(12) "140dec053198"
["ACK"]=>
string(7) "Failure"
["VERSION"]=>
string(6) "95%2e0"
["BUILD"]=>
string(7) "6444009"
["L_ERRORCODE0"]=>
string(5) "10007"
["L_SHORTMESSAGE0"]=>
string(19) "Permission%20denied"
["L_LONGMESSAGE0"]=>
string(67) "You%20do%20not%20have%20permissions%20to%20make%20this%20API%20call"
["L_SEVERITYCODE0"]=>
string(5) "Error"
}