我一直在努力解决这个问题。我目前正在使用我的 Android 9 手机/PayPal Here v.3.7.5 和 PayPal Here Sideloader API 进行测试。我使用 CC 输入的初始测试将使用 returnURL 传递变量创建正确的处理。
我刚收到我的 PayPal Here 读卡器(芯片和刷卡)并使用芯片进行测试,returnURL 没有被提取。
我试过 paypalhere://takePayment 和 paypalhere://takePayment/v2
没有指定 v2,在“不,谢谢”和“新销售”之后,它只是在这里循环回 PayPal。我确实在我的日志中看到我的浏览器点击了 returnURL 但传递了 Type=UNKNOWN。
如果我指定 v2,它会将我发送回我的付款页面(在此处启动 PayPal),但不会传递变量。
在这两种情况下,卡都会正确收费。我在 PayPal 中看到了交易。在 PayPal Here 中查看发票时,我的发票也是正确的。所以这只是关于回报。
这是我的 returnUrl 代码:
var returnUrl = 'https://www.example.com/return/';
var retUrl = encodeURIComponent(returnUrl + "?{result}?Type={Type}&InvoiceId={InvoiceId}&Tip={Tip}&Email={Email}&TxId={TxId}");
var pphereUrl = "paypalhere://takePayment/v2?returnUrl=" + retUrl;
pphereUrl = pphereUrl + "&accepted=card,paypal"
pphereUrl = pphereUrl + "&step=choosePayment";
pphereUrl = pphereUrl + '&invoice=' + escape(JSON.stringify(invoice));
因此,在版本 v2 中,它会将我发送回https://www.example.com/payment/,而不是应该返回的 /return/ 路径。基本上,只是让浏览器在付款开始时停留在它所在的页面上。