跨境汇款-网银下单

接口描述

商户通过本接口将订单信息上送至合利宝-跨境系统,获取到跳转url,直接在浏览器请求此地址,展示用户信息录入界面。
用户录入信息后,系统直接跳转到银行,用户可以继续操作网银付款
支付完成后,系统自动完成购汇,付汇业务

流程图

基本信息

测试请求地址 https://cbtrxtest.helipay.com/cbgateway/rest/pay/online
请求地址 https://cbptrx.helipay.com/cbgateway/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 单位:元
银行编码 bankCode String(20) 是 ICBC/CCB 银行编码,详细信息参见附录
业务类型 business String(5) 是 B2C/B2B 对公/对私
下单ip orderIp String(15) 否 1.1.1.1
商户描述 goodsName String(150) 否 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 借/贷
购汇币种 purchaseCurrency String(15) 是 USD/CAD 详细信息参见附录
购汇金额 purchaseAmount Number(10.2) 是 0.01
购汇用途 purchaseCategory String(24) 是 STUDYABROAD 留学 其他详细参见附录
国家/地区代码 receiptionCountry String(20) 是 ALB 阿尔巴尼亚Albania 详细参见附录
银行 bankName String(250) 是
路由编码 routeNo String(20) 是 SWIFT\ABN\IBAN 三选一
收款人开户银行代码 payeeBankCode String(20) 是 参考 路由编码对应银行编码
收款人开户银行地址 payeeBankAdd String(250) 是
收款人姓名 payeeName String(250) 是
收款人账号 payeeAccountNo String(50) 是
收款人地址 payeeAddress String(250) 是
收款人邮编 postcode String(20) 是
付汇附言 remitMessage String(250) 是 仅支持字母
购付汇服务器回调地址 purchaseServerCallbackUrl String(300) 否 http://www.456.com
保税商品标识 protectFlag String(300) 否

响应参数

名称 参数 类型 必填 示例值 说明
产品编码 productCode String(20) 是 ONLINEB2B ONLINEB2B 或 ONLINEB2C
商户订单号 orderNo String(64) 是 p_20170302185347
商户编号 merchantNo String(10) 是 Me10000002 合利宝-跨境系统分配的商户编号
平台流水号 serialNumber String(32) 否 201702241400010002 合利宝-跨境系统生成的唯一交易流水号
当前牌价加点 orderPrice Number(10.2) 是
响应码 errorCode String(10) 是 0000 0000 代表请求成功
响应信息 errorMessage String(200) 否 成功 响应信息 错误信息
响应时间 current String(20) 是 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
用户信息录入URL地址 redirectUrl String 是 直接在浏览器打开此地址,引导用户录入个人信心
订单状态 orderStatus String 否 INIT:初始化
WAITING:待支付
SUCCESS:用户支付成功,等待购付汇处理(系统自动发起)
PURCHASING:购汇处理中
REMITTING:购汇完成,付汇处理中
REMITTED:付汇处理完成
FAILED:失败

代码示例

  @Test
    public void onlinePay() {
        RemoteServiceImpl remoteService = new RemoteServiceImpl();
        HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("onlinePayUrl"), installDto(), HeliRequest.class);
        OnlinePayResponseForm form = decode(heliRequest, GatewayPayResponseForm.class,heliRequest.getProductCode(),heliRequest.getMerchantNo());
        logger.info("#####解密后的内容为{}", form.toString());
    }

    public static String installDto() {
        GatewayOnlinePayRequestFrom request = new GatewayOnlinePayRequestFrom();

        request.setPurchaseAmount(new BigDecimal("12"));
        request.setPurchaseCategory(CrossCategory.STUDYABROAD.name());
        request.setPurchaseCurrency(Currency.USD.name());
        request.setPurchaseServerCallbackUrl("http://wwww.corn.com/a/b");
        request.setReceiptionCountry(ReceiptionCountry.USA.name());
        request.setRemitMessage("null");
        request.setBankName("我怎么知道是什么银行");
        request.setRouteNo(BankCodeType.SWIFT.name());
        request.setPayeeAccountNo("124fhk");
        request.setPayeeAddress("usa xx 00 bank");
        request.setPayeeName("corn");
        request.setPayeeBankCode("ABC");
        request.setPayeeBankAdd("usa xx 00 bank");

        request.setBankCode("CMBCHINA");
        request.setBusiness("B2C");

        request.setOrderAmount(new BigDecimal("22.83"));
        request.setMerchantNo(merchantNo);
        request.setProductCode("ONLINEB2C");
        request.setOrderNo("ONLINE" + System.currentTimeMillis());
        return JSONObject.toJSONString(encodeAndSign(onlinePayRequestFrom,onlinePayRequestFrom.getProductCode(),onlinePayRequestFrom.getMerchantNo()));
    }
                                

                                

                                

错误码

错误码 错误码描述 解决方案