数字货币-交易创建-服务商
大约 12 分钟
数字货币-交易创建-服务商
数字货币-交易创建
服务ID | zjrcuoip.pay.uas.dc.trxcrt |
---|---|
VERSION | 1.0.0 |
服务详细描述
接入数字货币主扫产品先调用该接口生成二维码链接,具体支付结果以支付结果通知为准。
注:参数中的必填要求:M为必填项,O为非必填项,C为条件选填项。
示例代码
uasDcTrxcrtDemoOp.java
/**
* 数字货币-交易创建-服务商
*
* @author
*/
@Service
public class uasDcTrxcrtDemoOp {
@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.dc.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 | sellerId | 卖家支付宝用户ID | O | String | 28 | 卖家支付宝用户ID。 如果该值为空,则默认为商户签约账号对应的支付宝用户ID。 |
3 | txId | 商户订单号 | M | String | 32 | 32个字符以内、只能包含字母、数字、下划线,且应包含当日日期时间,需保证在商户端不重复。 |
4 | mrchOrderNo | 商户原始订单号 | O | String | 64 | |
5 | txTp | 交易类型 | M | String | 2 | 01-消费 |
6 | bizCgy | 业务类型 | M | String | 4 | 1、若为微信/支付宝/银联/丰收互联通道:A001-消费 2、若为数字货币通道,取值范围见<数据字典>中数字货币通道业务类型/业务种类枚举:C203-消费 |
7 | purpPrtry | 业务种类 | M | String | 7 | 1、若为微信/支付宝/银联/丰收互联通道,枚举如下: A001001-实物商品租赁 A001002-虚拟商户购买 A001003-预付类账户充值 A001004-航旅交通服务 A001005-活动票务订购 A001006-商业服务消费 A001007-生活服务消费 A001008-其他商家消费 A001009-金融服务 2、若为数字货币通道,取值范围见<数据字典>中数字货币通道业务类型/业务种类枚举: 02030-服装类消费 02031-饰品类消费 02032-家居类消费 02033-生活类消费 02034-食品类消费 02035-虚拟类消费 02036-机票类消费 02037-旅游类消费 02038-美容类消费 02039-数码类消费 02040-电器类消费 02041-文体类消费 02042-酒店类消费 02043-其他类消费 |
8 | txDtTm | 交易时间 | M | Datetime | 14 | 交易发起时间,格式yyyyMMddHHmmss |
9 | validTime | 订单失效时间 | O | String | 4 | 订单失效时间,数值为整数,单位分,不得超过45分钟。 |
10 | amt | 交易金额 | M | String | 15 | 单位为元,精确到小数点后两位。 |
11 | ccy | 交易币种 | O | String | 3 | 默认CNY-人民币,指amt的币种 |
12 | disctAmt | 可打折金额 | O | String | 15 | 参与优惠计算的金额,单位为元,精确到小数点后两位。如果该值未传入,但传入了<交易金额>和<不可打折金额>,则该值默认为<交易金额>-<不可打折金额> |
13 | undisctAmt | 不可打折金额 | O | String | 15 | 不参与优惠计算的金额,单位为元,精确到小数点后两位。如果该值未传入,但传入了<交易金额>和<可打折金额>,则该值默认为<交易金额>-<可打折金额> |
14 | subject | 订单标题 | M | String | 256 | 商品标题/交易标题/订单标题/订单关键字等。 |
15 | body | 订单描述 | O | String | 128 | 对交易或商品的描述 |
16 | limitTunnels | 禁用支付通道 | O | String | 128 | 禁用支付通道,多个以逗号分隔。 WEIXIN-微信,ALIPAY-支付宝,UNIONPAY-银联 |
17 | limitPay | 禁用支付方式 | O | String | 128 | 禁用多个支付方式以逗号分隔,取值范围见<数据字典>。 如传入creditCard,pcredit表示禁用支付宝-信用卡和支付宝-花呗。 |
18 | identity | 实名支付信息 | O | Map | 实名支付功能,详细字段见identity说明。 微信和银联支付时,支持校验证件信息、姓名。 支付宝支付时,支持校验证件信息、姓名、年龄。 丰收互联支付时,不支持校验任何信息。 | |
19 | prdDetail | 商品信息 | O | Map | 订单包含的商品信息,详细字段见prdDetail说明。 | |
20 | goodsTag | 订单优惠标记 | O | String | 32 | 代金券或立减优惠功能的参数。 |
21 | sceneInfo | 场景信息 | O | String | 256 | 用于上报场景信息 |
22 | storeId | 商户门店编号 | O | String | 32 | |
23 | operatorId | 商户操作员编号 | O | String | 28 | |
24 | areaCd | 区域信息 | M | String | 6 | 商户所在地地区信息,6位定长,精确到区县编码维度,与国家统计局一致。注:取值范围可参考《省市区结构说明》 |
25 | termId | 终端编号 | M | String | 32 | 商户终端设备号 |
26 | termInfo | 终端信息 | O | Map | 商户侧受理终端信息。详见termInfo说明 | |
27 | bizParams | 业务信息 | O | Map | 商户传入业务信息,具体值要和支付宝约定,应用于安全、营销等参数直传场景 | |
28 | extendParams | 业务扩展参数 | O | Map | 详细字段见extendParams说明。 | |
29 | needReceipt | 电子发票功能 | O | String | 1 | 当用户使用微信支付时:0-不出现开票入口;1-支付成功消息和支付详情页将出现开票入口。 当用户使用银联支付时:0-不支持根据银行返回信息打印发票;此为缺省状态;1-可以根据银行返回信息打印发票,此时商户可以根据任意银行返回的发票信息出具增值税发票。 |
30 | redirectUrl | 跳转地址 | O | String | 128 | 支付成功后在支付结果页跳转的目标地址 |
31 | notifyUrl | 通知地址 | M | String | 128 | 商户接收异步通知的地址 |
32 | attach | 附加数据 | O | String | 78 | 附加数据,在通知和查询接口中原样返回,该字段主要用于携带自定义数据。如包含特殊字符需做Base64编码 |
33 | tunnel | 交易通道 | O | String | 10 | 如:ZJRCU |
identity说明:
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | name | 姓名 | O | String | 32 | |
2 | mobile | 手机号 | O | String | 20 | |
3 | certType | 证件类型 | O | String | 3 | 101-居民身份证,102-户口本,103-护照,104-军官证,105-士兵证 |
4 | certNo | 证件号 | O | String | 64 | |
5 | minAge | 最小年龄 | O | String | 3 | 允许的最小买家年龄 |
prdDetail说明:
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | costPrice | 订单原价 | O | String | 9 | 1.商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。 单位为元,精确到小数点后两位。 |
2 | receiptId | 商品小票ID | O | String | 32 | 商家小票ID |
3 | goodsDetail | 单品列表 | M | List | 单品信息,详细字段见goodsDetail说明。 |
goodsDetail说明:
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | goodsId | 商品编号 | M | String | 32 | 商品编号 |
2 | wxGoodsId | 商品编码 | O | String | 32 | 微信侧商品编码 |
3 | aliGoodsId | 支付宝商品编码 | O | String | 32 | 支付宝定义的统一商品编号 |
4 | goodsName | 商品名称 | M | String | 256 | 商品的实际名称 |
5 | quantity | 商品数量 | M | String | 10 | 用户购买的数量 |
6 | price | 商品单价 | M | String | 15 | 单位为元,精确到小数点后两位 |
7 | goodsCgy | 商品类目 | O | String | 24 | |
8 | cgyTree | 商品类目树 | O | String | 128 | 从商品类目根节点到叶子节点的类目id组成,类目id值使用|分割 |
9 | body | 商品描述信息 | O | String | 1000 | 商品描述信息 |
10 | showUrl | 商品展示地址 | O | String | 400 | 商品展示地址 |
extendParams说明:
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | sysServiceProviderId | 系统商编号 | O | String | 64 | 该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID |
2 | hbFqNum | 分期数 | O | String | 32 | 使用分期产品要进行的分期数 |
3 | hbFqSellerPercent | 手续费比例百分值 | O | String | 3 | 使用分期产品需要卖家承担的手续费比例的百分值,传入100代表100% |
4 | industryRefluxInfo | 行业数据回流信息 | O | String | 512 | {"scene_code":"me tro_tradeorder","channel":"xxxx","scene_data":{"asset_name":"ALIPAY"}} |
5 | cardType | 卡类型 | O | String | 32 |
termInfo说明:
序号 | key | 中文名称 | 是否必输 | 类型 | 长度 | 说明 |
---|---|---|---|---|---|---|
1 | location | 终端实时经纬度信息 | O | String | 32 | 受理终端设备实时经纬度信息,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。 |
2 | ntwLcs | 终端入网认证编号 | O | String | 5 | 银行卡受理终端产品入网认证编号。该编号由“中国银联标识产品企业资质认证办公室”为通过入网认证的终端进行分配。 格式:5位字符,例如P3100 |
3 | devTp | 商户端设备类型 | M | String | 2 | 终端设备类型,受理方可参考终端注册时的设备类型填写,取值如下: 01:自动柜员机(含ATM和CDM)和多媒体自助终端 02:传统POS 03:mPOS 04:智能POS 05:II型固定电话 06:云闪付终端; 07:保留使用; 08:手机POS; 09:刷脸付终端; 10:条码支付受理终端; 11:条码支付辅助受理终端; 12:行业终端(公交、地址用于指定行业的终端); 13:MIS终端 |
4 | serlNm | 终端序列号 | C | String | 50 | 终端设备的硬件序列号,商户端设备类型(devTp)填写为 02、03、04、05、06、08、09 或 10时,必须填写终端序列号。 |
5 | devId | 终端设备号 | M | String | 8 | 终端设备号,收单机构为商户终端分配的唯一编号。 |
6 | appVer | 应用程序版本号 | O | String | 8 | 终端应用程序的版本号。应用程序变更应保证版本号不重复。当长度不足时,右补空格。 |
7 | devIp | 商户端设备IP | C | String | 40 | 商户端终端设备IP地址。注:如经、纬度信息未上送,该字段必送。 |
8 | mblCtryCd | 移动国家代码 | O | String | 3 | 基站信息,由国际电联(ITU)统一分配的移动国家代码(MCC) |
9 | mblNtNm | 移动网络号码 | O | String | 2 | 中国为460 |
10 | iccId | ICCID | O | String | 20 | 基站信息,由国际电联(ITU)统一分配的移动网络号码(MNC) |
11 | lctionCd1 | 位置区域码1 | O | String | 4 | 移动:00、02、04、07; 联通:01、06、09; 电信:03、05、11 |
12 | lbsNum1 | 基站编号1 | O | String | 12 | SIM卡卡号 |
13 | lbsSgnl1 | 基站信号1 | O | String | 4 | LAC(移动、联通),16进制 |
14 | lctionCd2 | 位置区域码2 | O | String | 4 | CID(移动、联通),16进制 |
15 | lbsNum2 | 基站编号2 | O | String | 12 | SIG(移动、联通),16进制 |
16 | lbsSgnl2 | 基站信号2 | O | String | 4 | LAC(移动、联通),16进制 |
17 | lctionCd3 | 位置区域码3 | O | String | 4 | CID(移动、联通),16进制 |
18 | lbsNum3 | 基站编号3 | O | String | 12 | SIG(移动、联通),16进制 |
19 | lbsSgnl3 | 基站信号3 | O | String | 4 | LAC(移动、联通),16进制 |
20 | telSysId | 电信系统识别码 | O | String | 4 | CID(移动、联通),16进制 |
21 | telNetId | 电信网络识别码 | O | String | 4 | SIG(移动、联通),16进制 |
22 | telLbs | 电信基站 | O | String | 4 | SID(电信),电信系统识别码,每个地级市只有一个SID |
23 | telLbsSgnl | 电信基站信号 | O | String | 4 | NID(电信),电信网络识别码,由电信各地级分公司分配。每个地级市可能有1到3个NID |
业务输出项
序号 | 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 | txId | 商户订单号 | M | String | 32 | 请求的txId原样返回 |
2 | msgId | 交易流水号 | M | String | 32 | |
3 | amt | 交易金额 | M | String | 15 | |
4 | tnltxId | 通道交易号 | M | string | 64 | |
5 | prepayId | 预支付交易会话标识 | M | String | 128 | |
6 | codeURL | 商户收款二维码链接 | M | String | 512 | payProd为NATIVE且订单创建成功时返回,此url用于生成支付二维码,然后提供给用户进行扫码支付 |