如何回应paypal付款

Posted

技术标签:

【中文标题】如何回应paypal付款【英文标题】:How to respond to paypal payment 【发布时间】:2016-04-07 01:36:06 【问题描述】:

一些背景:我正在使用 NodeJS 和 Express 框架开发一个网站。用户可以在网站的一个部分进行颜色性格测试。当他们完成测试后,他们的所有答案(包括姓名、电子邮件和其他联系信息)都会通过 POST 发送到服务器。用户会被重定向到一个页面,他们可以在该页面上选择使用 Paypal 按钮支付对其个人资料的评估费用。

我的问题: IPN 侦听器被触发后,如何从原始测试表单中检索信息?我应该将用户的信息存储在数据库中吗?如果我这样做,我不确定在付款通知后如何检索正确的用户信息。

该过程应如下所示: 用户进行测试 > 结果发送到服务器 > 服务器将用户重定向到支付页面 > 用户支付 > 触发 IPN > 对测试结果执行某些操作(例如发送电子邮件或其他东西)。

【问题讨论】:

【参考方案1】:

在您的付款请求中,您可以在“发票”参数中包含一个记录 ID,假设您使用的是 PayPal 标准 html 代码。所以它看起来像这样:

<input type="hidden" name="invoice" value="1234" />

当然,您可以将 1234 替换为您保存在数据库中的记录 ID 的值。

该值将在 IPN 数据中返回为 $_POST['invoice'],因此您可以将数据从数据库中拉回。

如果您更愿意使用“custom”参数而不是“invoice”,您可以使用它来做同样的事情。

<input type="hidden" name="custom" value="1234" />

然后$_POST['custom'] 会在 IPN 中返回。

【讨论】:

谢谢!我什至可能只使用 JSON.stringify,这样我就可以在没有 db 的情况下发送信息。 这将与自定义参数一起使用。请记住,它限制为 256 个字符。

以上是关于如何回应paypal付款的主要内容,如果未能解决你的问题,请参考以下文章

使用 Codeigniter 的 Paypal 拆分付款/自适应付款。如何?

如何限制通过paypal账户付款?

PayPal付款后如何提交地址和付款详情的数据

如何取消Paypal自动付款功能

在 PayPal 付款后如何获取 TransactionID

如何获得 Paypal 付款以触发已经存在的确认电子邮件