使用此接口发起网银支付
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/pay/online |
请求地址 | https://cbptrx.helipay.com/cbtrx/rest/pay/online |
提交方式 | 采用POST方法提交,requestbody传值 Content-Type=[application/json;charset=UTF-8] |
签名算法 | UTF-8字符编码 SHA256签名 AES加密 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
产品编码 | productCode | String(20) | 是 | ONLINEB2B | ONLINEB2B 或 ONLINEB2C |
商户订单号 | orderNo | String(64) | 是 | p_20170302185347 | 商户系统内部订单号,同一商户号下订单号唯一 |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
订单金额 | orderAmount | Number(10.2) | 是 | 0.01 | 单位:元 |
用户姓名 | memberName | String(10) | 是 | 张三 | |
用户身份证号 | memberID | String(18) | 是 | 110101200001012999 | |
用户手机号 | memberMobile | String(20) | 是 | 13701234567 | |
银行编码 | bankCode | String(20) | 是 | ICBC/CCB | 银行编码,详细信息参见附录 |
业务类型 | business | String(5) | 是 | B2C/B2B | 对公/对私 |
下单ip | orderIp | String(15) | 否 | 1.1.1.1 | |
商品描述 | goodsName | String(400) | 否 | Iphone7 | |
有效期 | period | String(6) | 否 | 1 | 默认为7 |
有效期单位 | periodUnit | String(10) | 否 | HOUR | YEAR/MONTH/DAY/HOUR/MINUTE/SECOND;默认为DAY |
服务器回调地址 | serverCallbackUrl | String(300) | 否 | http://www.456.com | |
页面回调地址 | pageCallbackUrl | String(300) | 否 | http://www.123.com | |
借贷类型 | onlineCardType | String(15) | 否 | DEBIT/CREDIT | 借/贷 |
平台商户编号 | platMerchantNo | String(10) | 否 | 如下说明 | 电商平台商户所属的平台商编号 |
分账请求参数明细 | shareList | List(100) | 否 | 如下说明 | 若商户开通分账产品,且本次交易需要分账,则此参数必填 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
排序参数 | index | Integer | 是 | 1 | 用于交易加密参数排序,不能重复 |
分账账户编号 | shareMerchantNo | String(10) | 是 | Me10000002 | |
分账金额 | shareAmount | Number(10.2) | 是 | 0.01 | 单位:元 所有明细分账金额相加必须等于交易金额 主账户分账金额必须大于交易手续费 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
产品编码 | productCode | String(20) | 是 | ONLINEB2B | ONLINEB2B 或 ONLINEB2C |
商户订单号 | orderNo | String(64) | 是 | p_20170302185347 | |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
平台流水号 | serialNumber | String(32) | 否 | 201702241400010002 | 合利宝-跨境系统生成的唯一交易流水号 |
响应码 | errorCode | String(10) | 是 | 0000 | 0000 代表请求成功 |
响应信息 | errorMessage | String(200) | 否 | 成功 | 响应信息 错误信息 |
响应时间 | current | String(20) | 是 | 2018-04-01 12:00:00 | 格式yyyy-MM-dd HH:mm:ss |
html | redirectUrl | String | 是 | 在浏览器可以自动提交的html |
@Test public void onlinePay() { RemoteServiceImpl remoteService = new RemoteServiceImpl(); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("onlinePayUrl"), installDto(), HeliRequest.class); OnlinePayResponseForm form = decode(heliRequest, OnlinePayResponseForm.class,heliRequest.getProductCode(),heliRequest.getMerchantNo()); logger.info("#####解密后的内容为{}", form.toString()); } public static String installDto() { OnlinePayRequestFrom onlinePayRequestFrom = new OnlinePayRequestFrom(); //必填项 onlinePayRequestFrom.setMemberMobile("13612345678"); //付款人姓名 onlinePayRequestFrom.setMemberName(""); onlinePayRequestFrom.setMemberID("123456789987654321"); onlinePayRequestFrom.setMerchantNo(LoadPropertiesUtils.getProperty("merchantNo")); //产品编码设置为ONLINEB2B onlinePayRequestFrom.setProductCode(ProductEnumType.ONLINEB2B.name()); onlinePayRequestFrom.setBankCode("CMBCHINA"); onlinePayRequestFrom.setOrderNo("ONLINE2314233456"); //订单金额 onlinePayRequestFrom.setOrderAmount(new BigDecimal("")); onlinePayRequestFrom.setBusiness(BusinessType.B2C.name()); //选填项 onlinePayRequestFrom.setOrderIp("127.0.0.1"); //商品名称 onlinePayRequestFrom.setGoodsName(""); onlinePayRequestFrom.setPeriod("30"); onlinePayRequestFrom.setPeriodUnit("MINUTE"); onlinePayRequestFrom.setPageCallbackUrl("www.456.com"); onlinePayRequestFrom.setServerCallbackUrl("www.456.com"); onlinePayRequestFrom.setOnlineCardType(OnlineCardType.DEBIT.name()); return JSONObject.toJSONString(encodeAndSign(onlinePayRequestFrom,onlinePayRequestFrom.getProductCode(),onlinePayRequestFrom.getMerchantNo())); }
错误码 | 错误码描述 | 解决方案 |
---|---|---|