我正在使用 nodejs 和 expressjs 并使用“ paypal-ec ”节点包来执行 incontext paypal集成。 这是使用以下代码调用的:
<script src='https://www.paypalobjects.com/js/external/dg.js' type='text/javascript'></script>
<script>
var dg = new PAYPAL.apps.DGFlow(
{
trigger: 'paypal_submit',
expType: 'instant'
});
</script>
我用这个取得了什么 我可以在Paypal Sandbox环境中付款,但它显示我的旧付款屏幕,用户需要填写地址等详细信息(由于积分我无法附加屏幕截图)
我想要实现的目标 我正在尝试使用屏幕进行支付,其中用户不需要预先填充任何数据也可以提供更好的UI。 此plukr链接中提供的一些体验http://plnkr.co/edit/3vfNSVRyq86pDR5mH4HH?p=preview plunk中给定代码片段的问题在于它不会暴露action方法中的内容以及如何为其提供数量(或任何其他细节,如果有的话)。
感谢任何形式的帮助。
答案 0 :(得分:2)
我明白但不要声称自己是node
开发者 - 所以这是“概念性的”:
在一天结束时,您将trnx SetExpressCheckout
发送到Paypal并获得token
的服务器端电话(details (items, price, return/cancel urls, etc.))是未更改(使用documented limitations和ignored params。
<script async src="//www.paypalobjects.com/api/checkout.js"></script>
https://www.paypal.com/checkoutnow?token=[the token you obtained]
正在播放
链接样本的服务器端SetExpressCheckout
进程是:
http://166.78.8.98/cgi-bin/aries.cgi?sandbox=1&direct=1&returnurl=http://166.78.8.98/cgi-bin/return.htm&cancelurl=http://166.78.8.98/cgi-bin/cancel.htm
您可以看到returnurl
和cancelurl
设置(但它也可以在服务器端完成)。这将获得后续步骤所需的token
。
如果您可以检查流量,您会看到redirect
(前端“捕获”并在“上下文中”显示)的响应:
HTTP/1.1 302 Found
Date: Sun, 05 Jul 2015 16:00:48 GMT
Server: Apache/2.4.7 (Ubuntu)
Access-Control-Allow-Origin: *
Location: https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=EC-94X58918K2362702E&ul=0
这个样本可能更详细,“不那么神奇”(显示更多正在发生的事情)并且是帮助我实现的:
http://plnkr.co/edit/UhNka4VaaRRGY1TK32LE?p=preview
H个。