美文网首页
線上聚合支付(線上聚合收銀台)

線上聚合支付(線上聚合收銀台)

作者: 随风溜达的向日葵 | 来源:发表于2019-11-18 11:31 被阅读0次

說明

線上聚合支付用於聚合UePay現有所有支付能力,實現一次打開頁面全通道支付。

目前支持的聚合支付通道

  1. UePay電子錢包。
  2. 微信公眾號支付。
  3. 支付寶MO。

功能

  1. 通過調起的參數進行金額和商戶通道判斷,傳遞了支付金額、支付商戶。

  2. 通過調起的參數進行商戶通道判斷,然後使用H5內嵌的安全鍵盤輸入支付金額,然後發起支付。

聚合支付業務流程

聚合支付流程

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

信息流

聚合支付信息流

首先無論商戶是使用線下靜態碼還是線上的頁面打開UePay聚合支付前端,所有的支付結果只能通過後台服務器之間來傳遞。前端的跳轉或展示僅用於向商戶進行展示。

  1. 步驟S1、S2:商戶前端通過商戶後臺向UePay系統提交預支付訂單。(此步驟僅用於綫上聚合支付)
  2. 步驟S3、S4:服務端生成根據提交的信息生成零時字符串。(此步驟僅用於綫上聚合支付)
  3. 步驟1A:商戶通過頁面跳轉到UePay線上聚合支付平台。
  4. 步驟1B:用戶通過終端(微信、支付寶MO、UePay電子錢包)掃商戶靜態碼打開UePay線上聚合支付平台。
  5. 步驟2:UePay根據商戶傳遞的數據(掃碼的Url數據)使用關聯通道進行發起支付。
  6. 步驟3:UePay的前後台開始執行對應通道的線上支付流程。(參考微信公眾號支付、UePay線上支付、澳門MO線上支付)。完成後通過商戶預設的URL通知商戶後台。
  7. 步驟4:完成之後後通知支付前端,前端更新為對應的狀態。實際上這一步會根據支付通道的不同,有幾個子步驟。大致過程是:
    1. UePay前端調後端提交預支付訂單。
    2. 後台下單後回傳訂單信息。
    3. 前端使用相關的訂單信息調用渠道JS-API接口發起源生支付。
    4. 源生支付完成後通知前端(某些通道同時還會通知後端)。
    5. 前端調用後端接口查單。
    6. 後端查單完成後通知商戶後台服務器,並返回結果給前端。
  8. 步驟5:前端得到支付結果信息,若指定了back_url則會攜帶參數信息回調商戶前端,若無指定不執行後續步驟。
  9. 步驟7:商戶告知商戶後台查詢訂單。
  10. 步驟8:商戶後台查詢UePay聚合支付後台。
  11. 步驟9:UePay聚合支付後台返回支付結果。

注意事項

1. 支付結果必須以後台查詢和通知的結果為準
2. 線上跳轉支付在UePay支付完成跳轉回商戶平時核驗支付訂單時,必須核對預支付訂單號、金額、返回地址是否與發起時一致,必須驗簽

域名&URL定義規則

入口域名規則:

首次打開頁面的域名路徑:
[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 密文內容 128

重定向域名規則

某些支付類型需要進行重定向(微信公眾號支付),因此需要提供重定向域名以繼續功能,結構如下:
[domain]/[action]/[payway]/redirect/[patch]/[kit]?[*=*]

結構增加了redirect路徑,用於對入口路徑加以區分。kit路徑用於表示當前支付方式(微信、支付寶等)。因為不同的支付方式進行重定向返回的query參數是不一樣的,因此search部分需要根據每一個通道特殊處理。

接口過程説明

線下靜態QRcode聚合支付

靜態QRcode聚合支付是指將每個商戶的支付能力都生成為一個QRcode靜態碼,靜態碼會使用系統内部密鑰對標識功能字串進行加密。當打開一個頁面時會傳遞到後台進行還原,所有參數根據商戶號均由Uepay系統生成。

靜態QRcode的URL規則

當用戶使用終端掃描靜態QRcode之後,打開的就是一個固定的域名地址,其域名規則如下:

簽密URL:[domain]/payment/qrcode/{patch}?ver=?&content=?

URL參數説明

參數 説明 案例 長度(字符)
patch 指示當前QRcode的頁面版本號,用於升級頁面時的支持 serline 10
ver 驗簽規則參數,取值a-zA-Z0-9 固定長度為5 5
content QRcode標簽編碼内容,不同版本存儲的内容不同,取值a-zA-Z0-9 200

content説明

content此時記錄的就是數據庫中的SN號,用於標記參靜態碼字串信息的一個隨機數據。他生成之後會與數據庫表的信息一一對應。在數據庫中對應SN碼需要存儲的信息大致如下:

字段 説明 案例 長度(字符)
sn 編碼字串 22
merchantNo 商戶編號 15
merchantName 商戶名稱 30
merchantIcon 商戶圖標,一個URL後綴 [DOMAIN]/img/abcs.jpg 50
cny 支付幣種 MOP 5

靜態QRcode初始化過程

  1. 用戶使用終端掃描二維碼之後會進入對應的初始化頁面。
  2. 頁面獲取QRcode的sn信息然後調用服務器接口獲取商戶信息。
  3. 服務端返回商戶信息,頁面展示用戶信息,並進入金額輸入頁面等待用戶支付。
    • 服務端不能返回真實的商戶號,所有的數據庫信息通過身份串對應表示。
  4. 用戶完成金額輸入,開始綫上支付。

線上網頁跳轉聚合支付(聚合收銀台)

線上網頁跳轉聚合支付是指商戶在線上完成某項業務之後(比如採購)跳轉(重定向)到UePay的聚合收銀台進行支付。支付與線下聚合碼類似都是打開一個聚合支付頁面。

由於此筆交易是商戶主動發起,因此需要商戶在跳轉(喚起)UePay收銀檯頁面時需要事先提交與支付訂單。預支付訂單通過POST方法調用UePay聚合支付平臺完成。

預支付訂單内容

參數名 說明 備註 最大長度(字符)
orderNo 商戶訂單號 32
merchantNo 商戶編號 15
amount 支付金額(分) 9999900 10
cny 支付幣種 目前僅支持MOP 5
detail 商品詳情 2000
notifyUrl 支付完成後的重定向的頁面 100
time 發起時間戳
sign 使用以上内容進行驗簽

detail參數說明

{
  "goods_detail":[
  { 
    "goods_name":"iPhone6s 16G",
    "quantity":1,
   },
  { 
    "goods_name":"iPhone6s 32G",
    "quantity":1, 
  }]
}

描述
goods_name 商品名稱
quantity 計量個數

預支付訂單返回

參數名 說明 備註 最大長度(字符)
orderNo 商戶預支付訂單號 22
tradeNo 聚合支付平臺交易標識號 32
time 發起時間戳
pay_url 支付頁面,需要瀏覽器重定向 支付地址
sign 使用以上内容進行驗簽

支付pay_url

支付地址url:[domain]/payment/online/{patch}?ver=?&&content=?
參數 説明 備注 長度
patch 綫上支付頁面版本號 10
ver 簽密算法版本,取值a-zA-Z0-9 固定為5
content 簽密内容,在此對應“預支付信息”的編號,取值a-zA-Z0-9 200

微信公衆號支付過程

Uepay電子錢包綫上支付過程

支付寶支付過程

識別MO、CN、國際站接口?

其他操作

需要進行退款操作需要到商戶中心操作。

參考內容:

支付寶線上支付測試環境:https://gztest1.uepay.mo/
UePay電子錢包線上支付:http://192.168.0.22:13000/

相关文章

网友评论

      本文标题:線上聚合支付(線上聚合收銀台)

      本文链接:https://www.haomeiwen.com/subject/vafmsctx.html