电竞比分网-中国电竞赛事及体育赛事平台

分享

php在線支付功能的實現(xiàn)(支付寶)

 星星點點燈 2017-04-13
  在電商類的網(wǎng)站實現(xiàn)的過程中,我們經(jīng)常會涉及到支付的功能,目前比較流行的第三方支付是支付寶和微信,所謂第三方支付,就是一些和各大銀行簽約、并具備一定實力和信譽保障的第三方獨立機構(gòu)提供的交易支持平臺。在通過第三方支付平臺的交易中,買方選購商品后,使用第三方平臺提供的賬戶進行貨款支付,由第三方通知賣家貨款到達。本文以支付寶的接入為案例。

一.基本流程圖


支付流程

二.詳細步驟分析:

(1)用戶向商城網(wǎng)站發(fā)起確認訂單的請求(例如點擊立即購買)
(2)商城網(wǎng)站接收到請求保存訂單數(shù)據(jù)到數(shù)據(jù)庫或其他存儲介質(zhì)
(3)返回訂單確認頁面,頁面上應(yīng)該顯示訂單金額等信息(點擊立即購買后的訂單界面)
(4)用戶確認支付,發(fā)起支付請求。注:支付請求是發(fā)送到支付網(wǎng)關(guān)(比如支付寶、網(wǎng)銀在線)而不是發(fā)送到商城網(wǎng)站。
(5)顯示支付頁面(這個界面就是支付寶的同一界面了)
(6)用戶填寫認證信息提交(掃碼相對方便些)
(7)這里有兩個步驟一個是扣款成功后頁面跳轉(zhuǎn)到支付結(jié)果頁面(展示給用戶),另一個是支付通知,這兩步?jīng)]有先后順序可能同時執(zhí)行,商城網(wǎng)站接收到支付通知后根據(jù)驗證規(guī)則驗證信息的有效性,并作出相應(yīng)的更改操作(例:有效則更改訂單為已付款狀態(tài),無效則為未支付狀態(tài))。

  以支付寶為例:如果實現(xiàn)在網(wǎng)站中集成支付寶接口,首先要有一個支付寶賬號,接下來向支付寶申請在線支付業(yè)務(wù),簽署協(xié)議。協(xié)議生效后有支付寶一方會給網(wǎng)站方一個合作伙伴ID,和安全校驗碼,有了這兩樣?xùn)|西就可以按照支付寶接口文檔開發(fā)支付寶接口了,在上圖的幾個步驟中只有4和7兩個步驟在商城與支付網(wǎng)關(guān)之間有信息交互。在步驟4中指將數(shù)據(jù)發(fā)送到支付網(wǎng)關(guān)(支付寶),在步驟7中是的通知驗證部分,驗證網(wǎng)關(guān)請求網(wǎng)站某地址,網(wǎng)站按驗證規(guī)則對信息進行驗證記錄并作出響應(yīng),我們幾乎在開發(fā)任何支付接口時,重點是這兩部分的開發(fā),明白支付接口原理,開發(fā)支付接口就不難了。需要額外強調(diào)的是,如果我們想要測試整個流程,那么我們需要有一個商家賬號(簽約賬號),就是需要向支付寶提交營業(yè)執(zhí)照等材料,經(jīng)過支付寶審核通過后,可以進行收款的賬號。(這個一般個人很少有,開發(fā)時可以用公司名義申請一個)

三.支付寶接口接入

接口簡介與測試
  支付寶目前提供了,擔(dān)保交易、標準即時到帳、雙功能等幾種接口,只是在功能上有些差異,網(wǎng)站集成方式是一樣的。以標準即時到帳接口為例,在與支付寶簽署協(xié)議后(即成為正式商家后),還需要幾個步驟才能完成集成。針對每種功能,支付寶的開發(fā)者平臺已經(jīng)列舉了詳細的步驟以及案例展示。關(guān)于如何簽約請訪問 前往支付寶認證

下面我們展示一下即時到賬的業(yè)務(wù)邏輯流程:

第一步:買家選擇心儀產(chǎn)品

第一步:點擊了立即購買
第二步:跳轉(zhuǎn)到收銀臺頁面

    1.用戶可以打開手機錢包選擇“掃一掃”,對準屏幕掃碼,待手機提示付款后選擇支付工具輸入密碼支付即可;


掃一掃


    2.如果不想使用手機支付,可以點擊上圖所示頁面右側(cè)的“登錄賬戶付款”,輸入支付寶賬號和密碼登錄。


登錄賬戶付款
第三步:買家選擇付款方式

選擇付款方式
第四步:付款成功

付款成功

下面我們展示一下接入的步驟:

第一步:獲取PID,開發(fā)者登錄開放平臺,點擊右上角的“賬戶及密鑰管理”。

獲取PID
第二步:選擇“合作伙伴密鑰”,即可查詢到合作伙伴身份(PID),以2088開頭的16位純數(shù)字。

密鑰
第三步:配置秘鑰

請參考支付寶DSA、RSA、MD5三種簽名方式,建議使用支付寶提供的官方工具,點此前往。

第四步:接入項目

(1)下載官方文件(demo), 點擊下載
(2)配置DEMO中的開發(fā)者信息,找到目錄下alipay.config.php文件并打開,內(nèi)容如下:


配置代碼


(3)在配置文件中找到以下參數(shù)進行對應(yīng)配置:


參數(shù)

找到這部分


(4)若您選擇MD5簽名方式,請根據(jù)MD5方式配置:詳見第三步
(5)跟我們的php代碼連接,我們可以看到還有一個名為alipayapi.php的文件,這個文件就是接受訂單信息的,通過post形式將訂單參數(shù)傳遞到這個文件,這個文件已經(jīng)引用了alipay.config.php,所以大家的基本配置要正確,當(dāng)成功接受參數(shù)后,會跳轉(zhuǎn)到支付寶預(yù)先寫好的支付界面。


alipayapi.php的文件


(6)接受支付結(jié)果:配置同步返回(同步跳轉(zhuǎn)通知)和異步回調(diào)(異步通知)。在配置文件中有return_url和notiry_url兩個參數(shù),可分別配置到DEMO中的return_url頁面和notify_url頁面。同步返回使用GET方式獲取,異步通知使用POST方式獲??;同步返回驗證有1分鐘超時,異步通知驗證沒有時間限制。return_url頁面和notify_url頁面都會將數(shù)據(jù)使用AlipayNotify.verify() 驗簽方法驗證。
(7)最終的判斷:通過返回參數(shù)中的trade_status字段(交易狀態(tài))判斷并可寫入執(zhí)行業(yè)務(wù)邏輯代碼。


屏幕快照 2016-12-15 16.30.28.png

注:notify_url頁面只能返回success,異步通知頁面上不可有任何HTML代碼。支付結(jié)果請以異步通知為準。

參考聲明:本文參考了支付寶官方文檔,大家也可以直接參考,點擊前往。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多