1

在过去的两天里一直被这个问题困扰。

设想

我们有一个基于网络的产品,用户可以免费注册 14 天,然后每月订阅 60.00 美元。一旦用户点击“使用 Paypal 支付”按钮,页面将把用户带到 Paypal,一旦他们完成付款,它就会重定向回我们的网站。传递的所有参数看起来都很好,因为我使用沙盒作为商家和用户进行了测试。我们在网站支付首选项下的商家资料设置中使用了返回 URL 属性。

研究

大多数类似的问题是使用 PayPal 实施免费试用期,Paypal 订阅免费试用不起作用,但我的问题有点不同。第一个问题中指出的文件也不是有效链接。

问题

当用户返回我们的网站时,我们无法检索我们在初始重定向到 PayPal 期间传入的自定义变量。基本上它只是一个没有任何查询字符串或 post 参数的空白重定向。但后来我尝试在前 14 天收取一定金额而不是免费,然后返回所有查询字符串。我们的流程取决于我们将支付宝 ID 与实际客户数据映射的自定义参数。

我们的代码看起来像,

<form name='paypal' action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post'>
<input type='hidden' name='business' value='xxx@xxxxx.com'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='cmd' value='_xclick-subscriptions'>
<input type='hidden' name='a3' value='60.00'>
<input type='hidden' name='item_name' value='Product A'>"
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='custom' value='parameter1|parameter2'>
<input type='hidden' name='item_number' value='PlanCode'>
<input type='hidden' name='p3' value='1'>"
<input type='hidden' name='t3' value='M'>"
<input type='hidden' name='a1' value='0'>" 
<input type='hidden' name='p1' value='14'>" 
<input type='hidden' name='t1' value='D'> 
</form>

我尝试添加,

<input type='hidden' name='rm' value='1'>

但没有运气。

问题

  1. 为什么我在“a1 = 0”14天时无法获取回调参数?但是如果我将“a1”设置为大于 0,相同的代码是否有效?
  2. 我是否缺少任何参数?或者我在回电时使用了错误的方法?(我正在使用返回 URL)
  3. 使用 IPN 怎么样?我从 PayPal 网站了解到 IPN 不是实时的。由于我们的应用程序依赖于下一个注册流程的自定义数据,我想知道可以使用它吗?如果是这样,最初要研究的文档是什么?
4

1 回答 1

0

我从贝宝论坛得到了这个问题的回复。我将此添加为答案,因为这将有助于将来的其他开发人员。也是 IPN 的良好起点

回应是,

“如果您使用 PDT,则不会发回任何内容,因为没有付款。只有在您付款时才会发回信息。我建议使用 IPN。rm 变量和 PDT 都取决于买方返回您的网站。如果买家不返回,例如他们的浏览器窗口意外崩溃并关闭,或者他们只是将其关闭,则不会发回任何信息,并且会丢失。这就是使用 rm 变量和 PDT 的原因更多用于创建动态收据。IPN 更多用于更新您的系统,因为它不依赖于买家返回您的网站。“

“如果您需要,您还可以使用 IPN 将数据重新发送到您的系统,您还可以从您的帐户中查看您的 IPN 历史记录。IPN 通常在付款完成后立即发生。”

请参考原始问题

于 2011-08-04T23:15:06.587 回答