如何在支付宝自适应嵌入式支付中传递请求参数和支付密钥?

Posted

技术标签:

【中文标题】如何在支付宝自适应嵌入式支付中传递请求参数和支付密钥?【英文标题】:How can I pass request parameters along with pay key in pay pal adaptive embedded payments? 【发布时间】:2015-06-15 11:17:32 【问题描述】:

我正在使用嵌入到我的应用程序中的轻型浏览器。我的表单将操作设置为“https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay”。

我有触发 pay pal 现在付款按钮的 java 脚本。

<script type="text/javascript" charset="utf-8">
  var embeddedPPFlow = new PAYPAL.apps.DGFlow(trigger: 'submitBtn');
</script>

现在在我的表单中,我有这个立即付款按钮,并且还输入了如下所示的参数设置。我的输入参数为“expType”、“payKey”和“custom”。

<input type="image" id="submitBtn" value="Pay with PayPal" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif">
<input id="type" type="hidden" name="expType" value="light">
<input id="paykey" type="hidden" name="paykey" value='<%=request.getAttribute("payKey")%>'>
<input id="custom" type="hidden" name="custom" value='<%=(String)request.getAttribute("custom")%>'>

但是一旦在付款发生后,当我收到关于确认付款的 IPN 通知 URL 的异步请求时,我看到“自定义”为空,我已通过其中一个输入参数。有人可以建议在自适应(链式支付)嵌入式支付中传递额外的请求参数有什么办法吗?

【问题讨论】:

【参考方案1】:

好吧,在自适应支付中,除了支付密钥之外,我们绝对没有办法直接传递任何额外的输入参数。这就是我发现的。所以解决它的方法是使用 PayRequest 对象并将参数设置为它的 TrackingId。

PayRequest payRequest = new PayRequest(); payRequest.setTrackingId("Set Parameter into this");

使用此 TrackingId 在 IPN 中检索。

【讨论】:

以上是关于如何在支付宝自适应嵌入式支付中传递请求参数和支付密钥?的主要内容,如果未能解决你的问题,请参考以下文章

贝宝自适应支付和ipn响应

贝宝自适应支付销售税

magento - 集成贝宝自适应支付(链式支付)

我无法在为 PHP CodeIgniter 框架实施 PayPal 库的贝宝自适应支付中添加商品编号、商品价格和数量

paypal自适应支付IPN中的自定义字段

Paypal 自适应支付无法在移动设备上运行