Paypal Express签出(PHP):事务id无效(DoAuthorization)

Paypal Express签出(PHP):事务id无效(DoAuthorization),php,curl,paypal,Php,Curl,Paypal,我正在使用Paypal Express结帐方法来结帐我的购物车。paypal支付工作正常。 交易后,我使用了沙箱帐户中正确的TRANSACTIONID,但给定的代码总是返回错误交易id无效 $request_params = array ( 'METHOD' => 'DoAuthorization', 'USER' => $api_username, 'PWD' => $api_password,

我正在使用Paypal Express结帐方法来结帐我的购物车。paypal支付工作正常。 交易后,我使用了沙箱帐户中正确的
TRANSACTIONID
,但给定的代码总是返回错误
交易id无效

  $request_params = array
        (
        'METHOD' => 'DoAuthorization',
        'USER' => $api_username,
        'PWD' => $api_password,
        'VERSION' => $api_version,
        'TRANSACTIONID'=>$payment['transaction_id'],
        'AMT' => $order['sub_total'],
        'CURRENCYCODE' => 'USD',
        );

   $nvp_string = '';

   foreach ($request_params as $var => $val)
   {
     $nvp_string .= '&' . $var . '=' . urlencode($val);
   }

   $certFile = 'C:\xampp\htdocs\my_project\certificate\cert_key_pem.txt';

   $curl = curl_init();
   curl_setopt($curl, CURLOPT_VERBOSE, 1);
   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
   curl_setopt($curl, CURLOPT_TIMEOUT, 10);
   curl_setopt($curl, CURLOPT_URL, $api_endpoint);
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($curl, CURLOPT_SSLCERT, $certFile);
   curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string

   $result = curl_exec($curl);
   curl_close($curl);

   $result_array = $this->NVPToArray($result);
   echo "<pre>"; print_r($result_array); die();

如果您对Paypal Express签出
DoAuthorization
上的此类错误有任何想法,请帮助我。谢谢

这可能会帮助您。您需要提供更多信息,以便人们帮助您。贝宝说你有一个无效的交易ID,你声称它是有效的。。。但是你没有告诉我们这是什么/你是怎么得到的。没有这些信息,他说她说了,我打赌贝宝是正确的:)。当然,我无法帮助您纠正神秘事务ID的任何错误。可能有很多问题:是否都/全部调用了沙盒?你完成DoEC了吗?交易是订单吗?是否仍处于打开/挂起状态?您是否在$payment[]ref中提取了正确的字段,或者在DoAuth调用时该字段已丢失?等等。我已将
'PAYMENTREQUEST\u 0\u PAYMENTACTION'=>'SALE',
更改为
'PAYMENTREQUEST\u 0\u PAYMENTACTION'=>'ORDER',
,现在它工作正常。你的建议帮助我找到了解决办法。谢谢你
geewiz
:)也许这会帮助你,你需要提供更多的信息,以便人们帮助你。贝宝说你有一个无效的交易ID,你声称它是有效的。。。但是你没有告诉我们这是什么/你是怎么得到的。没有这些信息,他说她说了,我打赌贝宝是正确的:)。当然,我无法帮助您纠正神秘事务ID的任何错误。可能有很多问题:是否都/全部调用了沙盒?你完成DoEC了吗?交易是订单吗?是否仍处于打开/挂起状态?您是否在$payment[]ref中提取了正确的字段,或者在DoAuth调用时该字段已丢失?等等。我已将
'PAYMENTREQUEST\u 0\u PAYMENTACTION'=>'SALE',
更改为
'PAYMENTREQUEST\u 0\u PAYMENTACTION'=>'ORDER',
,现在它工作正常。你的建议帮助我找到了解决办法。谢谢你
geewiz
:)
   Array
   (
    [TIMESTAMP] => 2015-08-10T07:45:36Z
    [CORRELATIONID] => deb2f549572b0
    [ACK] => Failure
    [VERSION] => 85.0
    [BUILD] => 000000
    [L_ERRORCODE0] => 10609
    [L_SHORTMESSAGE0] => Invalid transactionID.
    [L_LONGMESSAGE0] => Transaction id is invalid.
    [L_SEVERITYCODE0] => Error
   )