Reputation: 2133
I am trying to simulate a dummy parallel payment to 2 users using curl. I have done everything as per documentation but the problem is I am getting
Getting L_ERRORCODE0=10001& Timeout processing request
I dont know why.
My code is as follows:
<?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('[email protected]'),
'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('[email protected]'),
'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);
?>
Here is the vardump of the request:
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) "[email protected]"
["PAYMENTREQUEST_0_PAYMENTACTION"]=> string(5) "Order"
["PAYMENTREQUEST_0_PAYMENTREQUESTID"]=> string(18) "CART26485-PAYMENT0"
}
API Credentials removed intentionally.
And here is the response:
TIMESTAMP=2012%2d03%2d06T09%3a29%3a41Z
&CORRELATIONID=184b37b1fd85
&ACK=Failure
&L_ERRORCODE0=10001
&L_SHORTMESSAGE0=Internal%20Error
&L_LONGMESSAGE0=Timeout%20processing%20request
Upvotes: 3
Views: 4384
Reputation: 19356
If you're still seeing an error, remove;
["PAYMENTREQUEST_0_PAYMENTREQUESTID"]=> string(18) "CART26485-PAYMENT0"
Upvotes: 0
Reputation: 11640
I apologize for my oversight with my other answer. Please look at your code, and you will see that you only have one payment request, 0, but two sellers. You have to increase the 'n' in PAYMENTREQUEST_n_ to send multiple payments using parallel payments.
However, I must admit that whenever I send the same exact data as you, I get a 10400 "order total is missing", so I would look further into your code.
I get a successful response with the following:
API Request:
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
[email protected]
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
[email protected]
API Response:
TOKEN=EC-4XP542213W924160A
TIMESTAMP=2012-03-07T05:16:27Z
CORRELATIONID=357d629ee6eda
ACK=Success
VERSION=86.0
BUILD=2571254
Upvotes: 2
Reputation: 11640
Are you using a Payflow test credit card?
Payflow's test credit cards are banned in the sandbox, in a word. You will always get a 10001 response with the below Payflow test credit cards (see page 49 & 50):
Upvotes: 0