支付宝预授权解冻-自研
大约 4 分钟
支付宝预授权解冻-自研
支付宝预授权解冻
服务ID | zjrcuoip.pay.uas.mch.code.unfreeze |
---|---|
VERSION | 1.0.0 |
服务详细描述
预授权成功后,由于买家或者商家等其他原因需要要解冻资金时通过开放平台调用该接口。
注:参数中的必填要求:M为必填项,O为非必填项,C为条件选填项。
示例代码
UasPayCodeMchUnfreezeDemoOp.java
/**
* 支付宝预授权解冻-自研
*
* @author
*/
@Service
public class UasPayCodeMchUnfreezeDemoOp {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void execute() {
// 1.获取通讯连接对象
INetTools netTools = NetToolsHttpFactory.getHttpInstance();
// 2.生成公共请求报文对象
OipReqBean oipReqBean = new OipReqBean();
// 设置应用id
oipReqBean.setAppId("应用id");
// 设置开发者id
oipReqBean.setDlpId("开发者id");
// 设置产品id
oipReqBean.setProdId("产品id");
// 设置api方法名
oipReqBean.setMethod("zjrcuoip.pay.uas.mch.code.unfreeze");
// 设置api版本
oipReqBean.setVersion("1.0.0");
// 设置时间戳
SimpleDateFormat sfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
oipReqBean.setTimestamp(sfs.format(new Date()));
// 3.生成请求配置对象,配置请求地址/url等信息
NetReqConfBean netReqConfBean = new NetReqConfBean();
// 应用私钥
netReqConfBean.setAppPrivateKey("应用私钥");
// 请求地址
netReqConfBean.setNetUrl("请求地址");
// 开发者公钥
netReqConfBean.setPublicKey("开发者公钥");
// 设置业务报文
Date d=new Date();
SimpleDateFormat sf=new SimpleDateFormat("yyyyMMddHHmmss");
//以map接收所有参数生成业务报文,主要是必输项,具体参考接口文档
Map map =new HashMap();
map.put("输入项必输字段", "字段值");
String bizContent = JSON.toJSONString(map);
// 生成业务报文json对象
oipReqBean.setBizContent(bizContent);
// 通讯获取报文对象
OipRspBean oipRspBean = netTools.execute(oipReqBean, netReqConfBean);
// 响应成功
if (oipRspBean.isSuccess()) {
String bizJson = oipRspBean.getBizContent();
if (StringUtils.isNotBlank(bizJson)) {
Map bizData = JSON.parseObject(bizJson, Map.class);
System.out.println(bizData);
}
}
}
}
公共报文
业务输入项
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | mchSeq | 商户识别号 | M | String | 32 | |
2 | conScene | 消费场景 | M | String | 2 | 38-支付宝预授权解冻-自研 |
3 | txTp | 交易类型 | M | String | 2 | 22-预授权解冻 |
4 | bizId | 请求流水号 | M | String | 32 | 32个字符以内、只能包含字母、数字、下划线;需保证在商户端不重复。 |
5 | orglTxId | 原商户订单号 | M(三选一) | String | 32 | orglTxId为原预授权交易的商户订单号 |
6 | orglMsgId | 原交易流水号 | M(三选一) | String | 32 | orglMsgId为原预授权交易由收单系统生成的流水号 |
7 | orglTradeNo | 原支付流水号 | M(三选一) | String | 32 | orglTradeNo为原预授权交易由支付系统生成的流水号 |
8 | txDtTm | 交易时间 | M | Datetime | 14 | 申请解冻时间,格式为yyyyMMddHHmmss |
9 | amt | 交易金额 | M | String | 15 | 单位为元,精确到小数点后两位。 指解冻金额,暂不支持部分解冻。 |
10 | ccy | 交易币种 | O | String | 3 | 默认CNY-人民币,指txAmt的币种。 |
11 | extraParam | 业务扩展参数 | O | String | 2048 | 解冻扩展信息,json格式; unfreezeBizInfo目前为芝麻消费字段,支 Key值如下: "bizComplete":"true" -- 选填:标识本次解冻用户是否履约,如果true信用单会完结为COMPLETE 样例: {"unfreezeBizInfo": "{"bizComplete":"true"}"} |
12 | remark | 备注信息 | M | String | 255 | 备注信息 |
业务输出项
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | bizSts | 交易状态 | M | String | 4 | 指解冻处理结果。02-交易成功,03-交易失败 |
2 | bizStsDesp | 交易状态描述 | M | String | 255 | 如:交易成功 |
3 | rjctRsnCd | 错误码 | O | String | 32 | |
4 | rjctRsn | 错误描述 | O | String | 255 |
以下字段在bizSts为02-交易成功时有返回:
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | bizId | 请求流水号 | M | String | 32 | 请求的bizId原样返回 |
2 | msgId | 交易流水号 | M | String | 32 | 收单系统生成的唯一交易流水号 |
3 | tradeNo | 支付流水号 | M | String | 32 | 支付系统生成的唯一流水号 |
4 | authNo | 支付宝的资金授权订单号 | M | String | 64 | |
5 | tnltxId | 通道交易号 | M | string | 64 | 支付宝的资金操作流水号 |
6 | timeEnd | 交易完成时间 | O | String | 14 | 指解冻成功时间。 |
7 | creditAmt | 信用解冻金额 | O | String | 15 | 本次解冻操作中信用解冻金额 |
8 | fundAmt | 自有资金解冻金额 | O | String | 15 | 本次解冻操作中自有资金解冻金额 |