通过引入第三方npm包下载 javascript sdk插件
可以分正式环境和测试环境
https://developer.paypal.com/sdk/js/
测试环境: sandbox mode
创建一个沙盒账号用于测试付款,create一个App生成client_id用于收款
正式环境: live mode
code
//通过v-if渲染,避免渲染重复
<div v-if="isShowPaypal"
id='paypal-button-container'>
</div>
loadScript({ "client-id": 'AZMsaDjxE2mAJ4UpvFP2NpsrRHgQXTdH0xYVOzcAg1ey7r4gJ96-e8g63IKAFl0U2QizjeldeSa09nd2' })
.then((paypal) => {
paypal.Buttons({
style: {
layout: 'vertical',
color: 'blue',
shape: 'pill',
label: 'paypal'
},
//初始化
onInit: function (data, actions) {
console.log(data)
// Disable the buttons
//actions.disable();
//actions.enable();
},
//创建订单
createOrder: function(data, actions) {
// Set up the transaction
return actions.order.create({
purchase_units: [{
amount: {
value: payData.amount,
// currency_code: ''
}
}]
});
},
onApprove: async (data, actions) => {
this.$toast('支付成功' + JSON.stringify(data) + '=======' + JSON.stringify(actions))
},
//取消支付
onCancel: (data) => {
this.$toast('支付取消')
this.$router.push('/gameStoreCenter')
},
}).render('#paypal-button-container')
})
.catch((err) => {
console.error("failed to load the PayPal JS SDK script", err);
});