我目前正在努力了解PayPal EC集成的响应。
GetExpressCheckoutDetails响应是
[CHECKOUTSTATUS] => PaymentActionNotInitiated
但是在DoExpressCheckout响应中,
[PAYMENTINFO_0_PAYMENTSTATUS] => Completed
我很困惑,这是否意味着买家已被收费并且付款成功与否?我在PayPal论坛和门户网站上找不到答案...... weeeew
以下是完整的回复详情:
GetExpressCheckout回复:
[TOKEN] => EC-76768931K5394210Y
[CHECKOUTSTATUS] => PaymentActionNotInitiated
[TIMESTAMP] => 2012-10-20T07:15:22Z
[CORRELATIONID] => 2b85ff556730a
[ACK] => Success
[VERSION] => 94.0
[BUILD] => 3926908
[EMAIL] => testpp_per_1348562981_per@gmail.com
[PAYERID] => 3PCFRVX65A7Y8
[PAYERSTATUS] => verified
[FIRSTNAME] => Test
[LASTNAME] => Peepee
[COUNTRYCODE] => US
[CURRENCYCODE] => PHP
[AMT] => 895.00
[ITEMAMT] => 895.00
[SHIPPINGAMT] => 0.00
[HANDLINGAMT] => 0.00
[TAXAMT] => 0.00
[INVNUM] => 1231313213213
[INSURANCEAMT] => 0.00
[SHIPDISCAMT] => 0.00
[L_NAME0] => Test Item
[L_QTY0] => 1
[L_TAXAMT0] => 0.00
[L_AMT0] => 895.00
[L_ITEMWEIGHTVALUE0] => 0.00000
[L_ITEMLENGTHVALUE0] => 0.00000
[L_ITEMWIDTHVALUE0] => 0.00000
[L_ITEMHEIGHTVALUE0] => 0.00000
[PAYMENTREQUEST_0_CURRENCYCODE] => PHP
[PAYMENTREQUEST_0_AMT] => 895.00
[PAYMENTREQUEST_0_ITEMAMT] => 895.00
[PAYMENTREQUEST_0_SHIPPINGAMT] => 0.00
[PAYMENTREQUEST_0_HANDLINGAMT] => 0.00
[PAYMENTREQUEST_0_TAXAMT] => 0.00
[PAYMENTREQUEST_0_INVNUM] => 1231313213213
[PAYMENTREQUEST_0_INSURANCEAMT] => 0.00
[PAYMENTREQUEST_0_SHIPDISCAMT] => 0.00
[PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED] => false
[L_PAYMENTREQUEST_0_NAME0] => Test Item
[L_PAYMENTREQUEST_0_QTY0] => 1
[L_PAYMENTREQUEST_0_TAXAMT0] => 0.00
[L_PAYMENTREQUEST_0_AMT0] => 895.00
[L_PAYMENTREQUEST_0_ITEMWEIGHTVALUE0] => 0.00000
[L_PAYMENTREQUEST_0_ITEMLENGTHVALUE0] => 0.00000
[L_PAYMENTREQUEST_0_ITEMWIDTHVALUE0] => 0.00000
[L_PAYMENTREQUEST_0_ITEMHEIGHTVALUE0] => 0.00000
[PAYMENTREQUESTINFO_0_ERRORCODE] => 0
DoExpressCheckout回复:
[TOKEN] => EC-76768931K5394210Y
[SUCCESSPAGEREDIRECTREQUESTED] => false
[TIMESTAMP] => 2012-10-20T07:15:27Z
[CORRELATIONID] => ec7af38c18968
[ACK] => Success
[VERSION] => 94.0
[BUILD] => 3926908
[INSURANCEOPTIONSELECTED] => false
[SHIPPINGOPTIONISDEFAULT] => false
[PAYMENTINFO_0_TRANSACTIONID] => 02800680NT5556907
[PAYMENTINFO_0_TRANSACTIONTYPE] => expresscheckout
[PAYMENTINFO_0_PAYMENTTYPE] => instant
[PAYMENTINFO_0_ORDERTIME] => 2012-10-20T07:15:26Z
[PAYMENTINFO_0_AMT] => 895.00
[PAYMENTINFO_0_FEEAMT] => 49.91
[PAYMENTINFO_0_TAXAMT] => 0.00
[PAYMENTINFO_0_CURRENCYCODE] => PHP
[PAYMENTINFO_0_PAYMENTSTATUS] => Completed
[PAYMENTINFO_0_PENDINGREASON] => None
[PAYMENTINFO_0_REASONCODE] => None
[PAYMENTINFO_0_PROTECTIONELIGIBILITY] => Ineligible
[PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE] => None
[PAYMENTINFO_0_SECUREMERCHANTACCOUNTID] => K3TTNE7MKRJUN
[PAYMENTINFO_0_ERRORCODE] => 0
[PAYMENTINFO_0_ACK] => Success
非常感谢! :)
答案 0 :(得分:9)
直到您致电DoExpressCheckout才会付款。
在第一步(SetExpressCheckout +重定向到PayPal),买方授权您向其收取费用。现在,您可以通过致电DoExpressCheckout来获得他的钱。
如果您在 DoExpressCheckout之后调用GetExpressCheckoutDetails ,则应收到付款已完成的回复。
编辑: 您可能希望在DoExpresCheckout之前调用GetExpressCheckoutDetails的一个原因是获取买方选择的地址,以防它可能更改总数,因此它仍然是有效的用例。