【问题标题】:Express Checkout Return URL C#快速结帐返回 URL C#
【发布时间】:2015-12-05 22:58:24
【问题描述】:

我在 C# 中使用 PayPal API 并调用 .SetExpressCheckout(),返回 url 为: http://www.MyWebsite.com/Success?transactionId={DynamicToken}

PayPal 是否有可能没有返回我指定的 transactionId 令牌,或者这不太可能?我正在尝试诊断一些随机错误(来自数百个成功的交易),并且想知道它是否会删除我在返回 URL 中指定的参数?

还可以假设如果 PayPal 返回“成功”但我不调用 .DoExpressCheckout() 表示没有收到任何钱,我可以重新开始吗?

【问题讨论】:

    标签: api paypal paypal-adaptive-payments


    【解决方案1】:

    SetExpressCheckout 将始终返回如下响应:

    NVP Response:
    TOKEN=EC-8FL80454MK5202351
    TIMESTAMP=2015-09-10T02:53:36Z
    CORRELATIONID=bff60e96e81c4
    ACK=Success
    VERSION=109.0
    BUILD=000000 
    

    您需要重定向到结帐页面

    https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-8FL80454MK5202351

    买家登录完成后,会跳转到你的returnurl+EC-token+payerid

    http://index.php?action=ECreturn&token=EC-8FL80454MK5202351&PayerID=7SGRP23PR8MWY

    因此,PayPal 总是会返回 EC-Token,在此之后您需要调用 Doexpresscheckout API 来完成付款,否则交易不完整。

    VERSION = 109.0
    METHOD = DoExpressCheckoutPayment
    TOKEN = EC-8FL80454MK5202351
    PAYMENTACTION = Sale
    PAYERID = 7SGRP23PR8MWY
    AMT = 0.01
    

    例如,如果您有这样的返回网址

    RETURNURL = index.php?action=ECreturn?test=1
    

    那么在 Setexpresscheckout 完成后,Paypal 会重定向到以下 URL

    index.php?action=ECreturn?test=1&token=EC-5K62958L49079615&PayerID=7SGRP23PR8MWY
    

    【讨论】:

    • 但是如果你在你的url中添加一个额外的参数,它会一直返回吗?还是只保证返回Payer ID和EC-Token?
    • 它将返回您在返回 url 作为查询字符串参数中传递的任何内容,更新答案
    猜你喜欢
    • 2014-03-01
    • 2011-12-12
    • 2014-12-07
    • 2013-03-05
    • 2017-11-22
    • 2012-02-28
    • 2011-08-10
    • 2014-03-01
    • 2011-06-16
    相关资源
    最近更新 更多