1 功能描述
提供cashpay-red-package-service HTTPS服務(wù)接口。
2 數(shù)據(jù)交互
1.構(gòu)造請(qǐng)求數(shù)據(jù)。合作方服務(wù)端根據(jù)請(qǐng)求參數(shù)要求(見(jiàn)3)構(gòu)造請(qǐng)求數(shù)據(jù)。
2.發(fā)送請(qǐng)求數(shù)據(jù)。通過(guò)HTTP POST方法發(fā)送數(shù)據(jù)。
3.現(xiàn)金支付中心對(duì)請(qǐng)求數(shù)據(jù)進(jìn)行處理。
4.返回處理的數(shù)據(jù)結(jié)果。
現(xiàn)金支付中心處理完成之后將處理結(jié)果以JSON形式返回給合作方。
5.合作方對(duì)返回的結(jié)果數(shù)據(jù)進(jìn)行處理。
接口URL
Staging:http://staging.redpack.pay.xiaomi.com/redPackage
Product:https://redpack.pay.xiaomi.com/redPackage
3 商戶(hù)紅包HTTPS接口
3.1.1領(lǐng)和拆商戶(hù)紅包
3.1.1.1 Url
POST redPackage/open/out/getAndOpenMerchantRedPackage
3.1.1.2 參數(shù)
3.1.1.3 返回值
3.1.2查詢(xún)商戶(hù)紅包
3.1.2.1 Url
POST redPackage/open/out/queryRedPackageOrder
3.1.2.2參數(shù)
3.1.2.3返回值
3.1.3查詢(xún)紅包列表
3.1.3.1 Url
POST redPackage/open/out/queryMerchantRedPackageList
3.1.3.2參數(shù)
3.1.3.3返回值
packageList參數(shù)說(shuō)明:
3.1.4查看用戶(hù)詳情
3.1.4.1 Url
POST redPackage/open/out/queryMerchantUserDetail
3.1.4.2參數(shù)
3.1.4.3返回值
3.1.5創(chuàng)建商戶(hù)定向紅包
3.1.5.1 Url
POST redPackage/open/out/createMerchantDirectRedPackage
3.1.5.2參數(shù)
3.1.5.3返回值
3.1.6發(fā)布商戶(hù)定向紅包
3.1.6.1 Url
POST redPackage/open/out/publishAndSendMerchantDirectRedPackage
3.1.6.2參數(shù)
3.1.6.3返回值
3.1.7創(chuàng)建商戶(hù)常規(guī)紅包
3.1.7.1 Url
POST redPackage/open/out/createMerchantNormalRedPackage
3.1.7.2參數(shù)
3.1.7.3返回值
3.1.8發(fā)布商戶(hù)常規(guī)紅包
3.1.8.1 Url
POST redPackage/open/out/publishAndSendMerchantNormalRedPackage
3.1.8.2參數(shù)
3.1.8.3返回值
4 返回?cái)?shù)據(jù)處理
4.1返回?cái)?shù)據(jù)處理
·支付中心處理合作方商戶(hù)請(qǐng)求后,立刻返回處理結(jié)果。
·處理結(jié)果的格式為JSON格式
4.2 Errcode定義
SUCCESS=200;//成功
ERROR=201;
INTERNAL_SERVICE_ERROR=1100001;//系統(tǒng)內(nèi)部錯(cuò)誤
RSA_VERIFY_SIGN_ERROR=1100006;//驗(yàn)簽錯(cuò)誤
PARAMETER_ERROR=2100001;//參數(shù)錯(cuò)誤
RED_PACKAGE_PAY_FAILED=2100002;//紅包支付失敗
QUERY_USER_INFO_ERROR=2100003;//用戶(hù)信息不存在
GET_ACCOUNT_INFO_ERROR=2100004;//用戶(hù)賬戶(hù)錯(cuò)誤
USER_ACCOUNT_FROZE_ERROR=2100005;//用戶(hù)凍結(jié)錯(cuò)誤
PACKAGE_REPEAT_RECEIVE_ERROR=2100006;//紅包重復(fù)領(lǐng)取
GET_RED_PACKAGE_ORDER_ERROR=2100007;//領(lǐng)紅包訂單錯(cuò)誤
RED_PACKAGE_RECEIVE_OVER_ERROR=2100008;//紅包已領(lǐng)完
ALREADY_EXIST_ERROR=2100009;//紅包已存在
SEND_COUNT_OVER_LIMIT=2100010;//發(fā)紅包次數(shù)超限
SEND_AMOUNT_OVER_LIMIT=2100011;//發(fā)紅包金額超限
RECEIVE_COUNT_OVER_LIMIT=2100012;//領(lǐng)紅包次數(shù)超限
RECEIVE_AMOUNT_OVER_LIMIT=2100013;//領(lǐng)紅包金額超限
RED_PACKAGE_WAIT_PAY=2100015;//紅包未支付
RED_PACKAGE_FINISHED=2100016;//紅包已結(jié)束
USER_NOT_VERIFIED_ERROR=2010017;//用戶(hù)未實(shí)名
OPEN_RED_PACKAGE_ERROR=2010018;//拆紅包錯(cuò)誤
QUERY_RED_PACKAGE_ERROR=2010019;//紅包查詢(xún)錯(cuò)誤
GET_RED_PACKAGE_ERROR=2010020;//獲取紅包失敗
RED_PACKAGE_EXPIRED_ERROR=2010021;//紅包已過(guò)期錯(cuò)誤
RECEIVER_NOT_ALLOWED_ERROR=2010022;//紅包接收者不允許
RECEIVER_EQUALS_SENDER_ERROR=2010023;//不能給自己發(fā)紅包
RED_PACKAGE_STATUS_ERROR=2100024//紅包狀態(tài)錯(cuò)誤
公共錯(cuò)誤:200 201 1100001 1100006 2100001
創(chuàng)建紅包相關(guān):2100002 2100003 2100004 2100005 2100009 2100010 2100011 2010017
搶紅包相關(guān):2100006 2100007 2100008 2100012 2100013 2010018 2010020 2010021 2100002 2100015 2100016 2100024
查詢(xún)紅包相關(guān):2010019
5 簽名與加密機(jī)制
5.1簽名算法
合作方請(qǐng)求和支付中心結(jié)果返回都會(huì)對(duì)參數(shù)做簽名,目前簽名算法僅支持使用RSA。
密鑰生成和簽名算法如下。
5.2簽名方式
1.請(qǐng)求參數(shù)列表和返回參數(shù)列表中的所有參數(shù),除sign和signType不參與,其他參數(shù)均需要簽名,如果參數(shù)值為空則不參與簽名且不需要傳遞,所有參與簽名的參數(shù)值均為原始字符串,不需要做urlencode。
2.生成待簽名的字符串
對(duì)于需要簽名的參數(shù)數(shù)組,先對(duì)參數(shù)按照key進(jìn)行排序,排序規(guī)則將數(shù)組中每個(gè)key按照ASCII從小到大排列,然后將key,value以如下形式進(jìn)行組合:key1=v1&key2=v2,所生成的字符串即為待簽名的字符串。例如:
benefitUserId=110000&createTime=1388487642¬ifyUrl=http://oneboxhost/mock/notify&outTransferId=48794928118907008081&partnerId=10000001&transferAmount=1
5.3加密算法
合作方請(qǐng)求和支付中心返回都會(huì)對(duì)敏感參數(shù)做加密,目前加密算法僅支持使用RSA。使用和簽名同樣的公鑰、秘鑰對(duì)。
請(qǐng)求時(shí),合作方使用支付中心提供的公鑰對(duì)參數(shù)加密。
6 返回代碼及描述
TODO