1. 程式人生 > >接入微信,支付寶,浦發銀行的統一支付方案

接入微信,支付寶,浦發銀行的統一支付方案

第三方支付統一接入方案

方案背景及目的

目前大部分商戶平臺均已接入微信,支付寶等第三放支付平臺作為支付渠道,每個商戶平臺開發者都需要自己去接入支付API或SDK,本方案旨在提供一種相對統一的方式,為各商戶平臺接入支付渠道,減少部分重複接入勞動

支付渠道

微信,支付寶,浦發銀行

支付方式

H5頁面支付

方案描述

 

圖例說明:

支付配置:商戶平臺在統一支付平臺申請配置各自的唯一標識(payid),預設頁面回跳地址,預設通知地址

客戶:指購買商品,發起交易的使用者,這裡限定使用工具為瀏覽器

商戶:商品提供方;需要接入統一支付的平臺,負責處理支付前及支付後的業務邏輯

統一接入:對微信,支付寶,浦發銀行等支付渠道的呼叫封裝,即本次開發任務

第三方支付:微信,支付寶,浦發銀行等

步驟說明

1.使用者在商戶平臺發起商品購買

2.商戶預生成訂單資訊,將配置的h5payid,訂單資訊提交至統一接入平臺,如果不使用預設的回跳和通知地址,則在引數中指定,同時可在引數中指定是否只支援某種支付方式

3.統一接入平臺根據輸入的payid,訂單等引數資訊,持久化至資料庫,並構建支付頁面地址返回給商戶

4.商戶將使用者瀏覽器重定向到上述步驟的支付頁面地址

5.客戶在支付頁面上選擇需要的支付方式,發起支付申請

6.呼叫第三方支付

7 微信:需要安裝微信客戶端,微信jsapi呼叫客戶端支付

  支付寶:統一支付向支付寶發起支付申請,支付寶返回token,統一平臺構建授權URL,重定向至使用者瀏覽器(第8步)

  浦發銀行:使用者在支付頁面上選擇浦發支付,直接跳轉至浦發支付頁面

9 使用者輸入賬號授權支付

10 支付完成後,微信,支付寶跳轉至指定的商戶頁面(未指定,則使用預設配置)

11.商戶系統處理回撥頁面對應的業務邏輯

12.商戶系統接受支付渠道的非同步通知做相應處理

需要商戶系統做的事情

1.申請支付渠道相關賬號,證書等檔案

2.在統一支付平臺申請配置h5payid,配置預設回跳頁面(return_url),及預設通知地址

3.編寫回跳及通知處理邏輯,並提供介面,介面需要實現冪等,同時建議在介面入口處記錄通知日誌,便於問題回溯定位,建議商戶通知處理系統為保持穩定可單獨部署或雙機配置

4.建議實現補償定時程式或其他策略,呼叫統一接入平臺提供的單筆業務查詢介面,用於訂單補償

需要第三方接入做的事情:

1.實現商戶系統接入管理,即管理接入的商戶的後h5payid,預設回跳,通知地址等

2.提供商戶訂單提交介面,用於商戶提交訂單等資訊

3.接入支付渠道

4.提供各支付渠道的單筆業務查詢介面

統一接入平臺相關資料庫及介面設計

資料庫:

商戶表(一個商戶可申請多個h5payid,但需要由商戶系統作業務區分)

欄位

型別

約束

描述

H5payid

Varchar(12)

pk

商戶在接入平臺的全域性唯一標識

name

Varchar(64)

Not null

商戶系統名稱

H5paysecret

Varchar(12)

Not null

接入密碼

appId

Varchar(64)

商戶在微信,支付寶的appid

appsecret

Varchar(64)

商戶在微信,支付寶的secret

return_url

Varchar(128)

Not null

預設回跳地址

Notify_url

Varchar(128)

Not null

預設通知地址

Create_time

datetime

申請時間

Modify_time

datetime

修改時間

注:商戶系統的銀行相關配置可以配置在屬性檔案中

統一訂單表(該訂單表不承擔為商戶系統長期保留訂單職責,可以定期清理已結束訂單)

欄位

型別

約束

描述

Id

long

pk

serialno

Varchar(64)

Not null  unique index

本系統流水號,全域性唯一

H5payid

Varchar(12)

Not null

商戶在接入平臺的全域性唯一標識

trade_no

Varchar(64)

Not null

訂單在商戶系統的唯一編號

price

double

Not null

價格

goodname

Varchar(128)

Not null

商品名稱

gooddesc

Varchar(128)

商品描述

ip

Varchar(21)

Not null

訂單提交IP(非商戶系統IP,由商戶傳過來的訂單提交到商戶時候的IP)

Return_url

Varchar(128)

本次訂單指定回跳頁面地址

Notify_url

Varchar(128)

本次訂單指定通知地址

referer

Varcha(128)

商戶系統地址

Create_time

datetime

申請時間

Modify_time

datetime

修改時間

統一接入平臺介面:

介面通訊方式可自定義

1.訂單提交介面:

引數:h5payid,h5paysecret,price(價格),goodname(商品名稱),return_url(非必填),notify_url(非必填),ip(訂單ip),show_url(商品展示頁面地址)

邏輯:儲存至資料庫

返回:支付頁面地址,如http://ip:port/unifiedpay/serialno,商戶系統重定向到該地址

2.支付頁面介面

引數:serialno

邏輯:根據serialno對應的訂單資訊,及相應的支付規則,構造支付頁面返回給瀏覽器

返回:瀏覽器頁面或微信客戶端

3.單筆查詢介面

引數:商戶系統訂單號,支付渠道(wx/alipay/bank,引數可自定義)

邏輯:根據訂單號及支付渠道,以及相應的支付賬號呼叫第三方支付的業務查詢介面,並判斷成功或是失敗

返回:成功則返回成功程式碼,否則返回失敗程式碼及失敗原型 程式碼自定義

可行性待確認:

支付渠道對支付來源頁面可能會進行校驗,需要確認微信,支付寶的支付授權校驗規則

ps:可能需要在微信等支付平臺配置授權域名或目錄為統一支付平臺的地址

相關推薦

入微支付銀行統一支付方案

第三方支付統一接入方案 方案背景及目的 目前大部分商戶平臺均已接入微信,支付寶等第三放支付平臺作為支付渠道,每個商戶平臺開發者都需要自己去接入支付API或SDK,本方案旨在提供一種相對統一的方式,為各商戶平臺接入支付渠道,減少部分重複接入勞動 支付渠道 微信,

PHP九大口視頻教程( 支付QQ口,微口開發, 支付即時到賬口開發三級分銷全套)

三級 bsp spa pan alt 支付寶 接口開發 info ima PHP九大接口視頻教程( 支付寶,QQ,短信接口,微信接口開發, 支付寶即時到賬接口開發三級分銷全套) 需要的聯系我:QQ: 1844912514 PHP九大接口視頻教程( 支付寶,QQ

解決:入微支付調不起回撥介面WXPayEntryActivity

最近開發公司SDK需要接入微信支付功能,於是上了微信開發者平臺,下載微信的SDK,按著文件接入。當我進行微信支付,需要調起微信客戶端,但是卻沒有。而微信回撥WXPayEntryActivity也沒有被回撥起來。這就很奇怪了,看回文件,說要把WXPayEntryActivity

最簡單的安卓入微支付教程不簡單你打我!

    安卓接入微信支付最簡單的教程,看完不會你打我! 接入微信支付呢,你首先得有個微信支付的商戶端賬戶。這個賬戶一般你公司會提供給你的,一般是財務註冊的,當然如果你們家的財務沒有註冊的話你可以教她怎麼註冊。順便泡泡妞(財務一般都是女的吧)。註冊連結點這裡 https://

spring_boot_pay支付銀聯支付詳細代碼案例

fan target 簽名加密 china 整合 提示 業務 rom sig spring-boot-pay 支付服務:支付寶,微信,銀聯詳細代碼案例(除銀聯支付可以測試以外,支付寶和微信支付測試均需要企業認證,個人無法完成測試),項目啟動前請仔細閱讀 註意事項 。 友情

通過集成掃碼支付系統一鍵入微支付錢包支付視頻教程

nag .html proc 自動識別 安裝 ffffff 51cto sha 微信支付 管理軟件如何對接掃碼支付平臺並能夠自動識別微信支付和支付寶支付,通過對該課程的學習,可以讓商戶老板和軟件安裝人員能夠熟悉操作流程和設置方法,以達到管理軟件能夠自動識別微信支付和支付寶支

Android入微sdk使用微授權

接入微信sdk,進行授權,第一個最基本也是最重要的步驟,需要注意應用的包名、應用簽名(如果不知道的可以使用新浪簽名工具檢視,或者微信提供的工具),app id (微信申請成功之後可以獲得) 三者必須要與微信上申請的一致,否者將會無法成功調起微信。 1、在自己的專案上建立一個按鈕

支付收款二維碼實時生成訂單監控免籤支,付支付系統個人收款,收款二維碼

微信,支付寶,收款二維碼實時生成訂單監控,免籤支,付支付系統,個人收款,收款二維碼 微信和支付寶個人支付二維碼生成與監控!有PHP介面回撥,個人收款好助手! 實現收款即時到個人微信或支付寶賬戶!方便安全。 這個APP的作用是對自己的網站或者任何業務進行搭建支付系統!可以把錢收到自

除了支付也能查詢賬單了!再也不擔心錢花哪去了!

通常大家在使用微信或者支付寶的時候,都知道支付寶的賬單查詢在【我的】--【賬單】裡面查詢。但是使用微信支付時,卻不知道微信支付賬單在哪裡。 今天,小編就和大家分享一下微信支付賬單在哪裡查詢,以後,就能輕鬆檢視以往的支付記錄以及賬單了! 1. 開啟微信主頁,點選【我】--【錢包】。

支付收款二維碼實時生成訂單監控免籤支,付支付系統個人收款,收款二維碼

微信,支付寶,收款二維碼實時生成,訂單監控,免籤支,付支付系統,個人收款,收款二維碼 微信和支付寶個人支付二維碼生成與監控!有JAVA介面回撥,個人收款好助手! 實現收款即時到個人微信或支付寶賬戶!方便安全。 這個APP的作用是對自己的網站或者任何業務進行搭建支付系統!可以把錢收

支付免籤不可改備註(支付 二維碼/轉賬碼/生成方式收款維碼)

支付寶 二維碼/轉賬碼/生成方式,微信收款維碼 先介紹下支付寶收款的幾種方式: 通過xposed 設定金額/備註.然後生成二維碼.(受支付寶限制一天二維碼的生成數量20個) 通過支付寶的介面,自己拼接字串.然後根據字串生成一個二維碼對於(可改備註,使用者改備註則會掉單) 下面就是我們的改備註

支付免籤、解決最新版支付10.1.50拉起問題!(支付 二維碼/轉賬碼/生成方式收款維碼)

已解決最新版支付寶(10.1.50)部分機型拉不起支付寶問題。 微信,支付寶,收款二維碼實時生成,訂單監控,免籤支,付支付系統,個人收款,收款二維碼 微信和支付寶個人支付二維碼生成與監控!有JAVA介面回撥,個人收款好助手! 實現收款即時到個人微信或支付寶賬戶!方便安全。 這

html5+css實現六位數字密碼輸入對話方塊(類似支付

先來看看原型圖:直接上程式碼:html<div class="common-part pay-part"> <div class="common-dialog pay-dialog"> <div class

使用laravel開發微公眾的一個大坑適合新手學習的laravel入微介面

最近使用laravel做微信公眾號二次開發,發現網上能夠參考的資料基本上很少,很多地方都講的不夠詳細,致使許多新手採坑無數,所以這篇文章講一下如何使用laravel接入微信介面,實現微信公眾號二次開發,順便也會穿插一些laravel基礎知識的講解。 首先學習之前我們得有一個已經認證過的微信公

第二篇 :微公眾平臺開發實戰Java版之開啟開發者模式入微公眾平臺開發

第一部分:微信公眾號對接的基本介紹 一、填寫伺服器配置資訊的介紹 登入微信公眾平臺官網後,進入到公眾平臺後臺管理頁面。 選擇 公眾號基本設定-》基本配置 ,點選“修改配置”按鈕,填寫伺服器地址(URL)、Token和EncodingAESKey。 微信公眾號配置介面:  以上

基於SDK的支付介面服務端——支付

支付寶 準備: 1.建立應用,配置金鑰(詳見https://docs.open.alipay.com/291/105971); 2.jar包:alipay-sdk-java20170818173712.jar;commons-logging-1.1.

ionic 用 cordova外掛ping++方式 實現支付支付

網上有類似的ionic ping++ 的例子,不過不太詳細,我是用.net 做的服務端介面,難道我們的net 要落伍了麼? 看來以後可能會收費的。準備先接入。 流程: /// <summary> ///

支付銀聯支付詳細程式碼案例

除銀聯支付可以測試以外,支付寶和微信支付測試均需要企業認證,個人無法完成測試微信退款證書,微信商戶平臺(pay.weixin.qq.com)-->賬戶中心-->賬戶設定-->API安全-->證書下載,使用apiclient_cert.p12即可支付寶支付相關引數zfbinfo.prop

js / 前端 / 支付合併二維碼功能

支付寶,微信合併二維碼 近期專案要優化支付頁面,希望將兩個二維碼合成一個。研究整理一下: 首先做這件事,要明白原理哦: 網站的支付功能,一般都是生成一個( 後臺大哥與支付寶或微信介面授權好了的ur

Android開發知識(十一):讓你的應用入微分享完美繞過微分享的大坑

目錄 一、申請應用 1、首先到 [ 微信開放平臺官網] 申請註冊帳號,這些流程就忽略了到官網一看自然就知道怎麼走,感覺在這裡沒有必要說很多。 2、申請一個移動應用,填寫完成你的應用資訊。其他的沒啥,最主要的是要填對你的簽名和包名,否則SDK調