6

我目前很难理解我的 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

非常感谢!:)

4

1 回答 1

9

在您致电 DoExpressCheckout之前,付款不会发生。

在第一步(SetExpressCheckout + 重定向到 PayPal)中,买家授权您向他收费。现在,您可以通过调用 DoExpressCheckout 来真正获得他的钱。

如果您在 DoExpressCheckout 之后调用GetExpressCheckoutDetails,您应该会收到付款完成响应。

编辑:您可能希望在 DoExpresCheckout 之前调用 GetExpressCheckoutDetails 的一个原因是获取买家选择的地址,以防它可能会更改总数,因此它仍然是一个有效的用例。

于 2012-10-21T02:31:42.877 回答