首页 文章

使用PayPal实现免费试用期不会返回任何自定义参数

提问于
浏览
1

最近2天一直坚持这个问题 .

场景

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

研究

最相似的问题是Implementing a free trial period with PayPalPaypal subscription free trial isn't working,但我的问题有点不同 . 而且第一个问题中指出的文件也不是有效的链接 .

问题

当用户返回我们的网站时,我们无法检索在初始重定向到PayPal期间传入的自定义变量 . 基本上它只是一个空白的重定向,没有任何查询字符串或post参数 . 但后来我试图收取前14天而不是免费的金额,然后返回所有查询字符串 . 我们的流量取决于我们将pay pal 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'>

但没有运气 .

问题

  • 为什么我在"a1=0"的14天内无法获得回调参数?但是如果我将"a1"设置为大于0,相同的代码是否有效?

  • 我错过了任何参数吗?或者我在回电时使用错误的方法? (我使用的是返回网址)

  • 使用IPN怎么样?我从PayPal网站了解到IPN不是实时的 . 由于我们的应用程序依赖于下一个注册流程的自定义数据,我想知道它可以使用吗?如果是这样,那么最初要研究的文件是什么?

1 回答

  • 0

    我收到了paypal论坛对这个问题的回复 . 我将此添加为答案,因为这将有助于其他开发人员 . 还不错starting point for IPN

    回应是,

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

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

    请参阅Original question

相关问题