有關(guān)paypal支付的常見問題解答。

來源:CSDN
作者:禾田八久
時間:2020-07-24
6060
本文介紹了在paypal支付接入心得,避免后來者重復(fù)踩坑。

近在做對接paypal支付的項目。項目的開發(fā)時間緊,但paypal開發(fā)者文檔內(nèi)容又很多,并且是英文的,這無疑增加了開發(fā)難度。有句古話,欲速則不達。因為對開發(fā)者文檔理解不夠,浪費了不少時間。接入心得總結(jié)如下,避免后來者重復(fù)踩坑。

首先,需要確定采用paypal支付的何種方式?paypal提供了多種支付方式,如標(biāo)準(zhǔn)支付和快速支付,其中標(biāo)準(zhǔn)支付譽為最佳實踐。標(biāo)準(zhǔn)支付主要特點是只需要集成paypal按鈕,所有的付款流程由paypal控制,接入方不需要關(guān)心支付細節(jié)。當(dāng)用戶完成支付后,paypal會通過同步PDT或者異步IPN機制來通知接入方,這種方式比較輕量級,對接難度最小,而且對借入方的入侵較小。而快速支付相對復(fù)雜,支付過程由接入方控制,通過調(diào)用3個接口來實現(xiàn)。從接入方網(wǎng)頁跳轉(zhuǎn)到paypal支付頁面前,第一個接口觸發(fā),用于向paypal申請支付token。接著用戶進入paypal支付頁面,并進行支付授權(quán),授權(quán)接口中會提交上一步獲取的支付token,這個過程由paypal控制,并且沒有進行實際支付,接著接入方調(diào)用第二個接口,用于獲取用戶的授權(quán)信息,包括支付金額,支付產(chǎn)品等信息,這些基礎(chǔ)信息核對無誤后,調(diào)用第三個接口,進行實際付費扣款,扣款成功后,paypal同樣會進行同步PDT和異步IPN通知,這種方式很靈活,控制力強,但編碼復(fù)雜度較高,入侵性較大。從實際情況考慮,我們選擇了采標(biāo)標(biāo)準(zhǔn)支付方式接入paypal支付。

第二步,需要了解paypal支付的IPN和PDT兩種通知方式,IPN異步通知,可能會有時延,但可靠性高,當(dāng)接入方主機不可達時,有重試機制保證IPN通知盡量抵達接入方服務(wù)器。接入方收到IPN通知后,需要對其確認(rèn)。確認(rèn)方法為,把接收到的IPN通知原封不動的作為請求體,調(diào)用IPN確認(rèn)接口。PDT通知是是實時的,但可靠性不高,因為只會通知一次,沒有重試機制,一旦接入方出現(xiàn)主機不可達,這樣的消息將會被丟失。官方推薦,IPN通知和PDT通知最好混合使用,以滿足時效性和可靠性的保證。我們采用了IPN和PDT兩種通知機制。

第三步,在對paypal支付方式和付款通知機制了解以后,就可以進入到開發(fā)階段。開發(fā)完成后,最重要的是如何進行paypal支付的沙盒測試。我在這一步困頓了很久,在這里需要重點說明一下,paypal的賬號體系。通過https://www.paypal.com注冊的賬號是真實賬號。如果僅用于測試,那么這個真實賬號既可以是個人賬號,又可以是企業(yè)賬號。緊接著利用這個真實賬號登錄https://developer.paypal.com,登錄之后點擊右上角的Dashboard,接著點擊左側(cè)Sandbox下面的Accounts如下圖所示,

20170429130030825.png

這時,你看到已經(jīng)默認(rèn)創(chuàng)建好的兩個沙盒賬號,一個是Busness商家沙盒賬號,另一個是personal買家沙盒賬號,這兩個賬號就是用于沙盒環(huán)境測試的兩個賬號?,F(xiàn)在這兩個沙盒賬號,并沒有與測試賬號進行關(guān)聯(lián),如果不關(guān)聯(lián)的話,利用這個沙盒賬號并不能收到IPN通知和PDT通知。如何做關(guān)聯(lián)呢?點擊上圖中藍色鏈接log in with PayPal,這個鏈接會跳轉(zhuǎn)到一個頁面,在這個頁面,你需要用你的沙盒賬號進行登錄,沙盒賬號的登錄密碼,可以通過選中沙盒賬號,這時會出現(xiàn)profile,點擊profile進行更改設(shè)置。當(dāng)?shù)卿洺晒σ院螅澈匈~號就和測試賬號進行關(guān)聯(lián)了,Business賬號和Personal賬號都需要做這樣的關(guān)聯(lián)。沙盒Business賬號作為服務(wù)端使用,沙盒Personal賬號作為支付賬號。這樣就可以順利的接收到IPN通知,并且驗證通過。PDT通知還需要單獨設(shè)置,設(shè)置過程如下,利用沙盒Business賬號登錄https://www.sandbox.paypal.com/home,登錄之后,點擊銷售工具,如下圖,

20170429130120076.png

接著點擊網(wǎng)站習(xí)慣設(shè)定中的更新按鈕,如下圖

20170429130159722.png

只需調(diào)整自動返回和付款數(shù)據(jù)傳輸兩項設(shè)置,并設(shè)置為開啟,另外返回URL填入PDT回調(diào)的通知接口,需要能夠被外網(wǎng)訪問到。設(shè)置完成后,點擊下面的保存按鈕,這時會返回到上一層頁面。當(dāng)再次以同樣的方式打開這個頁面,就會在付款數(shù)據(jù)傳輸這一欄下面顯示身份標(biāo)識,這個身份標(biāo)識用于PDT通知校驗的token。到此,PDT通知機制已經(jīng)配置完成。

總之,paypal支付集成最大的困難不是開發(fā)本身,而是弄清楚paypal支付方式,IPN和PDT通知機制,以及沙盒賬號的創(chuàng)建,并如何把沙盒賬號與測試賬號進行關(guān)聯(lián)。搞清楚這些,開發(fā)就很簡單了。

原文鏈接:點擊前往 >
版權(quán)說明:本文內(nèi)容來自于CSDN,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家