PayPal 订阅 - PDT 发票丢失

标签 paypal

我应该期待 PDT 或 IPN 响应中的“发票”字段吗?

我的网站上有一个 PayPal 订阅按钮。它正在与 PDT 和 IPN 合作:PDT 以显示“感谢购买!”页面和 IPN 以维护订阅状态。

一切都很好。

当我收到 PDT 和 IPN 回调时,PayPal 向我发送一条成功消息(更改值以保护无辜者):

SUCCESS
mc_gross=49.00
protection_eligibility=Eligible
address_status=confirmed
payer_id=ZFZYLPWTXSGYN
address_street=1+Main+St
payment_date=09%3A07%3A06+Feb+09%2C+2015+PST
payment_status=Completed
charset=windows-1252
address_zip=95131
first_name=Dummy
option_selection1=Monthly
mc_fee=1.72
address_country_code=US
address_name=Dummy+Foo
subscr_id=I-2T4YGK57T8B8
payer_status=verified
business=dummy%40dummyfoo.com
address_country=United+States
address_city=San+Jose
payer_email=foobarbuyer%40dummy.com
option_name1=Subscription+Options
txn_id=1WN39530SU726583X
payment_type=instant
last_name=Dummyfoo
address_state=CA
receiver_email=dummy-facilitator%40dummy.com
payment_fee=1.72
receiver_id=PB74Y6PMMDNNN
txn_type=subscr_payment
item_name=Sample+Subscription+Button
mc_currency=USD
residence_country=US
transaction_subject=Sample+Subscription+Button
payment_gross=49.00

太棒了!

但这就是问题所在:发票编号在哪里?我们的(遗留)代码期望 PayPal 在响应中向我们发送“发票”字段。我们在 PDT 或 IPN 回复中都没有得到这一信息。

最佳答案

我已经解决了这个问题,这是由于开发人员的困惑。

事实证明,问题是我的订阅按钮没有隐藏的发票字段。没有发票 HTML 字段,IPN 和 PDT 响应中没有“发票”字段。

为了解决这个问题,我在我的 PayPal 按钮中添加了一个发票字段:

<input type="hidden" name="invoice" value="123456">

根据 PayPal 开发人员文档,我不清楚发票编号是不是应该创建的;我认为这是 PayPal 为我创建的东西。

现在我正在创建自己的发票编号并在 PayPal 订阅按钮 HTML 中设置它(如上所示),我将在我的 PDT 和 IPN 回调中收到发票编号。

关于PayPal 订阅 - PDT 发票丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28415977/

相关文章:

PayPal OpenId 与 MVC 连接

asp.net - 使用 Asp.net 的 Paypal Mass Payment API(不接收来自 paypal 的响应)

php - 即使使用 Live 凭证,PayPal REST PHP SDK API 仍在访问 Sandbox

Paypal payflow订单摘要空白

dll - 2017 年 2 月 15 日之后,Payflow_dotNET.dll 是否不再适用于 Payflow Pilot 测试端点 pilot-payflowpro.paypal.com

javascript - 我网页上的 PayPal 捐赠确认

paypal - 如何获取 paypal 的实时 api 凭据?

php - 使用 PayPal 实现免费试用期

rest - Paypal Rest API Curl SSL : unable to get local issuer certificate

php - Paypal IPN 连续访问我的 IPN 页面并进行相同的交易