表示退款成功 2.5.5 响应示例
1. 失败:{\2. 成功:{\
2.5.6 接口说明
9. 商户要保证退款流水号的唯一性。
10. 在商户提交退款时,防止多次提交同一笔退款。
11. 接口方式采用webservices方式,key由翼支付网关平台分配给各商户。
12. MAC校验,保证了交易信息到翼支付网关平台的完整性,参与MAC运算的字符及其
顺序如下:
13. COMMCODE=123456789&COMMPWD=123456&ORDERREFUNDID=2008031
4000001&REQTIME=20080314121212&TRANSAMT=10000&KEY=DJKF34ER35D58D
14. 商户业务平台将上述固定顺序组织的字符串,参数名均为大写,使用标准md5算法进
行摘要,然后将摘要果转成16进制字符串,就是校验域MAC的值,将MAC值和订单信息调用接口时,一起提供给翼支付网关平台。
2.5.7 客户端测试用例
import org.apache.axis.client.*; import javax.xml.namespace.QName;
import com.bestpay.paycenter.commons.util.CryptTool;
public class WSTestClient {
public static void main(String[] args) throws Exception {
String url = \ String commCode = \ String subCommCode = \ String commPwd = \
String oldOrderId = \ String oldOrderPayId = \ String orderRefundId = \ String transAmt = \
String reqTime = \
//组装mac加密明文串
StringBuffer sb = new StringBuffer(); String key = \
sb.append(\ sb.append(\ sb.append(\ sb.append(\ sb.append(\
sb.append(\此处是商户的key,用于MAC校验
String mac = CryptTool.md5Digest(sb.toString());//进行md5加密(商户自己封装MD5加密工具类,此处只提供参考)
String[] param = {commCode, subCommCode, commPwd, oldOrderId, oldOrderPayId, orderRefundId , transAmt, reqTime, mac};
//WebService请求的入参,以数组形式给出,顺序排列需与接口文档一致
//示例使用Apache Axis进行webservice请求,仅供参考,商户可以使用其它形式来发起webservice请求
Service service = new Service(); Call call = (Call)service.createCall();
call.setTargetEndpointAddress(url); //webservice的地址 call.setOperationName(new QName(url, \ //调用的方法 String result = (String)call.invoke(param); System.out.println(\响应结果:\ } }
2.6 分账退款【建议使用2.3】 2.6.1 接口描述
接口名称 接口描述 接口类型 数据编码 接口提供者 接口使用者
支付交易分账退款接口 通过调用退款接口向翼支付网关平台发出退款请求完成退款。 WebService UTF-8 翼支付网关平台 商户 2.6.2 接口地址
生产地址 https://ivrpaywg.bestpay.com.cn/services/divDetailsRefund?wsdl
2.6.3 接口参数
属性 commCode subCommCode 含义 商户代码 商户子代码 商户调用密码 原扣款订单号 原订单请求支付流水号 退款流水号 订单交易金额 交易请求时间 分账明细 类型 n ans 长度 20 20 必填 M O 备注 由翼支付网关平台统一分配给各接入商户 商户子代码 如没有则填空 商户执行时需填入相应密码 commPwd an 20 M oldOrderId an 30 M 原扣款成功的订单号 oldOrderPayId an 30 M 原扣款成功的请求支付流水号 orderRefundId an 30 M transamt n 12 M 该流水在商户处必须是唯一的,而且每次发起退款时,都必须是唯一的 单位为分 yyyyMMDDhhmmss reqTime n 14 M divDetails n 1024 M mac Macan 校验域 32 M 分账示例:0018888888:10|3100888888:10 分账规则:父商户可以全额退款,子商户的分账退款金额必须小于支付分账金额,分账金额不能为0。 md5摘要
2.6.4 接口响应
属性 errorCode 含义 错误码 类型 ans 10 长度 必填 O 备注 当success为false时取此值,为true时,errorCode为0000,表示退款成功
2.6.5 响应示例
1. 失败:{\
2. 成功:{\
2.6.6 接口说明
1. 商户要保证退款流水号的唯一性。
2. 在商户提交退款时,防止多次提交同一笔退款。
3. 接口方式采用webservices方式,key由翼支付网关平台分配给各商户。
4. MAC校验,保证了交易信息到翼支付网关平台的完整性,参与MAC运算的字符及其
顺序如下:
5. COMMCODE=123456789&COMMPWD=123456&ORDERREFUNDID=2008031
4000001&REQTIME=20080314121212&TRANSAMT=10000&DIVDETAILS=0018888888:9000|3100888888:1000&KEY=DJKF34ER35D58D
6. 商户业务平台将上述固定顺序组织的字符串,参数名均为大写,使用标准md5算法进
行摘要,然后将摘要果转成16进制字符串,就是校验域MAC的值,将MAC值和订单信息调用接口时,一起提供给翼支付网关平台。
2.6.7 客户端测试用例
import org.apache.axis.client.*; import javax.xml.namespace.QName;
import com.bestpay.paycenter.commons.util.CryptTool;
public class WSTestClient {
public static void main(String[] args) throws Exception {
String url = \ String commCode = \ String subCommCode = \ String commPwd = \
String oldOrderId = \ String oldOrderPayId = \ String orderRefundId = \ String transAmt = \
String reqTime = \
String divDetails = \分账明细
//组装mac加密明文串
StringBuffer sb = new StringBuffer(); String key = \
sb.append(\ sb.append(\ sb.append(\ sb.append(\ sb.append(\ sb.append(\
sb.append(\此处是商户的key,用于MAC校验
String mac = CryptTool.md5Digest(sb.toString());//进行md5加密(商户自己封装MD5加密工具类,此处只提供参考)
String[] param = {commCode, subCommCode, commPwd, oldOrderId, oldOrderPayId, orderRefundId , transAmt, reqTime, divDetails, mac};
//WebService请求的入参,以数组形式给出,顺序排列需与接口文档一致
//示例使用Apache Axis进行webservice请求,仅供参考,商户可以使用其它形式来发起webservice请求
Service service = new Service(); Call call = (Call)service.createCall();
call.setTargetEndpointAddress(url); //webservice的地址 call.setOperationName(new QName(url, \ //调用的方法 String result = (String)call.invoke(param); System.out.println(\响应结果:\ } }
2.7 冲正【建议使用2.4】 2.7.1 接口描述
接口名称 接口描述 接口类型 数据编码 接口提供者 接口使用者 支付交易冲正接口 通过调用退款接口向翼支付网关平台发出冲正请求完成冲正。 WebService UTF-8 翼支付网关平台 商户