當前位置:
首頁 > 最新 > 商城系統針對開發者自有支付系統提供的解決方案

商城系統針對開發者自有支付系統提供的解決方案

一、引言

1.1 文檔概述

本文件描述Mob ShopSDK針對開發者自有支付系統提供的解決方案(即您可以使用您的自有支付系統接入shopSDK,支付系統對接的財務對賬系統等均可以不做修改,方便您更好的接入ShopSDK)。文檔分別從簽名、介面、注意事項等方面詳細介紹了Mob ShopSDK的工作方式和開發過程,可以幫助開發人員快速入門並掌握開發技能,同時也可以作為日後介面參數以及參數類型的速查手冊。

1.2 閱讀對象

供使用您自有的支付系統接入ShopSDK的技術或業務人員參考和查詢。

1.3 業務術語

二、方案概述

2.1 行業背景

在電子商務中,商家、買家、中間服務方是交易活動中的三個環節。買家選購商品下發訂單,商家確認訂單,買家通過支付服務方向商家支付貨款,商家發貨履行訂單。

針對於開發者自有支付服務,EtradeSdk提供介面和開發者自有支付服務進行對接,為開發者提供更友好體驗.

介面介紹

2.2 加解密流程圖

2.3 業務流程圖

三、數據格式

3.1 請求方式

採用HTTP標準的POST協議,為了保證接收方接收數據正確,傳遞的參數如果存在特殊字元(如&、=等)需要進行URL Encode。

3.2 響應格式

直接以簡單字元串作為數據內容,一般用於後台通知模式的介面反饋,表示處理是否成功。

四、數字簽名

為了保證數據傳輸過程中的數據真實性和完整性,我們需要對數據進行數字簽名,在接收簽名數據之後進行簽名校驗。

數字簽名有兩個步驟,先按一定規則拼接要簽名的原始串,再選擇具體的演算法和密鑰計算出簽名結果。

一般失敗的結果不簽名。

4.1 簽名原始串

所有參數按照欄位名的ascii碼從小到大排序後使用QueryString的格式(即key1=value1&key2=value2…)拼接而成

參數最後一位為appsecret:值(該值為開發者appkey關聯信息)拼接前面參數,使用MD5加密,生產簽名

3、簽名原始串中,欄位名和欄位值都採用原始值,不進行URL Encode。

舉例:

調用某個介面,介面有如下欄位:

partner、total_fee、desc、attach

實際調用介面時,各欄位的值:

正確的簽名原始串是:

常見的錯誤有:

4.2 簽名演算法

目前暫只支持MD5簽名

MD5簽名

MD5 是一種摘要生成演算法,通過在簽名原始串後加上商戶通信密鑰的內容,進行MD5運算,形成的摘要字元串即為簽名結果。為了方便比較,簽名結果統一轉換為大寫字元。

注意:簽名時將字元串轉化成位元組流時指定的編碼字符集應為utf-8。

MD5簽名計算公式:

sign = Md5(原字元串& appsecret =開發者appsecret). toUpperCase

如:

開發者appsecret是:8934e7d15453e97507ef794cf7b0519d

簽名的結果為:

sign=md5(input_charset=GBK&partner=1900000109&total_fee=1&appsecret=8934e7d15453e97507ef794cf7b0519d)= 4C513CB879523CA9D717EEA7819DEB0C

五、介面

5.1 對接自有支付系統訂單支付狀態變更介面

5.1.1 業務功能

訂單支付狀態變更

5.1.2 請求參數列表

請求url:http://openapi.shop.mob.com/thirdparty/ertrance/updateOrderStatus

通過post請求

JSON格式:

{

「appkey」:」221a0c04f52d4″,

「totalMoney」:1000,

「payTicket」:」123a」,

「paidMoney」:800,

「payStatus」:1

}

5.1.3 返回結果參數列表

數據按json的格式實時返回

成功示例:

{

「status」: 200,

「message」: 「」,

「data」: 「」

}

5.2 對接自有支付系統訂單查詢介面

5.2.1 業務功能

訂單查詢介面

5.2.2 請求參數列表

請求url: http://openapi.shop.mob.com/thirdparty/ertrance/queryOrderDetail

通過post請求

JSON格式:

{

「appkey」:」221a0c04f52d4″

}

5.2.3 返回結果參數列表

成功示例:

{

「status」: 200,

「message」: 「」,

「data」: {

「orderId」: 2,

「paidMoney」: 201,

「totalMoney」: 1000

}

}

5.3 對接自有支付系統退款商品查詢介面

5.3.1 業務功能

退款商品查詢介面

5.3.2 請求參數列表

請求url:http://openapi.shop.mob.com/thirdparty/ertrance/queryRefundList

通過post請求

JSON格式:

{

「appkey」:」221a0c04f52d4″,

「orderBeginAt」:」2017-11-28 11:50:13″,

「orderEndAt」:」2017-12-28 11:50:13″,

「refundApplyBeginDate」:」2017-11-2811:50:13″,

「refundApplyEndDate」:」2017-12-28 11:50:13″,

「productName」:」毛巾」,

「buyerId」:」1245233A」,

「pageIndex」:1,

「pageSize」:10

}

5.3.3 返回結果參數列表

成功示例:

{

「status」: 200,

「message」: 「」,

「data」: {

「pageIndex」: 1,

「count」: 1,

「list」: [

{

「refundCommodityId」: 「98830451051405312」,

「refundFee」: 100,

「orderPaidMoney」: 100,

}

]

}

}

5.4 對接自有支付退款狀態變更介面

5.4.1 業務功能

對接自有支付系統退款進度狀態變更。

5.4.2 請求參數列表

請求url:http://openapi.shop.mob.com//thirdparty/ertrance/updateRefundStatus

通過post請求

JSON格式:

{

「appkey」:」221a0c04f52d4″,

「refundList」:

[

{

「refundCommodityId」:90892555608600576,

「refundFee」:100,

「status」:0

}

]

}

5.4.3 返回結果參數列表

數據按json的格式實時返回

成功示例:

{

「status」: 200,

「message」: 「SUUCCESS」,

「data」: 「」

}

六、注意事項

所有涉及到金額的單位都是分,最小的單位是1分,不能有小數出現

請求頭中必須攜帶appkey以及mobsign信息

RSA加密演算法,MD5簽名演算法詳細見附件

加密方法

在對接前需前往MOB後台管理頁面獲取公鑰,輸入您的伺服器外網IP


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Mob開發者服務平台 的精彩文章:

Android如何使用ShareSDK集成社會化分享
adb使用技巧和usb通信原理探索

TAG:Mob開發者服務平台 |