I've spent the whole day googling why it's not working and can't really figure it out. I use PayPal Express to checkout an order. Order contains items and they are not visible on the confirmation email, neither anywhere under the paypal's dashboard.
They appear fine before paying (so the SetExpressCheckoutPayment
call works properly), but not with DoExpressCheckoutPayment. I pass over to DoExpressCheckoutPayment
the following parameters:
- TOKEN
- PAYERID
- PAYMENTACTION
- AMT
- CURRENCYCODE,
- L_PAYMENTREQUEST_0_QTY0
- L_PAYMENTREQUEST_0_AMT0
- L_PAYMENTREQUEST_0_NAME0
- L_PAYMENTREQUEST_0_DESC0 (the digits at the end increase with next items)
- PAYMENTREQUEST_0_CURRENCYCODE
- PAYMENTREQUEST_0_ITEMAMT
The response I get:
[TOKEN] => xxxx
[SUCCESSPAGEREDIRECTREQUESTED] => true
[TIMESTAMP] => 2014%2d02%2d25T18%3a32%3a07Z
[CORRELATIONID] => 21459a872dc21
[ACK] => Success
[VERSION] => 76%2e0
[BUILD] => 9720069
[TRANSACTIONID] => xxx
[RECEIPTID] => xxxx
[TRANSACTIONTYPE] => expresscheckout
[PAYMENTTYPE] => instant
[ORDERTIME] => 2014%2d02%2d25T18%3a32%3a06Z
[AMT] => 1%2e00
[FEEAMT] => 0%2e23
[TAXAMT] => 0%2e00
[CURRENCYCODE] => GBP
[PAYMENTSTATUS] => Completed
[PENDINGREASON] => None
[REASONCODE] => None
[PROTECTIONELIGIBILITY] => Eligible
[INSURANCEOPTIONSELECTED] => false
[SHIPPINGOPTIONISDEFAULT] => false
[PAYMENTINFO_0_TRANSACTIONID] => xxx
[PAYMENTINFO_0_RECEIPTID] => xxx
[PAYMENTINFO_0_TRANSACTIONTYPE] => expresscheckout
[PAYMENTINFO_0_PAYMENTTYPE] => instant
[PAYMENTINFO_0_ORDERTIME] => 2014%2d02%2d25T18%3a32%3a06Z
[PAYMENTINFO_0_AMT] => 1%2e00
[PAYMENTINFO_0_FEEAMT] => 0%2e23
[PAYMENTINFO_0_TAXAMT] => 0%2e00
[PAYMENTINFO_0_CURRENCYCODE] => GBP
[PAYMENTINFO_0_PAYMENTSTATUS] => Completed
[PAYMENTINFO_0_PENDINGREASON] => None
[PAYMENTINFO_0_REASONCODE] => None
[PAYMENTINFO_0_PROTECTIONELIGIBILITY] => Eligible
[PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE] => ItemNotReceivedEligible%2cUnauthorizedPaymentEligible
[PAYMENTINFO_0_SECUREMERCHANTACCOUNTID] => xxxx
[PAYMENTINFO_0_ERRORCODE] => 0
[PAYMENTINFO_0_ACK] => Success
How can we crack this?
You have to pass all of the same item details into DECP just like you do with SEC, otherwise they will not be included in the payment.
DECP is the end all, be all. Any data sent to PayPal within DECP is what gets included in the payment details. Nothing more, nothing less.