丰收互联小程序支付-交易创建-自研
大约 5 分钟
丰收互联小程序支付-交易创建-自研
丰收互联小程序支付-交易创建
服务ID | zjrcuoip.pay.uas.mch.fshl.trxcrt |
---|---|
VERSION | 1.0.0 |
服务详细描述
丰收互联小程序支付场景下单。
注:参数中的必填要求:M为必填项,O为非必填项,C为条件选填项。
示例代码
DemoOp.java
/**
* 丰收互联小程序支付-交易创建-自研
*
* @author
*/
@Service
public class uasRecSettleDemoOp {
@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.fshl.trxcrt");
// 设置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 | openId | 用户唯一标示 | M | String | 32 | |
3 | txId | 商户订单号 | M | String | 32 | 32个字符以内、只能包含字母、数字、下划线,且应包含当日日期时间,需保证在商户端不重复。 |
4 | mrchOrderNo | 商户原始订单号 | O | String | 64 | |
5 | subOrderInfo | 子订单信息 | C | List | 合并支付场景下该字段必输,最多支持10个子商户信息,详见subOrderInfo说明 非合并订单支付场景,禁止传入该字段 | |
6 | conScene | 消费场景 | M | String | 32 | 14:丰收互联小程序支付-交易创建-自研 |
7 | txTp | 交易类型 | M | String | 2 | 01-消费 |
8 | bizCgy | 业务类型 | M | String | 4 | A001-消费 |
9 | purpPrtry | 业务种类 | M | String | 7 | A001001-实物商品租赁 A001002-虚拟商户购买 A001003-预付类账户充值 A001004-航旅交通服务 A001005-活动票务订购 A001006-商业服务消费 A001007-生活服务消费 A001008-其他商家消费 A001009-金融服务 |
10 | txDtTm | 交易时间 | M | Datetime | 14 | 交易发起时间,格式yyyyMMddHHmmss |
11 | validTime | 订单失效时间 | O | String | 4 | 订单失效时间,数值为整数,单位分,不得超过45分钟。 |
12 | amt | 交易金额 | M | String | 15 | 单位为元,精确到小数点后两位。 |
13 | ccy | 交易币种 | O | String | 3 | 默认CNY-人民币,指amt的币种 |
14 | settleCcy | 结算币种 | O | String | 3 | 商户指定结算币种,目前仅支持CNY-人民币。 |
15 | disctAmt | 可打折金额 | O | String | 15 | 参与优惠计算的金额,单位为元,精确到小数点后两位。如果该值未传入,但传入了<交易金额>和<不可打折金额>,则该值默认为<交易金额>-<不可打折金额> |
16 | undisctAmt | 不可打折金额 | O | String | 15 | 不参与优惠计算的金额,单位为元,精确到小数点后两位。如果该值未传入,但传入了<交易金额>和<可打折金额>,则该值默认为<交易金额>-<可打折金额> |
17 | numbInst | 丰收互联信用卡分期数 | O | String | 2 | 如该字段不为空,用户使用丰收互联中的信用卡分期产品时不允许自由选择其他分期数 |
18 | subject | 订单标题 | M | String | 256 | 商品标题/交易标题/订单标题/订单关键字等。 |
19 | ip | 终端IP地址 | M | String | 45 | 能获取到用户端设备IP的场景下传用户端IP,获取不到的场景下可不传 |
20 | mac | 终端MAC地址 | O | String | 32 | 能获取到用户端设备MAC的场景下传用户端MAC,获取不到的场景下可不传 |
21 | notifyUrl | 通知地址 | M | String | 128 | 商户接收异步通知的地址 |
22 | redirectUrl | 跳转地址 | O | String | 128 | 支付成功后在支付结果页跳转的目标地址 |
23 | remark | 备注 | O | String | 256 | 备注信息 |
24 | attach | 附加数据 | O | String | 78 | 附加数据,在通知和查询接口中原样返回,该字段主要用于携带自定义数据。如包含特殊字符需做Base64编码 |
subOrderInfo说明:
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | subTxId | 子订单号 | M | String | 32 | |
2 | subMchSeq | 子订单商户识别号 | M | String | 32 | |
3 | subAmt | 子订单金额 | M | String | 15 | 单位为元,精确到小数点后两位。 |
业务输出项
序号 | 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 | msgId | 交易流水号 | M | String | 32 | 收单交易系统生成的流水号 |
2 | order | 订单信息加密串 | M | String | 1024 |