【问题标题】:PayPal Express Checkout Integration ResponsePayPal Express Checkout 集成响应
【发布时间】:2012-10-10 18:53:00
【问题描述】:

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

非常感谢! :)

【问题讨论】:

    标签: paypal


    【解决方案1】:

    致电 DoExpressCheckout 之前不会进行付款。

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

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

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

    【讨论】:

    • 我明白了,这就是它令人困惑的原因。我遵循了 PayPal Express Checkout 集成指南(最后更新时间:2012 年 8 月 7 日),其中它是 SetExpressCheckout -> GetExpressCheckoutDetails -> DoExpressCheckoutPayment。好的,我将忽略 GetExpressCheckout checkout_status 并使用 DoExpressCheckoutPayment 返回的数据进行处理。谢谢! :)
    • 正确,我们在DoExpressCheckout之前做GetExpressCheckoutDetails来获取国家,这样我们就可以决定是否添加VAT TAX..
    猜你喜欢
    • 2014-02-27
    • 2017-02-08
    • 2013-06-05
    • 2018-04-11
    • 1970-01-01
    • 2016-07-14
    • 2013-11-14
    • 2015-09-10
    • 2015-10-22
    相关资源
    最近更新 更多