使用 createbutton api 进行的付款与 ipn 消息之间的关系
Posted
技术标签:
【中文标题】使用 createbutton api 进行的付款与 ipn 消息之间的关系【英文标题】:Relation between payment made with createbutton api and ipn message 【发布时间】:2016-08-20 14:20:00 【问题描述】:我们的客户通过电子邮件发送他们对我们产品的请求。他们的请求保存在我们的数据库中,在我们检查他们的请求后,我们想向他们发送一封包含贝宝付款链接的电子邮件。为了执行此操作,我使用了 Paypal 的 ButtonManager API 的 BMCreateButton 方法。
https://developer.paypal.com/docs/classic/api/button-manager/BMCreateButton_API_Operation_NVP/
此方法返回 EMAILLINK 参数,我在电子邮件中使用此参数将用户重定向到贝宝付款页面。此方法还返回 HOSTEDBUTTONID,我将此参数和 EMAILLINK 参数保存到数据库中,以在电子邮件链接(hostedbuttonid)和用户请求。
对于付款通知,我认为我唯一的选择是 Paypal 的 IPN。我开发了一个页面来处理来自贝宝的 IPN 消息,它工作正常,但是当我想将付款信息与发送给客户的电子邮件链接联系起来时,问题就出现了。我的意思是我想知道这笔付款是针对哪个请求进行的。 IPN 消息不返回有关 HostedBUTTONID 的任何信息。它返回 btn_id(不同于 HOSTEDBUTTONID)、txn_id 和 ipn_track_id,但它们对于关联客户要求(或发送电子邮件)付款。
您对我的问题有什么建议吗?还是您认为我应该使用另一种方式向用户发送付款电子邮件,而不是 ButtonManager API 的 BMCreateButton 方法。
【问题讨论】:
【参考方案1】:在为按钮设置标准 PayPal 变量的 BMCreateButton 调用中,添加 CUSTOM 参数。在其中,您可以传递您想要的任何值(最多 256 个字符),然后相同的值将返回 IPN,以便您可以相应地关联它。
如果您有一个特定的订单 ID,您可以改用 INVOICE 字段,这也会在 IPN 中返回。
【讨论】:
请查看here 谢谢安德鲁。我昨天也找到了这个自定义参数解决方案。再次感谢。以上是关于使用 createbutton api 进行的付款与 ipn 消息之间的关系的主要内容,如果未能解决你的问题,请参考以下文章
在opencv2.4.5(Qt gui特性)中使用createButton segfault
使用 Paypal Website Payments Pro API 进行现场定期付款
如何在 c# 中使用 rest api 进行 paypal 卡存在(刷卡)付款?
Paypal 一次性购买和定期付款,通过 rest api 使用快速结帐在单笔交易中进行