PayPal 订阅 - PDT 发票丢失
PayPal subscription - PDT invoice missing
我应该期待 PDT 或 IPN 响应中的 "invoice" 字段吗?
我的网站上有一个 PayPal 订阅按钮。它与 PDT 和 IPN 一起工作:PDT 显示 "thanks for buying!" 页面,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 在响应中向我们发送一个 "invoice" 字段。我们在 PDT 或 IPN 回复中都没有得到。
我已经解决了这个问题,这是由于开发人员的困惑。
事实证明,问题是我的订阅按钮没有隐藏的发票字段。 IPN 和 PDT 响应中没有发票 HTML 字段,也没有 "invoice" 字段。
为了解决这个问题,我在我的 PayPal 按钮中添加了发票字段:
<input type="hidden" name="invoice" value="123456">
根据 PayPal 开发者文档,我不清楚发票号码是我应该创建的东西;我以为这是 PayPal 为我创建的东西。
现在我正在创建自己的发票编号并在 PayPal 订阅按钮中设置它 HTML(如上所示),我在 PDT 和 IPN 回调中收到了发票编号。
我应该期待 PDT 或 IPN 响应中的 "invoice" 字段吗?
我的网站上有一个 PayPal 订阅按钮。它与 PDT 和 IPN 一起工作:PDT 显示 "thanks for buying!" 页面,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 在响应中向我们发送一个 "invoice" 字段。我们在 PDT 或 IPN 回复中都没有得到。
我已经解决了这个问题,这是由于开发人员的困惑。
事实证明,问题是我的订阅按钮没有隐藏的发票字段。 IPN 和 PDT 响应中没有发票 HTML 字段,也没有 "invoice" 字段。
为了解决这个问题,我在我的 PayPal 按钮中添加了发票字段:
<input type="hidden" name="invoice" value="123456">
根据 PayPal 开发者文档,我不清楚发票号码是我应该创建的东西;我以为这是 PayPal 为我创建的东西。
现在我正在创建自己的发票编号并在 PayPal 订阅按钮中设置它 HTML(如上所示),我在 PDT 和 IPN 回调中收到了发票编号。