我正在将智能付款按钮集成到我的网站中,然后才能正常工作,但是今天早些时候,我遇到了这些错误
在加载paypal.Buttons().render()
文件中的paypal.js
函数之前,我已经加载了paypal SDK
<script src="https://www.paypal.com/sdk/js?client-id=<MY_CLIENT_ID_HERE>¤cy=PHP"></script>
<script type="text/javascript" src="paypal.js"></script>
这是我的paypal.js
文件的内容
paypal.Buttons({
createOrder : function(data, actions){
return actions.order.create({
purchase_units : [{
amount : {
value : amount_to_pay
}
}],
application_context: {
shipping_preference: "NO_SHIPPING",
},
country_code : "PH"
})
},
style: {
color: 'gold',
shape: 'rect',
label: 'buynow',
size: 'responsive',
branding: true
},
onApprove: function(data, actions) {
// Capture the funds from the transaction
return actions.order.capture().then(function(details) {
return fetch('/pay-with-pp', {
method: 'post',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
orderID: data.orderID,
product_id : product_id,
_token : token
})
}).then(function(res){
alert('Payment has been made! Please see the delivery status on orders page!');
window.location.href = redirect_url
});
});
},
}).render('#paypal-button-container');
答案 0 :(得分:4)
我仔细分析了错误并找到了解决方法。
我在加载SDK的脚本标签中添加了<script src="https://www.paypal.com/sdk/js?client-id=AaJMejIDjhumOr48XsycjfvQegxAku1dHdrA0DNfkqFSg7bFFkpJTnnwyaLIGUFsPijWx1g51gxp9F-5¤cy=USD" data-namespace="paypal_sdk"></script>
属性
data-namespace
然后在我的paypal.js
文件中使用paypal.Buttons().render()
的值
所以而不是
paypal_sdk.Buttons().render()
我用过
User-Agent
它有效!