PayPal 订阅 - 缺少 PDT 发票

Posted

技术标签:

【中文标题】PayPal 订阅 - 缺少 PDT 发票【英文标题】:PayPal subscription - PDT invoice missing 【发布时间】:2015-04-09 13:24:51 【问题描述】:

我应该在 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 响应中都没有得到。

【问题讨论】:

如果您没有在 IPN/PDT 中取回它,那么它必须包含在原始付款详细信息中。您能否提供一份您的按钮代码副本,表明确实包含发票参数? 是的。从文档中我不清楚我是必须创建发票编号的人。将其放入订阅按钮 html 标记后,我开始在 IPN 和 PDT 回调中接收发票字段。 【参考方案1】:

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

原来,问题在于我的订阅按钮没有隐藏发票字段。没有发票 HTML 字段,IPN 和 PDT 响应中没有“发票”字段。

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

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

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

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

【讨论】:

为了将来参考,如果您曾经使用过实际的 PayPal Invoicing API,那么它们会为您创建一个 Invoice ID,但是您仍然可以包含您自己的。在这种情况下,您将在 IPN 中同时获得“invoice”和“invoice_number”。一个是 PayPal 的,一个是你的。

以上是关于PayPal 订阅 - 缺少 PDT 发票的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 沙盒配置 - Paymentbuttons:缺少订阅选项

如何识别到达免费试用订阅的返回 URL 的 PayPal 用户?

PayPal PDT 身份验证参数

PayPal成功付款

PayPal订阅IPN下次结算日期

缺少 PAYPAL IPN 自定义字段