我使用 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 凭证)。
我究竟做错了什么?当我进行并行付款而不是单次付款时,是否需要设置其他变量?
问候,
克里斯
这是一个示例调用和响应:
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"
}