电子会员卡消费
参数
serviceId
HROrderPay
sign
生成sign步骤:
1.拼接字符串(除了random
和key
以外的其他参数按照字段名的首字母排序,再拼接上random
和key
):
appID=bc3a54eb-92ab-4cce-ba90-4dbf1183b3fd&body=这是一个商品&mchID=SYT002&outTradeNo=0932409876361760&totalFee=88&random=123456&key=a3ac6835-29e9-4326-804a-5664238362d7
2.使用MD5签名(所有字母为大写字母),最终生成字段:
675A8455357E6AC355CAC5AD3E968C61
random
参与签名的随机数 discountList
数组形式,每项是一个JSON对象, 包括cardID:电子会员卡卡号, discountAmt:电子会员卡余额, discountNmae:优惠名称
tranDetail
支付信息
String *attach;//附加数据(非必须)
String *body;//商品描述
String *confirmOrder;//是否需要确认支付(暂不支持需要确认模式)
String *detail;//商品详情(非必须)
String *goodsTag;//商品标记(预留非必须)
String *limitPay;//指定支付方式(非必须)
String *mchID;//商户号
String *outTradeNo;//商户订单号
String *timeValid;//交易有效时间
String *totalFee;//总金额
String *deviceInfo;//设备号
String *paidAmount;//已付金额
String *unpaidAmount;//未付金额
String *mchName;//商户名字
String *feeType;// 货币类型
String *discountFee;//优惠金额
String *customerID;//电子会员卡会员编号
String *merchantID;//电子会员卡商户编号
String *platformID;// 电子会员卡交易平台编号
autoFillData
可包含预填表信息
返回
callBackResult
此返回对象为josn
类型的对象,以JSON格式说明:
//示例
{
"tranSeqNo": "201705171000000000004236",
"returnCode": "000000",
"tradeType": "03",
"totalFee": "88",
"payFee": "0",
"returnMsg": "交易成功",
"errorCode": "uacc000000",
"random": "123456",
"errorMsg": "交易成功",
"outTradeNo": "0989990003",
"mchID": "SHRB01100000002416",
"personUnionID": "ndxtKWM5ljQsMv36ADQdXddPOQbIy08T+U6BgPmsQzY="
}
示例代码
SHRB.Api({
serviceId:"HROrderPay",
discountList:[
{
cardID:"xxx",
discountAmt:"xxx",
discountName:"xxx"
}
],
data:{
tranDetail:{
"attach":"最好的",
"timeValid" : "120",
"outTradeNo" : "1231123123",
"backUrl" : "http://abc.com",
"body" : "天天水果",
"totalFee" :"88",
"detail" : "水蜜桃",
"goodsTag" : "WXG",
"mchName":"最好吃的水蜜桃",
"mchID":"SYT002",
"spbillCreateIp" : "10.125.22.33",
"feeType" : "CNY",
"limitPay" : "01",
"confirmOrder" :"N",
"unpaidAmount":"44",
"paidAmount":"44",
"discountFee":"88",
"customerID":"1321412",
"merchantID":"143214321431"
"platformID":"2345234521"
},
random:"123456",
sign:"AFF38BC65C02F08DDE9CA12EEB2FB2CC",
autoFillData:{
"realName":"",
"cardNo":"",
"identity":"",
"mobile":"",
"revmobile":""
}
}
},function (callBackResult) {
console.log(callBackResult);
})