问题描述
按照 https://www.paypal.com/buttons 中的代码,我点击“智能按钮”链接,生成并复制代码,因此我将以下内容添加到我们的付款页面(使用我们的实际客户 ID 而不是 XXXXXX.... ):
<div id="smart-button-container">
<div style="text-align: center;">
<div id="paypal-button-container"></div>
</div>
</div>
<script src="https://www.paypal.com/sdk/js?client-id=XXXXXXXXXXXXXXXXX¤cy=USD" data-sdk-integration-source="button-factory"></script>
<script>
function initPayPalButton() {
paypal.Buttons({
style: {
shape: 'rect',color: 'gold',layout: 'vertical',label: 'paypal',},createOrder: function(data,actions) {
return actions.order.create({
purchase_units: [{"description":"Subscription to our service","amount":{"currency_code":"USD","value":10}}]
});
},onApprove: function(data,actions) {
return actions.order.capture().then(function(details) {
alert('Transaction completed by ' + details.payer.name.given_name + '!');
});
},onError: function(err) {
console.log(err);
}
}).render('#paypal-button-container');
}
initPayPalButton();
</script>
该按钮似乎有效,因为它打开了 Paypal 付款窗口;但是付款好像没有生效。
然后我注意到我认为的原因:Paypal 付款窗口的 URL 显示为 https://www.sandBox.paypal.com/checkoutNow .....
解决方法
您正在使用沙盒客户端 ID。
的“实时”标签中获取您的实时客户端 ID