【问题标题】:Why does PayPal PDT return all variables in Return URL query string instead of just transaction id?为什么 PayPal PDT 在返回 URL 查询字符串中返回所有变量,而不仅仅是交易 ID?
【发布时间】:2016-09-13 22:14:02
【问题描述】:

我有一个支持 ReturnURL 和 PDT 的 PayPal 订阅按钮。此按钮在 ASP.Net 中的 aspx 页面上使用。

问题是一旦paypal上的交易完成,所有的PDT变量都会在ReturnURL页面中作为查询字符串变量返回;我以为只有 transactionid(即 tx)会在 ReturnURL 的查询字符串中返回,我必须将此交易 ID 和我的令牌发布到 PayPal 以获取其他交易详细信息,如交易状态等。

问题为什么 PDT 会返回所有变量,例如交易状态、项目编号、金额和货币代码,而不仅仅是文档中提到的交易 ID?

这意味着我不必编写代码来通过从 ReturnURL 页面发布到 PayPal 来获取其他交易详细信息,因为我已经从 ReturnURL 的查询字符串中获取了所有详细信息,但这听起来与 PayPal 文档所说的不符。

交易完成后返回URL

HTTP://localhost/xyz/pp.aspx C = 0&TX = 3MA744263S4136832&ST =完成&AMT = 100%2e00&CC = USD&厘米=&ITEM_NUMBER = brokerplans&SIG = mVojxSFzXH%2fk0RBOwUAMe8kq8jt7glCdnKYFfk9kZxWkuqru4wM1yfkD8FiAJVaoHeGlWY252ZiWwuCw0VJ8L8RU%2bUtnzGTVEgq3w1MQbqsCfZUwImlIfo%2fgV88wYf8V%2fgNgUmVCxBweZ8faFsKDlRr08julLC7ancjIDOkOY2o%3D P>

https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/paymentdatatransfer/ 上的 PayPal 文档显示以下作为 PDT 的工作流程:

【问题讨论】:

    标签: asp.net paypal paypal-pdt


    【解决方案1】:

    经过我身边的更多研究,我终于得到了答案。

    回答: PayPal 使用 ReturnURL 发送的查询字符串变量只是一小部分 PDT 交易变量,开发人员需要按照文档中的说明 POST 到 PayPal 以获得完整/完整的交易变量集。

    因此,即使您在 ReturnURL 查询字符串变量中得到 st=Completed,您也必须 POST 到 PayPal。

    在我的情况下,在我根据我的 ReturnURL aspx 页面的 Page_Load 事件的 PayPal 文档进行 POST 后,我得到了更多变量,如下所示。

    你可以看到payment_status在这个完整的集合中被返回,在ReturnURL接收的查询字符串变量中被另一个名字st调用。事务 id 也是如此,在查询字符串变量中称为 tx,但在 POST 响应中称为 txn_id

    从 ReturnURL aspx 页面 POST 到 PayPal 后从 PayPal 收到的变量

    SUCCESS
    transaction_subject=Plans
    payment_date=11%3A12%3A13+May+17%2C+2016+PDT
    txn_type=subscr_payment
    subscr_id=I-BRSWRVNGN324
    last_name=buyer
    option_selection1=Basic
    residence_country=US
    item_name=Plans
    payment_gross=100.00
    mc_currency=USD
    business=xyz123-facilitator%40gmail.com
    payment_type=instant
    protection_eligibility=Ineligible
    payer_status=verified
    payer_email=sun21170-buyer%40gmail.com
    txn_id=3MA744263S4136832
    receiver_email=abc123-facilitator%40gmail.com
    first_name=test
    option_name1=Plan+Options
    payer_id=45HWR9TGYNPD8
    receiver_id=9H9UCPFXX96KG
    item_number=brokerplans
    payment_status=Completed
    payment_fee=3.20
    mc_fee=3.20
    btn_id=3335152
    mc_gross=100.00
    charset=windows-1252
    

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2014-07-21
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多