Rob*_*ski 3 paypal paypal-sandbox paypal-rest-sdk
我正在尝试在网页上设置 PayPal 智能支付。我正在使用他们在此处提供的示例:https : //developer.paypal.com/docs/checkout/integrate/
如果我currency_code设置为USD它工作正常,但如果我将其更改为其他任何内容,例如CAD或GBP窗口将无法加载。我究竟做错了什么?
<script src="https://www.paypal.com/sdk/js?client-id=sb"></script>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
'purchase_units': [{
'amount': {
'currency_code': 'USD',
'value': '5',
},
}]
})
}
}).render('body')
</script>
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这个例子不会在 Stack Overflow 上运行,但它在 JSFiddle 上运行良好,所以我用currency_code不同的集合做了两个例子。
'currency_code': 'USD': https://jsfiddle.net/liquidmetalrob/8y3p52fh/
'currency_code': 'GBP': https://jsfiddle.net/liquidmetalrob/8y3p52fh/1
第一个示例将加载 PayPal 窗口,您需要一个 PayPal Sandbox 帐户才能登录。所以如果你想登录你可以使用我刚刚创建的一次性帐户。用户名:sb-ilukn1050819@personal.example.com密码:pRKCu9.>但重要的问题是为什么在第二个示例中窗口甚至没有加载?
我在这里找到了答案:https : //developer.paypal.com/docs/checkout/reference/customize-sdk/
您必须改为将货币代码添加到脚本 URL,并将其从 JS 中删除。
<script
src="https://www.paypal.com/sdk/js?client-id=sb¤cy=GBP">
</script>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
'purchase_units': [{
'amount': {
'value': '5',
},
}]
})
}
}).render('body')
</script>
Run Code Online (Sandbox Code Playgroud)
注意:client-id可以设置为sb用于测试,但在生产中您使用自己的。