Vue項(xiàng)目接入Paypal實(shí)現(xiàn)示例詳解
一、支付流程
在paypal的官網(wǎng)上給出了這個(gè)按鈕內(nèi)部封裝的流程,整個(gè)流程只需要用戶點(diǎn)擊按鈕,觸發(fā)創(chuàng)建訂單事件,然后我們再監(jiān)聽用戶支付成功的回調(diào),拿到訂單id傳給后端,讓后端再進(jìn)行一次校驗(yàn)。
二、實(shí)現(xiàn)方案
| 接入方式 | 優(yōu)點(diǎn) | 缺點(diǎn) | 相關(guān)資料 |
|---|---|---|---|
| 在html中插入paypal的script腳本 | 實(shí)現(xiàn)方式比較簡單 | 1、安全性問題:公司的client_id會暴露在代碼中 2、引用的按鈕樣式比較難自定義 |
官方文檔:https://developer.paypal.com/docs/checkout/integrate/# 更詳細(xì)的說明:http://www.dhdzp.com/article/188049.htm |
| 使用官方提供的npm包(有好幾個(gè)) | 1、可以自定義,不需要使用官方給定的button,可以在自己的按鈕上綁定創(chuàng)建事件 2、不會把client_id暴露出來 |
1、需要仔細(xì)閱讀文檔,開發(fā)難度會大一點(diǎn) 2、有的需要配合node一起開發(fā) |
github:https://github.com/paypal/paypal-checkout-components node-sdk:https://github.com/paypal/Pay... |
| 使用別人封裝好的npm包 | 1、使用起來方便 2、文檔比較清晰 |
1、可能存在沒人維護(hù)的風(fēng)險(xiǎn) 2、可自定義的部分不多 3、使用的是Paypalv1版接口,官網(wǎng)上用的是v2接口,但是應(yīng)該不影響 |
github:https://github.com/khoanguyen96/vue-paypal-checkout |
這是我目前總結(jié)的幾種實(shí)現(xiàn)方案,如果有更好的方案,歡迎在評論區(qū)告訴我~
三、項(xiàng)目中實(shí)現(xiàn)
由于我是在vue項(xiàng)目實(shí)現(xiàn),經(jīng)過考慮,別人封裝的vue-paypal-checkout庫可以滿足開發(fā)需求,而且使用起來比較簡單,所以暫時(shí)選擇采取這個(gè)方案,接下來我們看看代碼實(shí)現(xiàn)吧!
npm install vue-paypal-checkout
import PayPal from 'vue-paypal-checkout'
export default {
data() {
return {
credentials: {
sandbox: '填寫沙箱環(huán)境client_id',
production: '填寫線上環(huán)境client_id'
},
buttonStyle: {
label: 'pay',
size: 'small',
shape: 'rect',
color: 'blue'
}
}
},
components: {
PayPal
},
methods: {
paymentAuthorized (data) {
// 授權(quán)完成的回調(diào),可以拿到訂單id
console.log(data);
},
paymentCompleted (data) {
// 用戶支付完成的回調(diào),可以拿到訂單id
console.log(data);
},
paymentCancelled (data) {
// 用戶取消交易的回調(diào)
console.log(data);
}
}
}
<PayPal amount="10.00" // 付款的錢數(shù) currency="USD" // 貨幣種類,默認(rèn)為美元 :client="credentials" // client_id認(rèn)證信息 env="sandbox" // 指定環(huán)境,默認(rèn)為線上,也就是production :button-style="buttonStyle" // 自定義按鈕樣式 @payment-authorized="paymentAuthorized" @payment-completed="paymentCompleted" @payment-cancelled="paymentCancelled" > </PayPal>
以上就是我的代碼實(shí)現(xiàn)過程,具體內(nèi)容可以根據(jù)業(yè)務(wù)來修改,實(shí)現(xiàn)起來還是蠻簡單的,如果只是想嵌入Paypal的按鈕,完成基本的支付操作,這個(gè)還是完全可以支持的。
四、Paypal沙箱環(huán)境賬戶申請流程
注冊Paypal線上賬戶
(1)瀏覽器打開https://www.paypal.com/
(2)注冊一個(gè)賬號,個(gè)人和企業(yè)都行。推薦注冊個(gè)人賬戶,比企業(yè)賬戶要填的信息少,功能差別不大
(3)填寫相關(guān)信息,銀行卡號暫時(shí)可以先不填,創(chuàng)建完成后就可以看到這個(gè)頁面,沙箱環(huán)境和這個(gè)頁面長得很像,可以通過網(wǎng)頁地址進(jìn)行區(qū)分
注冊Paypal開發(fā)者賬號
(1)瀏覽器打開https://developer.paypal.com/ ,用剛剛創(chuàng)建的線上賬戶登錄一下(如果時(shí)間隔得很近,會默認(rèn)登錄),紅色框中是后面會重點(diǎn)用到的內(nèi)容
(2)進(jìn)入Accounts頁面,創(chuàng)建沙箱測試賬戶,默認(rèn)會創(chuàng)建兩個(gè)賬戶(1個(gè)企業(yè)賬戶,1個(gè)個(gè)人賬戶),我們也可以自己創(chuàng)建,最多可以創(chuàng)建5個(gè)
登錄沙箱環(huán)境
(1)用測試賬號登錄https://www.sandbox.paypal.com ,使用開發(fā)者環(huán)境的測試賬號登錄
(2)用紅框中的賬號和密碼登錄沙箱環(huán)境,就可以看到一個(gè)和線上類似的頁面,初始資金默認(rèn)為$5000,可以自行修改
(3)在開發(fā)環(huán)境下的My Apps & Credentials頁面下創(chuàng)建應(yīng)用,拿到Client ID和Secret去請求Access token
(4)拿Client ID和Secret去請求Access token
頁面操作按鈕進(jìn)行測試
(1)登錄剛剛沙盒環(huán)境的另外一個(gè)測試賬戶
(2)付款成功后,付款頁面會自動關(guān)閉,可以去沙盒環(huán)境看一下扣款記錄
五、總結(jié)
雖然我這里給了很詳細(xì)的流程,但看官方文檔還是必要的,Paypal的文檔挺詳細(xì)的,只是全英文看起來可能比較有壓力,耐心一點(diǎn)會發(fā)現(xiàn)還是不錯(cuò)的。說明一點(diǎn),如果在創(chuàng)建賬號的時(shí)候有和我不一樣的情況,不用驚訝,因?yàn)镻aypal就是這樣神秘的,哈哈哈!
到此這篇關(guān)于Vue項(xiàng)目接入Paypal實(shí)現(xiàn)示例詳解的文章就介紹到這了,更多相關(guān)Vue接入Paypal內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Paypal支付不完全指北
- Paypal實(shí)現(xiàn)循環(huán)扣款(訂閱)功能
- zen cart實(shí)現(xiàn)訂單中增加paypal中預(yù)留電話的方法
- PHP整合PayPal支付
- php實(shí)現(xiàn)paypal 授權(quán)登錄
- PHP中集成PayPal標(biāo)準(zhǔn)支付的實(shí)現(xiàn)方法分享
- php與paypal整合方法
- 網(wǎng)站用php實(shí)現(xiàn)paypal整合方法
- paypal即時(shí)到賬php實(shí)現(xiàn)代碼
- 解析PayPal支付接口的PHP開發(fā)方式
- php購物網(wǎng)站支付paypal使用方法
相關(guān)文章
詳解Vue路由History mode模式中頁面無法渲染的原因及解決
這篇文章主要介紹了詳解Vue路由History mode模式中頁面無法渲染的原因及解決,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09
Element UI 上傳組件實(shí)現(xiàn)文件上傳并附帶額外參數(shù)功能
在使用 ElementUI 的上傳組件 el-upload 實(shí)現(xiàn)文件上傳功能時(shí),如果單文件上傳是比較簡單的,但是在實(shí)際需求中,往往會在上傳文件時(shí)伴隨著一些其他參數(shù),怎么操作呢,下面通過示例代碼講解感興趣的朋友一起看看吧2023-08-08
vue實(shí)現(xiàn)仿淘寶結(jié)賬頁面實(shí)例代碼
本文是小編給大家分享的vue實(shí)現(xiàn)仿淘寶結(jié)賬頁面實(shí)例代碼,主要功能是仿照淘寶頁面的結(jié)算購物車商品時(shí)自動算出合計(jì)價(jià)格的頁面,具體實(shí)例代碼大家參考下本文2017-11-11
ElementPlus?Table表格實(shí)現(xiàn)可編輯單元格
本文主要介紹了ElementPlus?Table表格實(shí)現(xiàn)可編輯單元格,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
vue查詢數(shù)據(jù)el-table不更新數(shù)據(jù)的解決方案
這篇文章主要介紹了vue查詢數(shù)據(jù)el-table不更新數(shù)據(jù)的問題及解決方案,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12

