官方教程:
PayPal Express Checkout
根據(jù)官方教程整理了一下具體步驟廷区。
模板:
<!DOCTYPE html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
</head>
<body>
<div id="paypal-button"></div>
<script>
paypal.Button.render({
locale: 'zh_CN', // or en_US
env: 'production', // or sandbox
commit: true, // Show a 'Pay Now' button
client: {
sandbox: '***',
production: '***'
},
style: {
size: 'small',
color: 'silver',
shape: 'pill',
label: 'checkout',
tagline: false
},
payment: function(data, actions) {
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: '填入金額', currency: 'USD' }
}
]
}
});
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function(payment) {
$.ajax({
type: 'POST',
url: '/',
data: {}
}).done(function (data) {
if (data == '0') {
alert('The payment is complete!');
window.location.reload();
}else {
alert('pay fail')
}
})
});
},
onCancel: function(data, actions) {
/*
* Buyer cancelled the payment
*/
},
onError: function(err) {
/*
* An error occurred during the transaction
*/
}
}, '#paypal-button');
</script>
</body>
1. 必須 js
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
2. 支付按鈕
<div id="paypal-button"></div>
炫彩,paypal.Button.render
綁定對應(yīng)的id(也可以是class)顽馋。
3. render 參數(shù)
1)env
: 運行環(huán)境
有兩種:
類型 | 說明 |
---|---|
sandbox | 沙盒尘喝,用于測試压昼,用添加的sandbox賬號測試能否交易成功 |
production | 生產(chǎn)環(huán)境炕倘,部署上線時使用的環(huán)境 |
2)locale: 語言版本
配套有多國語言钧大,中文選用 zh_CN
,美式英文選用 en_US
3)client
: 客戶端id
獲取方式:登錄 -> Applications -> 選擇 REST API apps -> create App
create App
創(chuàng)建成功后罩旋,可以從創(chuàng)建的應(yīng)用獲取Sandbox
和 Live
的 client ID
啊央,填入
client: {
sandbox: '',
production: ''
},
4)style
: 定義支付按鈕樣式,參考 Customize Checkout Button
5)觸發(fā)函數(shù):
函數(shù) | 說明 |
---|---|
payment | 點擊支付時觸發(fā)涨醋,total填入需要支付的金額瓜饥,currency填入支付的貨幣類型 |
onAuthorize | 支付成功時觸發(fā),當(dāng)支付成功時可以用Ajax提交數(shù)據(jù)修改訂單支付狀態(tài)為已支付东帅。 |
onCancel | 當(dāng)用戶關(guān)閉支付頁面時觸發(fā) |
onError | 當(dāng)支付出錯時觸發(fā) |
4. 創(chuàng)建沙盒賬號用于測試
Sandbox accounts
創(chuàng)建兩個賬號压固,BUSSINESS 以及 PERSONAL。
創(chuàng)建完成后登錄沙盒賬號測試是否登錄成功(紅線按鈕登錄)
測試是否登錄成功
5. 使用sandbox 賬號測試支付
當(dāng)env
環(huán)境為sandbox
時靠闭,點擊支付按鈕時帐我,使用PERSONAL
賬號來登錄支付(測試賬號默認(rèn)有余額 $9999),當(dāng)支付成功時會調(diào)用函數(shù)onAuthorize
,可以彈窗alert('pay success')
來測試是否支付成功愧膀。若成功拦键,上線時將env
轉(zhuǎn)為production
環(huán)境即可。
更多文章檩淋,博客站點
感覺有用的點個贊吧