翼支付商户接入规范条码支付分册V1.42剖析

上传人:仙*** 文档编号:61546729 上传时间:2022-03-11 格式:DOC 页数:71 大小:1,020.50KB
收藏 版权申诉 举报 下载
翼支付商户接入规范条码支付分册V1.42剖析_第1页
第1页 / 共71页
翼支付商户接入规范条码支付分册V1.42剖析_第2页
第2页 / 共71页
翼支付商户接入规范条码支付分册V1.42剖析_第3页
第3页 / 共71页
资源描述:

《翼支付商户接入规范条码支付分册V1.42剖析》由会员分享,可在线阅读,更多相关《翼支付商户接入规范条码支付分册V1.42剖析(71页珍藏版)》请在装配图网上搜索。

1、翼支付商户接入规范条形码支付修订历史记录日期版本说明修订2015.06.081.0初稿林健,张善良2015.07.151.1新增2.1下单业务返回 码新增2.2查询接口新增2.3退款http接 口(含分账)废弁2.5退款ws接口废弁2.6分账退款ws 接口新增2.4冲正http接口废弃2.7冲正ws接口刘永富林健韦家驹2015.07.201.2修订及完善查询接口 相关文档韦家驹2015.07.211.3下单接口返回值调整。 增加HTTP退款和冲 正接口的相关文档韦家驹2015.12.211.4查询接口增加退款标 志,及支付账户号韦家驹目录1. 引言 71.1 编写目的 71.2 编写原则 71

2、.3 读者对象 71.4 需求来源 71.5 术语定义 72. 条码支付 72.1 下单支付 72.1.1接口描述 72.1.2接口地址 82.1.3接口参数 82.1.4接口响应 92.1.5响应示例错误!未定义书签。2.1.6接口说明 112.1.7客户端测试用例 12查询. 162.2.1接口描述 162.2.2接口地址 162.2.3接口参数 162.2.4接口响应 16225响应示例 18226接口说明 182.2.7客户端测试用例 192.3 退款 222.3.1 接口描述 222.3.2 接口地址 222.3.3接口参数 222.3.4接口响应 242.3.5 响应示例 242.

3、3.6接口说明 242.3.7客户端测试用例 252.4 冲正 282.4.1 接口描述 282.4.2 接口地址 292.4.3接口参数 292.4.4 接口响应 302.4.5 响应示例 302.4.6接口说明 312.4.7客户端测试用例 312.5 退款【建议使用2.3 342.5.1 接口描述 342.5.2接口地址 352.5.3接口参数 352.5.4接口响应 352.5.5 响应示例 362.5.6接口说明 362.5.7 客户端测试用例 362.6 分账退款【建议使用2.3 372.6.1 接口描述 372.6.2 接口地址 372.6.3接口参数 382.6.4接口响应 3

4、82.6.5 响应示例 392.6.6接口说明 392.6.7客户端测试用例 392.7 冲正【建议使用2.4 402.7.1 接口描述 402.7.2接口地址 412.7.3接口参数 412.7.4接口响应 412.7.5 响应示例 422.7.6接口说明 422.7.7 客户端测试用例 422.8 交易结果通知接口 432.8.1 接口描述 43282接口地址283接口定义2.8.4接口说明3. 条码支付交互流程4. 权限申请5. 响应码说明6. 商品信息填写说明4344454647错误!未定义书签。471.引言1.1编写目的本文档的目的是为翼支付条码产品定义一个标准接口规范,以帮助外部商

5、 户更好的接入翼支付网关平台系统。1.2编写原则根据翼支付系统管理规范,从业务人员的角度对需求的阐述,以及对需求 描述的细化程度。此文档将在开发过程随着需求的变更而更改和修订。1.3读者对象本手册的读者对象默认为:接入翼支付条码产品的商户开发人员。1.4需求来源产品部门1.5术语定义2.条码支付2.1下单支付2.1.1接口描述接口名称商户下单支付接口描述商户请求翼支付网关,生成订单且完成支付接口类型HTTPS传输方式Post数据编码Utf-8接口提供者翼支付网关平台接口使用者商户2.1.2接口地址生产地址.c n/barcode/placeOrder用盘神乩2.1.3接口参数属性含义类型长度必

6、填备注mercha ntld商户号n30M由翼支付网关平台统一分配subMercha ntld子商户 号ans30O由商户平台自己分配,在做支付时, 可以一并发送过来,翼支付网关平台 可以负责记录,如没有可以不填写barcode条形码号n30M商户POS扫描用户客户端条形码orderNo订单号an30M由商户平台提供,数字或字母组成orderReqNo订单请 求交易 流水号an30M由商户平台提供,数字或字母组成cha nnel渠道n5M默认填:05busiType业务类型an5M默认填:0001orderDate订单日期n20M由商户提供,长度 14位格式 yyyyMMddhhmmssord

7、erAmt订单总金额n10M单位:分订单总金额=产品金额+附加金额productAmt产品金额n10M单位:分attachAmt附加金额n10M单位:分goodsName商品名称ans256O商品信息storeId门店号n10M门店号backUrl后台返回地址ans255O商户提供的用于异步接收交易返回结 果的后台url,商户可根据需要填写ledgerDetail分账信息ans256O商户需要在结算时进行分账情况,需 填写此字段,详情见接口说明attach附加信息ans128O商户附加信息macMAC校验域an256M采用标准的MD5算法,由商户实现2.1.4接口响应属性含义类型长度必填备注s

8、uccess是否成功booleanMTrue :成功False :失败代表商户下单的成功与失败result调用返回值ans100O当success为true 时,result 为下单详 情,success 为 false 时,result 为 nul lerrorCode错误码ans10O当 success 为 true 时,为 null,当 suc cess为false时,为错误码errorMsg错误描述ans10O当 success 为 true 时,为 null,当 suc cess为false时,为错误描述请求成功success为true 时响应结果 result 为:属性含义类型长度

9、必填备注mercha ntld商户号n30M由翼支 付网关 平台统 一分配mercha ntldorderNo商户总订单号an 30M查询到 的商户 订单号orderNoorderReqNo商户总订单请求流水号an 30M查询到 的商户 请求流 水号orderReqNoorderDate预留字段始终为nullourTra nsNo翼支付交易号an30M翼支付生成的内部流水号(用户支付后生成)tran sAmt订单金额n10Mtran sStatus交易状态A :请求(支付中)B :成功(支付成功)C :失败encodeType签名方式n1O1代表MD5 3代表RSA 9代表CA 默认为1sig

10、nsign校验域an30M2.1.5请求及响应示例请求参数示例:mercha ntld=043101180050000&subMercha ntld=043101180050000&barcode=515665002854886972&o rderNo=1433734609560&o rderReqNo=14337346095601 & orderDate=20150608113649&chann el=05&busiType=0001 &orderAmt=1 &prod uctAmt=1 &attachAmt=0&goodsName=%E6%9D%A1%E7%A0%81%E6%94%AF%E

11、4%BB%98&storeld=201231 &backUrl=http%3A%2F%2F127.0.0.1%3A8030%2FwebBgNotice.actio n&l edgerDetail=&attach=&mac=3B5E200FD1EF8988693F242438A32475响应参数示例:成功:success:true,result:merchantId:043101180050000,orderNo:1437384365362,orderReqNo:14373843653621,orderDate: null,tra nsStatus:B,tra n sAmt:1,ourTra n

12、sNo:2015072000000207092286,e ncodeType:1,sig n:E1E 4E5141AB332F0F2E2A1EA0DE32120,errorCode: null,errorMsg: null 失败:success:false,result:null,errorCode:BE300001,errorMsg:订单 MAC 域 验证失败2.1.6接口说明1. 商户的商户号由翼支付统一分配,商户需与翼支付的运营人员对接,提供商户资料,申请正式的商户号。2. 商户要保证订单号的唯一性。3. 订单请求流水号不能重复,建议以日期时间(yyyyMMDDhhmmss 格式)加一固

13、定长度(不小于6位)流水号组成,如:20061012132425 + 0000001等。4. 订单流水号和订单号可以相同。(使用翼支付提供的“流程测试”商户时除外,如果相同会提示订单或流水号重复的错误)5. MAC校验,保证了交易信息到翼支付网关平台的完整性,参与MAC运算的字符及其顺序如下:a) 顺序MERCHANTID=123456789&ORDERNO=123456&ORDERREQNO=1234567&0RDERDATE=200603141210&BARCODE=111111 &ORDERAMT=1 &KEY=123456b) 此处的KEY为商户的数据 KEY,可以通过翼支付的统一运行

14、地址生成。此数据KEY对本文档其它接 口进行 MAC 校验时同样适用。https:/ma .c n/log in .jspc) 要求:将上述固定顺序组织的字符串,参数名均为大写,使用标准md5算法进行摘要,然后将摘要果转成 16进制字符串,字符串建议使用大写,就是校验域MAC的值,并在提交订单时,将 MAC值和订单信息一起提交到翼支付网关翼支付网关平台。d) 需保证MAC校验时中的各个参数,与下单请求时的参数完全一致。6. 商户若需分账,则填写ledgerDetail 字段,例如:a) 规则:023101111:4|023102222:3|023103333:1b) 说明:订单总金额 4+3+

15、1=8 分滴户023101111 分账4分,每组对应关系之间“|”分隔c) 分账权限与一般支付权限不同。商户分账支付的权限需要额外申请,并且在结算时翼 支付将形成各个分账商户的对账文件。7. 下单支付接口返回的 success值并不是最终支付结果。支付结果在下单成功情况下,result的transStatus 字段代表支付结果。8. 返回结果中的翼支付网关流水号ourTra nsNo ,当用户完成支付后才会生成。对于有密支付情况,由于用户未实际支付,返回的流水号为空字符串。商户可在查询接口获得该流水号。9. 接口响应中的sign值是网关根据返回结果进行的前面,保证收到结果的完整性,商户可以根据

16、需要进行验签,目前签名默认为 MAC形式,参与MAC运算的字符及其顺序如下:顺 序 :MERCHANTID=0018888888&ORDERNO=1234567890&0RDERREQN0=20141001 &ORDERDATE=null&O URTRANSN0=201508080808& TRANSAMT=10 &TRANSSTATUS=B&ENCODETYPE=1 &KEY=123456ORDERDATE在下单接口返回时暂未使用,目前始终为null 。2.1.7客户端测试用例注:此用例仅供参考import mons.util.CryptTool;import org.apache.http

17、.C on sts;import org.apache.http.HttpEntity;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.clie nt.c on fig.RequestC on fig;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.

18、apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpCIient;import org.apache.http.impl.client.HttpCIients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import javax .n et.ssl.SSLC on text;import javax.xml.namespace.QName;imp

19、ort java.security.cert.CertificateException;import java.security.cert.X509Certificate;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.conn.ssl.SSLContextBuilder;import org

20、.apache.http.conn.ssl.TrustStrategy;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class TestClient public static void main(String args) throws ExceptionStri ngmercha ntld=043101180050000;Stri ngorderNo =1433734609522;Stri ngorderReqNo=143373460

21、95221;Stri ngorderDate =:20150608113649;Stri ngbarcode = 1512582454851204002:String orderAmt = 1;StringBuilder sb = new StringBuilder(); 组装 mac 加密明文串sb.appe nd(MERCHANTID=). appe nd(mercha ntld);sb. appe nd(&ORDERNO=).appe nd(orderNo);sb.ap pe nd(”&ORDERREQNO=). appe nd(orderReqNo);sb.append(”&ORDER

22、DA TE=).append(orderDate);sb. appe nd(&BARCODE=).appe nd(barcode);sb.ap pe nd(”&ORDERAMT=).appe nd(orderAmt);sb.append(&KEY=).append(111); 此处是商户的 keyString mac = CryptTool.md5Digest(sb.toString(); 进行 md5 加密(商户自己圭寸装 MD5加密工具类,此处只提供参考)Map param = new HashMap(); 组装请求参数 param.put(mercha ntld, mercha ntld

23、);param.put(subMercha ntld, mercha ntld);param.put(barcode, barcode);param.put(orderNo, orderNo);param.put(orderReqNo, orderReqNo);param.put(orderDate, orderDate);param.put(channel, 05);param.put(busiType, 0001);param.put(TransType, B);param.put(orderAmt, orderAmt);param.put(productAmt, 1);param.put

24、(attachAmt, 0);param.put(goodsName,条码支付);param.put(storeld, 201231);param.put(backUrl, http:/127.0.0.1:8030/webBgNotice.actio n);param.put(ledgerDetail, );param.put(attach, );param.put(mac, mac);/创建信任证书CloseableHttpClient httpClient = createSSLClientDefault();HttpPost httpPost = null;CloseableHttpRe

25、sp onse resp onse = nu II;try httpPost = new HttpPost();List paramList = new ArrayList();for (String key : param.keySet() paramList.add(new BasicNameValuePair(key, param.get(key);httpPost.setEntity(new UrlEncodedFormEntity(paramList,Consts.UTF_8);httpPost.setCo nfig(RequestCo nfig.custom().setCo nn

26、ectTimeout(30000).setSocketT imeout(30000).build();resp onse = httpClie nt.execute(httpPost);HttpEntity entity = response.getEntity();int statusCode = response.getStatusLine().getStatusCode();if(HttpStatus.SC_OK = statusCode)/如果响应码是 200System.out.pri ntl n(E ntityUtils.toStri ng(e ntity); fin ally i

27、f (response != null) resp on se.close();if (httpPost != null) httpPost.releaseC onn ecti on();httpClie nt.close();/创建链接public static CloseableHttpClient createSSLCIientDefault()throws Exception SSLContext sslContext =new SSLContextBuilder().loadTrustMaterial(null , newAIITrustStrategy().build();SSLC

28、onnectionSocketFactory sslSf =new SSLConnectionSocketFactory(sslContext);return HttpClients.custom().setSSLSocketFactory(sslSf).build();/加载证书private static classAllTrustStrategy implements TrustStrategy public boolean isTrusted(X509Certificate x509Certificates, String s)throwsCertificateException re

29、turn true ;说明当使用org.apache.http.client 之外的第三方类封装 HTTP请求时,需要注意1. HTTP请求中的字符串,需要经过URL编码,其中的中文字符使用 UTF-8。2. HTTP 请求中的 Content-Type 使用application/x-www-form-urlencoded;charset=UTF-8,请求方法为POST。2.1.8错误码错误码描述备注BE199999请求参数有误检查HTTP请求相关代码BARCODE_VALID条形码验证异常ATE_ERROR849卡信息解密失败用户信息异常5146查询绑卡信息出错用户信息异常4008绑卡信息

30、不存在用户信息异常-301订单MAC域验证失败-302校验订单出错检查订单金额-304商户未配置此交易权限1001商户未注册1002商户未配置密钥信息检查数据KEY是否申请1003商户未开通银行-3061分账商户不存在-3062分账金额有误-3063分账金额总和不等于订单金额-3064分账商户父商户有误-3065分账信息不允许有两个相同商户BARCODE_STOR条码门店号不能为空E_CODE_IS_EMPTYBE999999系统繁忙,请稍后再试系统原因,联系技术支协查2.2订单查询221接口描述接口名称订单查询接口接口描述为商户提供入口接口类型HTTPS传输方式POST数据编码Utf-8接口

31、提供者翼支付网关平台接口使用者商户业务平台222接口地址生产地址.c n/query/queryOrder2.2.3接口参数属性含义类型长度必填备注mercha ntld商户号n30M由翼支付网关平台统一分配orderNo订单号an 30M由商户平台提供,数字 或字母组成orderReqNo订单请求交易流水号an 30M由商户平台提供,数字 或字母组成orderDate订单日期an 20M日期格式:yyyyMMddmacmac 校验域an 256M默认为0,当加密方式为1时有意义,采用标准的MD5算法,由商户实现参数含义类型和长度备注2.2.4接口响应参数含义类型和长备注度success是否查

32、询到订 单boolea nTrue :成功False :失败result调用返回值ans100当success 为true 时取此值,result中包含的信息见下表errorCode错误码an s10当success为false时取此值,result为空errorMsg错误描述an s10当success为false时取此值,result为空refun dFla g退款标识n10代表为退款,1已退款2部分退款3已冲正查询成功success为true 时响应结果 result(MAP) 为:参数含义类型长度必填备注mercha ntld商户号n30M由翼支付网关平台统一分配orderNo商户总订

33、单号an 30M查询到的商户订单号orderReqNo商户总订单请求流水号an 30M查询到的商户请求流 水号orderDate商户下单时间n20MyyyyMMDDHHmmss查询到的订单实际日 期,可能与查询请求 日期不同ourTra nsNo网关平台流水号n30M翼支付生成的内部流水号tra nsAmt交易金额n10M单位:分tra nsStatus交易状态n1MA :请求(支付中)B:成功(支付成功)C:失败G :订单作废encodeType加密方式n1O1代表MD5 3代表RSA 9代表CA 默认为1signsign校验域anM验证签名,签名方式根据 encodeType决定refun

34、 dFlag退款标识n1M0代表为退款,1已 退款2部分退款3已 冲正customerID客户支付手机号n11M客户条码消费时的支 付手机号,中间4位 被隐去,用*代替女口 180*2687225请求及响应示例请求示例orderReqNo=20150713093607000001 &o rderNo=20150713093607&o rderDate=20150713&mac=880D9E9DE657E3C351697D3B6CFE5626&mercha ntld=043101180050000HTTP请求对参数的顺序没有要求,保证参数名称完全一致(包括大小写)。响应示例订单存在success

35、:true,result:mercha ntld:043101180050000,orderNo:20151026105223,order ReqNo:20151026105223000001,orderDate:20151026105358,tra nsStatus:B,tra nsAmt:1,ourTra nsNo:2015102600000297670338,e ncodeType:1,sig n:B0C948619CB5895FEABEB39328934144,customerlD:180*2687,refu ndFlag:0,errorCode: null,errorMsg: nul

36、l订单不存在success:false,result: null,errorCode:BE110062,errorMsg:没有找到符合条件的记录。其它错误success:false,result: null,errorCode:BE199999,errorMsg:订单日期格式有误 接口响应的格式为 JSON。2.2.6接口说明1. MAC校验,保证了交易信息到翼支付网关平台的完整性,参与MAC运算的字符及其顺序如下:a)顺 序 :MERCHANTID=0018888888&ORDERNO=1234567890&ORDERREQNO=20141001 &ORDERDATE=201507020&K

37、EY=123456b)要求:将上述固定顺序组织的字符串,参数名均为大写,使用标准md5算法进行 摘要,然后将摘要果转成16进制字符串,字符串建议使用大写,就是校验域MAC 的值,并在提交订单时,将MAC值和订单信息一起提交到翼支付网关翼支付网关 平台。KEY值为商户的数据 KEY。2. 接口响应的success字段标识的是查询过程的结果,并不代表交易的成功和失败。交易的结果当success为true时,取result中的tranStatus 字段。字段为A,代表请求 状态,表明用户正在输入密码或交易本身在进行中。字段为B时,代表本次交易成功。字段为C时,代表本次交易失败。字段为G时,代表本次交

38、易已被作废。3. 订单请求时,为了加快查询的速度,需给定下单的日期,实际的查询范围,会在给定日期的前一天到给定日期的后一天范围内进行。4. 接口响应中的sign值是网关根据返回结果进行的前面,保证收到结果的完整性,商户可以根据需要进行验签,目前签名默认为MAC形式,参与MAC运算的字符及其顺序如下:顺 序 :MERCHANTID=0018888888&ORDERNO=1234567890&ORDERREQNO=20141001 &ORDERDATE=2015070215000000&0 URTRANSN 0=201508080808&TRANSAMT=10 &TRANSSTATUS=B&ENC

39、ODETYPE=1 &KEY=1234562.2.7客户端测试用例import mons.util.CryptTool;import org.apache.http.C on sts;import org.apache.http.HttpEntity;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.clie nt.c on fig.RequestC on fig;import org.apache.http.client.entity.UrlEncoded

40、FormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpCIient;import org.apache.http.impl.client.HttpCIients;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.En

41、tityUtils;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax .n et.ssl.SSLC on text;import javax.xml.namespace.QName;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import java.util.ArrayList;import jav

42、a.util.HashMap;import java.util.List;import java.util.Map;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.conn.ssl.SSLContextBuilder;import org.apache.http.conn.ssl.TrustStrategy;public class QueryClient public static void main(String args) throws Exception String m

43、erchantld = 043101180050000;String orderNo = 20150713093607;String orderReqNo = 20150713093607000001;String orderDate = 20150713;StringBuilder sb = new StringBuilder(); 组装 mac 加密明文串sb.appe nd(MERCHANTID=). appe nd(mercha ntld);sb. appe nd(&ORDERNO=).appe nd(orderNo);sb.ap pe nd(”&ORDERREQNO=). appe

44、nd(orderReqNo);sb.append(”&ORDERDA TE=).append(orderDate);sb.append(&KEY=).append(111); 此处是商户的 keyString mac = CryptTool.md5Digest(sb.toString();/ 进行 md5 加密(商户自己圭寸装 MD5加密工具类,此处只提供参考)Map param = new HashMap(); 组装请求参数,参 数名大小写敏感param.put(mercha ntld, mercha ntld);param.put(orderNo, orderNo);param.put(o

45、rderReqNo, orderReqNo);param.put(orderDate, orderDate);param.put(mac, mac);/创建信任证书CloseableHttpClient httpClient = createSSLCIientDefault();HttpPost httpPost = null;CloseableHttpResp onse resp onse = nu II;try /发起HTTP的POST请求httpPost = new HttpPost( List paramList = new ArrayList();for (String key :

46、param.keySet() paramList.add(new BasicNameValuePair(key, param.get(key);/UTF8+URL 编码httpPost.setEntity(new UrlEncodedFormEntity(paramList,Consts.UTF_8);httpPost.setCo nfig(RequestCo nfig.custom().setCo nn ectTimeout(30000).setSocketT imeout(30000).build();resp onse = httpClie nt.execute(httpPost);Ht

47、tpEntity entity = response.getEntity();int statusCode = response.getStatusLine().getStatusCode();if (HttpStatus.SC_OK = statusCode)/如果响应码是 200System.out.pri ntln(En tityUtils.toStri ng(e ntity); fin ally if (response != null) resp on se.close();if (httpPost != null) httpPost.releaseC onn ecti on();h

48、ttpClie nt.close();public static CloseableHttpClient createSSLCIientDefault()throws Exception SSLContext sslContext =new SSLContextBuilder().loadTrustMaterial(null , new AllTrustStrategy().build();|SSLConnectionSocketFactory sslSf =new SSLConnectionSocketFactory(sslContext);return HttpClients.custom

49、().setSSLSocketFactory(sslSf).build();/加载证书private static classAllTrustStrategy implements TrustStrategy public boolean isTrusted(X509Certificate x509Certificates, String s)throws CertificateException return true ;2.2.8错误码错误码描述备注1002商户未配置密钥信息检查数据KEY是否申请BE300001订单MAC域验证失败BE199999请求参数有误具体的参数错误,在描述中有体现

50、BE110062没有找到符合条件的记录。系统繁忙,请稍后再试BE999999系统原因,联系技术支协查2.3普通退款231接口描述接口名称支付交易普通退款接口接口描述通过调用退款接口向翼支付网关平台 发出退款请求完成退款。接口类型HTTPS数据编码UTF-8接口提供者翼支付网关平台接口使用者商户生产地址.c n/refun d/com monR efund2.3.2接口地址生产地址.c n/refun d/com monRefund2.3.3接口参数属性含义类型长度必填备注mercha ntld商户代码n20M由翼支付网关平台统一分配给各接入商户subMercha ntld商户子代ans20O商

51、户子代码码如没有则填空mercha ntPwd商户调用an20M商户执行时需填入相应密密码码oldOrderNo原扣款订单号an30M原扣款成功的订单号oldOrderReqNo原订单请求支付流水号an30M原扣款成功的请求支付流水号refun dReqNo退款流水号an30M该流水在商户处必须是唯 一的,而且每次发起退款 时,都必须是唯一的refun dReqDate退款请求日期n14MyyyyMMDDtran sAmt退款交易金额n12M单位为分,小于等于原订单金额ledgerDetail分账明细n1024O分 账 示 例:0018888888:10|3100888888:10分账规则:父

52、商户可以全 额退款,子商户的分账退 款金额必须小于支付分账 金额,分账金额不能为0。cha nnel渠道n5M01 : WEB02 : WAP04 :语音05 :客户端macMac 校验域an32Mmd5摘要bgUrl退款回调地址ans256O商户的退款回调地址,当退款 受理成功后,会有回调消息以 HTTP形式发送至商户234接口响应属性含义类型长度必填备注success是否成功booleanMtrue :成功 false :失败result调用返回值ans100O预留字段errorCode错误码ans10O当 success 为 true 时,为 null,当 suc cess为false时

53、,为错误码errorMsg错误描述ans10O当 success 为 true 时,为 null,当 suc cess为false时,为错误描述235请求响应示例请求示例oldOrderReqNo=20150713093607000001 &o ldOrderNo=20150713093607&mac=880D9E 9DE657E3C351697D3B6CFE5626&mercha ntld=043101180050000&tra nsAmt=1 &cha nn el=01 & refun dReqNo=r20150713093607000001 &refun dReqDate=2015070

54、8&mercha ntPwd=123456响应示例成功success:true,result:null,errorCode:null,errorMsg: null 。 失败success:false,result: null,errorCode:BE110062,errorMsg:没有找到符合条件的记录。2.3.6接口说明1. 商户要保证退款流水号的唯一,性。2. MAC校验,保证了交易信息到翼支付网关平台的完整性,参与MAC运算的字符及其顺序如下:a. MERCHANTID=123456789&MERCHANTPWD=123456&OLDORDERNO=123456&OLDORDERREQN

55、O=1234567&REFUNDREQNO=2OO6O314121O&REFUN DREQDATE=20150720&TRANSAMT=1 &LEDGERDETAIL=123456789:1 &KEY= 123456b. 商户业务平台将上述固定顺序组织的字符串,参数名均为大写,使用标准md5算法进行摘要,然后将摘要果转成16进制字符串,字符串建议使用大写,就是校验域 MAC的值,将MAC值和订单信息调用接口时,一起提供给翼支付网关平台。237客户端测试用例import mons.util.CryptTool;import org.apache.http.C on sts;import org.apache.http.HttpEntity;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.clie nt.c on fig.RequestC on fig;import org.apach

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!