跨境汇款-网银下单

接口描述

商户通过本接口将订单信息上送至合利宝-跨境系统,获取到跳转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()));
    }
                                

                                

                                

错误码

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