說明
線上聚合支付用於聚合UePay現(xiàn)有所有支付能力,實現(xiàn)一次打開頁面全通道支付。
目前支持的聚合支付通道
- UePay電子錢包。
- 微信公眾號支付。
- 支付寶MO。
功能
通過調(diào)起的參數(shù)進行金額和商戶通道判斷,傳遞了支付金額、支付商戶。
通過調(diào)起的參數(shù)進行商戶通道判斷,然後使用H5內(nèi)嵌的安全鍵盤輸入支付金額,然後發(fā)起支付。
聚合支付業(yè)務(wù)流程

因為是移動端HTML類型的線上支付,因此所有的入口都是實際上都是通過URL控制的。
信息流

首先無論商戶是使用線下靜態(tài)碼還是線上的頁面打開UePay聚合支付前端,所有的支付結(jié)果只能通過後臺服務(wù)器之間來傳遞。前端的跳轉(zhuǎn)或展示僅用於向商戶進行展示。
- 步驟S1、S2:商戶前端通過商戶後臺向UePay系統(tǒng)提交預(yù)支付訂單。(此步驟僅用於綫上聚合支付)
- 步驟S3、S4:服務(wù)端生成根據(jù)提交的信息生成零時字符串。(此步驟僅用於綫上聚合支付)
- 步驟1A:商戶通過頁面跳轉(zhuǎn)到UePay線上聚合支付平臺。
- 步驟1B:用戶通過終端(微信、支付寶MO、UePay電子錢包)掃商戶靜態(tài)碼打開UePay線上聚合支付平臺。
- 步驟2:UePay根據(jù)商戶傳遞的數(shù)據(jù)(掃碼的Url數(shù)據(jù))使用關(guān)聯(lián)通道進行發(fā)起支付。
- 步驟3:UePay的前後臺開始執(zhí)行對應(yīng)通道的線上支付流程。(參考微信公眾號支付、UePay線上支付、澳門MO線上支付)。完成後通過商戶預(yù)設(shè)的URL通知商戶後臺。
- 步驟4:完成之後後通知支付前端,前端更新為對應(yīng)的狀態(tài)。實際上這一步會根據(jù)支付通道的不同,有幾個子步驟。大致過程是:
- UePay前端調(diào)後端提交預(yù)支付訂單。
- 後臺下單後回傳訂單信息。
- 前端使用相關(guān)的訂單信息調(diào)用渠道JS-API接口發(fā)起源生支付。
- 源生支付完成後通知前端(某些通道同時還會通知後端)。
- 前端調(diào)用後端接口查單。
- 後端查單完成後通知商戶後臺服務(wù)器,並返回結(jié)果給前端。
- 步驟5:前端得到支付結(jié)果信息,若指定了
back_url則會攜帶參數(shù)信息回調(diào)商戶前端,若無指定不執(zhí)行後續(xù)步驟。 - 步驟7:商戶告知商戶後臺查詢訂單。
- 步驟8:商戶後臺查詢UePay聚合支付後臺。
- 步驟9:UePay聚合支付後臺返回支付結(jié)果。
注意事項
1. 支付結(jié)果必須以後臺查詢和通知的結(jié)果為準
2. 線上跳轉(zhuǎn)支付在UePay支付完成跳轉(zhuǎn)回商戶平時核驗支付訂單時,必須核對預(yù)支付訂單號、金額、返回地址是否與發(fā)起時一致,必須驗簽
域名&URL定義規(guī)則
入口域名規(guī)則:
首次打開頁面的域名路徑:
[domain]/[action]/[payway]/[patch]?ver=[ver]&content=[content], 其詳細定義如下:
| 域 | 描述 | 案例 | 限定長度 |
|---|---|---|---|
| domain | 主站域名 | https://online.uepay.mo | |
| action | 表示動作功能 | payment | 10 |
| payway | 支付方式 | qrcode\online | 10 |
| patch | 頁面版本號 | serline | 10 |
| ver | 加密計算版本號 | op-01 | 固定為5 |
| content | 密文內(nèi)容 | 128 |
重定向域名規(guī)則
某些支付類型需要進行重定向(微信公眾號支付),因此需要提供重定向域名以繼續(xù)功能,結(jié)構(gòu)如下:
[domain]/[action]/[payway]/redirect/[patch]/[kit]?[*=*]
結(jié)構(gòu)增加了redirect路徑,用於對入口路徑加以區(qū)分。kit路徑用於表示當前支付方式(微信、支付寶等)。因為不同的支付方式進行重定向返回的query參數(shù)是不一樣的,因此search部分需要根據(jù)每一個通道特殊處理。
接口過程説明
線下靜態(tài)QRcode聚合支付
靜態(tài)QRcode聚合支付是指將每個商戶的支付能力都生成為一個QRcode靜態(tài)碼,靜態(tài)碼會使用系統(tǒng)內(nèi)部密鑰對標識功能字串進行加密。當打開一個頁面時會傳遞到後臺進行還原,所有參數(shù)根據(jù)商戶號均由Uepay系統(tǒng)生成。
靜態(tài)QRcode的URL規(guī)則
當用戶使用終端掃描靜態(tài)QRcode之後,打開的就是一個固定的域名地址,其域名規(guī)則如下:
簽密URL:[domain]/payment/qrcode/{patch}?ver=?&content=?
URL參數(shù)説明:
| 參數(shù) | 説明 | 案例 | 長度(字符) |
|---|---|---|---|
| patch | 指示當前QRcode的頁面版本號,用於升級頁面時的支持 | serline | 10 |
| ver | 驗簽規(guī)則參數(shù),取值a-zA-Z0-9 | 固定長度為5 | 5 |
| content | QRcode標簽編碼內(nèi)容,不同版本存儲的內(nèi)容不同,取值a-zA-Z0-9 | 200 |
content説明
content此時記錄的就是數(shù)據(jù)庫中的SN號,用於標記參靜態(tài)碼字串信息的一個隨機數(shù)據(jù)。他生成之後會與數(shù)據(jù)庫表的信息一一對應(yīng)。在數(shù)據(jù)庫中對應(yīng)SN碼需要存儲的信息大致如下:
| 字段 | 説明 | 案例 | 長度(字符) |
|---|---|---|---|
| sn | 編碼字串 | 22 | |
| merchantNo | 商戶編號 | 15 | |
| merchantName | 商戶名稱 | 30 | |
| merchantIcon | 商戶圖標,一個URL後綴 | [DOMAIN]/img/abcs.jpg | 50 |
| cny | 支付幣種 | MOP | 5 |
靜態(tài)QRcode初始化過程
- 用戶使用終端掃描二維碼之後會進入對應(yīng)的初始化頁面。
- 頁面獲取QRcode的sn信息然後調(diào)用服務(wù)器接口獲取商戶信息。
- 服務(wù)端返回商戶信息,頁面展示用戶信息,並進入金額輸入頁面等待用戶支付。
- 服務(wù)端不能返回真實的商戶號,所有的數(shù)據(jù)庫信息通過身份串對應(yīng)表示。
- 用戶完成金額輸入,開始綫上支付。
線上網(wǎng)頁跳轉(zhuǎn)聚合支付(聚合收銀臺)
線上網(wǎng)頁跳轉(zhuǎn)聚合支付是指商戶在線上完成某項業(yè)務(wù)之後(比如採購)跳轉(zhuǎn)(重定向)到UePay的聚合收銀臺進行支付。支付與線下聚合碼類似都是打開一個聚合支付頁面。
由於此筆交易是商戶主動發(fā)起,因此需要商戶在跳轉(zhuǎn)(喚起)UePay收銀檯頁面時需要事先提交與支付訂單。預(yù)支付訂單通過POST方法調(diào)用UePay聚合支付平臺完成。
預(yù)支付訂單內(nèi)容
| 參數(shù)名 | 說明 | 備註 | 最大長度(字符) |
|---|---|---|---|
| orderNo | 商戶訂單號 | 32 | |
| merchantNo | 商戶編號 | 15 | |
| amount | 支付金額(分) | 9999900 | 10 |
| cny | 支付幣種 | 目前僅支持MOP | 5 |
| detail | 商品詳情 | 2000 | |
| notifyUrl | 支付完成後的重定向的頁面 | 100 | |
| time | 發(fā)起時間戳 | ||
| sign | 使用以上內(nèi)容進行驗簽 |
detail參數(shù)說明:
{
"goods_detail":[
{
"goods_name":"iPhone6s 16G",
"quantity":1,
},
{
"goods_name":"iPhone6s 32G",
"quantity":1,
}]
}
| 描述 | ||
|---|---|---|
| goods_name | 商品名稱 | |
| quantity | 計量個數(shù) |
預(yù)支付訂單返回
| 參數(shù)名 | 說明 | 備註 | 最大長度(字符) |
|---|---|---|---|
| orderNo | 商戶預(yù)支付訂單號 | 22 | |
| tradeNo | 聚合支付平臺交易標識號 | 32 | |
| time | 發(fā)起時間戳 | ||
| pay_url | 支付頁面,需要瀏覽器重定向 | 支付地址 | |
| sign | 使用以上內(nèi)容進行驗簽 |
支付pay_url
支付地址url:[domain]/payment/online/{patch}?ver=?&&content=?
| 參數(shù) | 説明 | 備注 | 長度 |
|---|---|---|---|
| patch | 綫上支付頁面版本號 | 10 | |
| ver | 簽密算法版本,取值a-zA-Z0-9 | 固定為5 | |
| content | 簽密內(nèi)容,在此對應(yīng)“預(yù)支付信息”的編號,取值a-zA-Z0-9 | 200 |
微信公衆(zhòng)號支付過程
Uepay電子錢包綫上支付過程
支付寶支付過程
識別MO、CN、國際站接口?
其他操作
需要進行退款操作需要到商戶中心操作。
參考內(nèi)容:
支付寶線上支付測試環(huán)境:https://gztest1.uepay.mo/
UePay電子錢包線上支付:http://192.168.0.22:13000/