在Paypal沙盒中测试定期付款

7
我阅读了这篇文章这篇文章,但没有找到解决方案。
我正在尝试使用Paypal标准支付系统测试循环付款。问题是循环付款的最小频率周期为1天(1D),这对于正确测试来说时间太长了。
我阅读了这篇文章,它说如果在沙盒中设置周期为1D,则每分钟调用IPN,但我无法使其工作。
您知道有什么方法可以完全控制测试循环付款吗?
2个回答

3

正如我在接受的答案中所评论的那样,通过使用firebug/chrome dev tools编辑HTML可以添加字段,以将额外的字段添加到IPN模拟器发送的IPN中。这样,您就可以添加所需的其他字段(例如recurring_payment_id),它们将随IPN一起发送到您指定的URL。添加了其他字段后,请复制HTML,以便每次想要使用它时都可以添加它。我正在考虑编写一个grease monkey扩展程序(或类似的东西),向页面添加一些JavaScript,允许添加其他IPN类型,例如需要进行定期付款的类型。


不错的发现,但对于一家以支付服务为核心业务的跨国公司来说,这个答案相当令人失望。 - mrmagooey
3
我写了这个小型JS代码段来一次性地向页面中插入多个隐藏输入框:var ipn_params = {'txn_type': 'recurring_payment_profile_created', 'recurring_payment_id': 'I-VYR2VN3XPVW4', 'next_payment_date': '03:00:00 Sep 12, 2013 PDT'}; function insertInput(name, value){ var para, hiddenInput, br; para = document.getElementById('ipn_details'); hiddenInput = document.createElement('input'); hiddenInput.type = 'hidden'; hiddenInput.name = name; hiddenInput.value = value; para.appendChild(hiddenInput); }; Object.keys(ipn_params).forEach(function(key) { insertInput(key, ipn_params[key]); }); - Ben

1
一天是您可以设定的最短时间框架。过去,您可以测试每分钟计费的循环付款,但是此功能在推出后不久被禁用了。一些商家过去所做的是,如果他们不想等待整个一天,就设置自己的IPN模拟器,类似于当前在developer.paypal.com网站上的模拟器。区别在于,他们会设置它以传递所有重复付款详细信息。基本上,这只是一个提交所有PayPal将发送的变量的表单。否则,您必须等待整个一天才能再次计费。

7
哦,不!我不能每天测试它!!这太可怕了。 - Daniel Peñalba
我同意。这太丢人了!我正在与PayPal的开发者传教士交谈。他说你应该能够在几分钟内进行测试,但可能还没有实现。我会回报答案!! - Relequestual
有一种预感。我编辑了IPN模拟器的HTML,包括额外的字段(如recurring_payment_id)。然后我提交了IPN模拟器表单。它包含了我添加到接收到的IPN中的额外字段。他们说这些字段没有验证,所以我猜他们也不会检查哪些字段。 - Relequestual
我的问题是,我想知道在这种或那种情况下发送了哪些IPN以及它们包含哪些字段。如果IPN模拟器提供了一种发送各种IPN的方法,那么它将是一个完美的工具。甚至更好的是 - 实际模拟每种情况,比如 - 订阅创建 - 模拟器发送subscr_signup、subscr_payment和subscr_eot(如果不是定期)IPN。 - jayarjo
很遗憾,他们在这方面没有提供任何来自PayPal的额外答案。使用PayPal进行定期付款相当困难!我现在建议对于新项目采用Stripe,它测试起来要容易得多! =] - Relequestual

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接