php - Getting L_ERRORCODE0=10001&超时处理请求

标签 php paypal paypal-sandbox paypal-adaptive-payments

我正在尝试使用 curl 模拟对 2 个用户的虚拟并行支付。 我已按照文档完成所有操作,但问题是我得到了

Getting L_ERRORCODE0=10001& Timeout processing request

我不知道为什么。

我的代码如下:

<?php
   $data = array(
     'USER'=>urlencode('xxx'),
     'PWD'=>urlencode('xxxx'),
     'SIGNATURE'=>urlencode('xxxx'),
     'VERSION'=>urlencode('86.0'),
     'METHOD'=>urlencode('SetExpressCheckout'),
     'RETURNURL'=>urlencode('http://75.125.190.162:7132/sample/php_nvp_samples/myCheckout.php'),
     'CANCELURL'=>urlencode('http://75.125.190.162:7132/sample/php_nvp_samples/myCheckout.php'),
     'PAYMENTREQUEST_0_CURRENCYCODE'=>urlencode('USD'),
     'PAYMENTREQUEST_0_AMT'=>urlencode('300'),
     'PAYMENTREQUEST_0_ITEMAMT'=>urlencode('200'),
     'PAYMENTREQUEST_0_TAXAMT'=>urlencode('100'),
     'PAYMENTREQUEST_0_DESC'=>urlencode('Summer Vacation trip'),
     'PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID'=>urlencode('himans_1331094418_biz@smartdatainc.net'),
     'PAYMENTREQUEST_0_PAYMENTACTION'=>urlencode('Order'),
     'PAYMENTREQUEST_0_PAYMENTREQUESTID'=>urlencode('CART26488-PAYMENT0'),
     'PAYMENTREQUEST_1_CURRENCYCODE'=>urlencode('USD'),
     'PAYMENTREQUEST_1_AMT'=>urlencode('100'),
     'PAYMENTREQUEST_1_ITEMAMT'=>urlencode('50'),
     'PAYMENTREQUEST_1_TAXAMT'=>urlencode('50'),
     'PAYMENTREQUEST_1_DESC'=>urlencode('Dancing class'),
     'PAYMENTREQUEST_1_SELLERPAYPALACCOUNTID'=>urlencode('himans_1320303266_biz@smartdatainc.net'),
     'PAYMENTREQUEST_1_PAYMENTACTION'=>urlencode('Order'),
     'PAYMENTREQUEST_1_PAYMENTREQUESTID'=>urlencode('CART26485-PAYMENT0')
  );

  $curl = curl_init('https://api-3t.sandbox.paypal.com/nvp');                       
        curl_setopt($curl,CURLOPT_RETURNTRANSFER ,1);                              
        curl_setopt($curl,CURLOPT_HTTPGET ,true);                                    
        curl_setopt($curl,CURLOPT_POSTFIELDS ,$data);              
   $response = curl_exec($curl);
   echo $response;
   exit;
   curl_close($curl);         
?>

这是请求的转储:

array(15) { 
  ["USER"]=> string(43) "XXX"
  ["PWD"]=> string(10) "XXX"
  ["SIGNATURE"]=> string(56) "XXX"
  ["VERSION"]=> string(4) "56.0"
  ["METHOD"]=> string(18) "SetExpressCheckout"
  ["RETURNURL"]=> string(78)
    "http%3A%2F%2F75.125.190.162%3A7132%2Fsample%2Fphp_nvp_samples%2FmyCheckout.php"
  ["CANCELURL"]=> string(78)
    "http%3A%2F%2F75.125.190.162%3A7132%2Fsample%2Fphp_nvp_samples%2FmyCheckout.php"
  ["PAYMENTREQUEST_0_CURRENCYCODE"]=> string(3) "USD"
  ["PAYMENTREQUEST_0_AMT"]=> string(3) "100"
  ["PAYMENTREQUEST_0_ITEMAMT"]=> string(2) "50"
  ["PAYMENTREQUEST_0_TAXAMT"]=> string(2) "20"
  ["PAYMENTREQUEST_0_DESC"]=> string(13) "Dancing class"
  ["PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID"]=> string(21) "seller-136@paypal.com"
  ["PAYMENTREQUEST_0_PAYMENTACTION"]=> string(5) "Order"
  ["PAYMENTREQUEST_0_PAYMENTREQUESTID"]=> string(18) "CART26485-PAYMENT0"
} 

有意删除了 API 凭据。

这是响应:

   TIMESTAMP=2012%2d03%2d06T09%3a29%3a41Z
  &CORRELATIONID=184b37b1fd85
  &ACK=Failure
  &L_ERRORCODE0=10001
  &L_SHORTMESSAGE0=Internal%20Error
  &L_LONGMESSAGE0=Timeout%20processing%20request

最佳答案

对于我在其他回答中的疏忽,我深表歉意。请看你的代码,你会看到你只有一个付款请求,0,但是有两个卖家。您必须增加 PAYMENTREQUEST_n_ 中的“n”才能使用并行付款发送多笔付款。

但是,我必须承认,每当我发送与您完全相同的数据时,我都会收到 10400“订单总数丢失”,因此我会进一步查看您的代码。

我得到了以下成功响应:

API 请求:

 USER=*************************** 
 PWD=***************************
 SIGNATURE=***************************
 METHOD=SetExpressCheckout 
 VERSION=86.0 
 RETURNURL=http://www.site.com/checkout.php 
 CANCELURL=http://www.site.com/cancel.php 
 PAYMENTREQUEST_0_PAYMENTACTION=Sale 
 PAYMENTREQUEST_0_AMT=524.20 
 PAYMENTREQUEST_0_ITEMAMT=458.00 
 PAYMENTREQUEST_0_SHIPPINGAMT=20.00 
 PAYMENTREQUEST_0_TAXAMT=46.20 
 PAYMENTREQUEST_0_CURRENCYCODE=USD 
 PAYMENTREQUEST_0_DESC=test EC payment 
 PAYMENTREQUEST_0_PAYMENTREQUESTID=111 
 L_PAYMENTREQUEST_0_NAME0=Books 
 L_PAYMENTREQUEST_0_AMT0=154.00 
 L_PAYMENTREQUEST_0_NUMBER0=ABC123 
 L_PAYMENTREQUEST_0_QTY0=2 
 L_PAYMENTREQUEST_0_NAME1=CDs 
 L_PAYMENTREQUEST_0_AMT1=50.00 
 L_PAYMENTREQUEST_0_NUMBER1=BY-Z4736 
 L_PAYMENTREQUEST_0_QTY1=3 
 PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=seller1@paypal.com 
 PAYMENTREQUEST_1_PAYMENTACTION=Sale 
 PAYMENTREQUEST_1_AMT=494.20 
 PAYMENTREQUEST_1_ITEMAMT=428.00 
 PAYMENTREQUEST_1_SHIPPINGAMT=20.00 
 PAYMENTREQUEST_1_TAXAMT=46.20 
 PAYMENTREQUEST_1_CURRENCYCODE=USD 
 PAYMENTREQUEST_1_DESC=test EC payment 
 PAYMENTREQUEST_1_PAYMENTREQUESTID=222 
 L_PAYMENTREQUEST_1_NAME0=DVDs 
 L_PAYMENTREQUEST_1_AMT0=154.00 
 L_PAYMENTREQUEST_1_NUMBER0=ABC123 
 L_PAYMENTREQUEST_1_QTY0=2 
 L_PAYMENTREQUEST_1_NAME1=Computers 
 L_PAYMENTREQUEST_1_AMT1=40.00 
 L_PAYMENTREQUEST_1_NUMBER1=BY-Z4736 
 L_PAYMENTREQUEST_1_QTY1=3 
 PAYMENTREQUEST_1_SELLERPAYPALACCOUNTID=seller2@paypal.com

API 响应:

TOKEN=EC-4XP542213W924160A
TIMESTAMP=2012-03-07T05:16:27Z
CORRELATIONID=357d629ee6eda
ACK=Success
VERSION=86.0
BUILD=2571254

关于php - Getting L_ERRORCODE0=10001&超时处理请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9579977/

相关文章:

php - Mongodb 数据库上的 SASL 身份验证失败

php - php函数也会影响子目录吗?

paypal - 适用于我们在线市场的自适应支付与网站支付专业版

curl - 更新 Paypal 计费计划(payment_definitions)

php - JavaScript 表单已提交,但发布数据在 PHP 中不可用

php - 在 MAMP 上安装 PECL

asp.net - 检查服务器证书 asp.net Paypal

android - 与 Android 的 Paypal 集成

paypal - 如何进行PayPal Payflow测试交易?

php - PayPal PHP SDK 不适用于订阅,获取 RESOURCE_NOT_FOUND