使用createbutton api和ipn消息进行支付之间的关系

时间:2016-04-26 16:08:28

标签: paypal paypal-ipn paypal-buttons


我们的客户通过电子邮件发送他们的产品请求。他们的请求保存在我们的数据库中,在我们检查他们的请求后,我们希望向他们发送一封包含paypal付款链接的电子邮件。为了执行此操作,我使用Paypal的 ButtonManager API的 BMCreateButton 方法。

https://developer.paypal.com/docs/classic/api/button-manager/BMCreateButton_API_Operation_NVP/

此方法返回 EMAILLINK 参数,我在电子邮件中使用此参数将用户重定向到PayPal付款页面。此方法还会返回 HOSTEDBUTTONID ,我将此参数和 EMAILLINK 参数保存到数据库,以建立电子邮件链接( hostedbuttonid )和用户请求。

对于付款通知,我认为我唯一的选择是Paypal的IPN。我开发了一个处理来自paypal的IPN消息的页面,它运行正常,但当我想要将支付信息与发送给客户的电子邮件链接相关联时,问题就出现了。我的意思是我想知道这笔付款的要求。 IPN消息不会返回有关 HOSTEDBUTTONID 的任何信息。它返回 btn_id (不同于 HOSTEDBUTTONID ), txn_id ipn_track_id ,但它们都不能用于关联客户要求(或发送电子邮件)付款。

您对我的问题有任何建议吗?或者您认为我应该使用其他方式向用户发送付款电子邮件,而不是 BMCreateButton ButtonManager API的方法。

1 个答案:

答案 0 :(得分:0)

在BMCreateButton调用中,您要为该按钮设置标准PayPal变量,请添加CUSTOM参数。在其中你可以传递你想要的任何值(最多256个字符。),然后相同的值将返回到IPN,这样你就可以相应地联系它。

如果你有一个特定的订单ID,你可以改用INVOICE字段,这也会在IPN中回来。