此接口支持API主订单下单
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/crossBorder/rmbCrossOrder |
请求地址 | https://cbptrx.helipay.com/cbtrx/rest/crossBorder/rmbCrossOrder |
提交方式 | 采用POST方法提交,requestbody传值 Content-Type=[application/json;charset=UTF-8] |
签名算法 | UTF-8字符编码 SHA256签名 AES加密 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
订单号 | orderNo | String(64) | 是 | p_20170302185347 | |
产品编码 | productCode | String(20) | 是 | RMBCROSS | 固定值RMBCROSS |
到岸币别 | currency | String | 是 | CAD | 需打款到收款人的币别,币别代码详见“开放平台=》附录=》币种编码 |
汇款类型 | crossCategory | String | 是 | SERVICE_TRADE | SERVICE_TRADE-服务贸易 GOODS_TRADE-货物贸易 |
下发类型 | swiftType | String(10) | 是 | SHARE/OUR | |
附言 | remark | String(18) | 是 | ewrwrqwreq | 英文或拼音 |
收款人ID | reciveID | String(18) | 是 | 合利宝-跨境系统分配的唯一收款人ID | |
关联明细批次流水号 | crossRmbDetailID | String(20) | 是 | REW152341YMe100000018,REW152341YMe100000017 | 可上传多个 用,隔开 |
到岸金额 | toShoreAmount | String | 否 | 10 | 外币金额 明细为外币上送此金额 订单金额留空 |
订单金额 | orderAmount | String | 否 | 10 | 人民币金额 明细为人民币上送 到岸金额留空 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
返回码 | errorCode | String(20) | 是 | 0000 | |
返回信息 | errorMessage | String | 是 | 成功 | |
跨境汇款订单号 | orderNo | String | 是 | RWQ79527677Me10000018 | 当前订单订单号 |
/** * 主订单 */ @RequestMapping("/toRmbCrossOrder") public ModelAndView toRmbCrossOrder() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("rmbcross/rmbCrossOrder"); return modelAndView; } @RequestMapping(value = "/rmbCrossOrderSubmit" , method = RequestMethod.POST) public ModelAndView rmbCrossOrderSubmit(@ModelAttribute @Valid RmbCrossApiOrderDTO rmbCrossApiOrderDTO , BindingResult bindingResult){ ModelAndView modelAndView = new ModelAndView(); if (bindingResult.hasErrors()) { throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], bindingResult.getFieldError().getDefaultMessage()); } HeliRequest result = HandleDataUtils.encodeAndSign(rmbCrossApiOrderDTO, rmbCrossApiOrderDTO.getProductCode(), rmbCrossApiOrderDTO.getPlatMerchantNo(), rmbCrossApiOrderDTO.getMerchantNo()); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("rmbCrossOrderUrl"), JSONObject.toJSONString(result), HeliRequest.class); RmbCrossOrderApiResponseForm responseForm = HandleDataUtils.decode(heliRequest, RmbCrossOrderApiResponseForm.class, rmbCrossApiOrderDTO.getProductCode(), rmbCrossApiOrderDTO.getPlatMerchantNo(), rmbCrossApiOrderDTO.getMerchantNo()); if (!CbDemoConstants.SUCCESS_CODE.equals(responseForm.getErrorCode())) { throw new CommonSystemException(responseForm.getErrorCode(),responseForm.getErrorMessage()); } logger.info("跨境汇款明细上传返回详细信息------------{}",responseForm.toString()); modelAndView.addObject("responseForm", responseForm); modelAndView.setViewName("rmbcross/rmbCrossOrderResult"); return modelAndView; }
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/crossBorder/rmbCrossOrderQuery |
请求地址 | https://cbptrx.helipay.com/cbtrx/rest/crossBorder/rmbCrossOrderQuery |
提交方式 | 采用POST方法提交,requestbody传值 Content-Type=[application/json;charset=UTF-8] |
签名算法 | UTF-8字符编码 SHA256签名 AES加密 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
产品编码 | productCode | String(20) | 是 | ||
订单号 | orderNo | String(64) | 是 | p_20170302185347 | 跨境汇款订单号 |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
产品编码 | productCode | String(20) | 是 | RMBCROSS | |
跨境汇款订单号 | rmbCrossOrderNo | String | 是 | RE79275YMe100000018 | 跨境汇款订单号 |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
返回码 | errorCode | String(10) | 是 | 0000 | 0000 代表请求成功 |
返回信息 | errorMessage | String(200) | 否 | 成功 | 响应信息 错误信息 |
创建时间 | createDate | Date | 是 | 订单创建时间 | |
完成时间 | compleDate | Date | 否 | 订单完成时间 | |
状态 | status | String | 是 | DOING | INIT 新建 AUTHDEBI 实名认证待扣款, AUTHDEBITING 实名认证扣款中 DOING 待校验 NOVALID 校验不通过 LOGISTICSDEBIT 物流校验待扣款 LOGISTICSDEBITING 物流校验扣款中 LOGISTICS 物流校验中 VALID 校验通过 AMOUNT 金额已确认 CONFIRMED 牌价已确认 |
到岸币别 | currency | String | 是 | USD | 需打款到收款人的币别,币别代码详见“开放平台=》附录=》币种编码 |
订单金额 | orderAmount | BigDecimal | 是 | 100 | 单位为元,最多保留小数点后两位 |
到岸金额 | toShAmount | BigDecimal | 是 | 14.5 | |
手续费 | fee | BigDecimal | 是 | 单位为元 | |
锁汇牌价 | lockRemitPrice | BigDecimal | 是 | 689.65 | 商户锁汇牌价 |
汇款类型 | crossCategory | String | 是 | GOODS_TRADE | |
附言 | remark | String | 是 | ABC Co., Ltd. | |
收款人ID | receiveID | String | 是 | RE59265926YMe000000018 | 合利宝-跨境系统分配的唯一收款人ID |
关联明细批次号 | detailBatchNo | String | 否 | RE7895257923YMe1000000018 | 关联明细批次流水号 |
/** * 订单查询 */ @RequestMapping("/toRmbCrossOrderQuery") public ModelAndView toRmbCrossOrderQuery() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("rmbcross/rmbCrossOrderQuery"); return modelAndView; } @RequestMapping(value = "/rmbCrossOrderQuery" , method = RequestMethod.POST) public ModelAndView rmbCrossOrderQuery(@ModelAttribute @Valid RmbCrossApiOrderQueryDTO rmbCrossApiOrderDTO , BindingResult bindingResult){ ModelAndView modelAndView = new ModelAndView(); if (bindingResult.hasErrors()) { throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], bindingResult.getFieldError().getDefaultMessage()); } HeliRequest result = HandleDataUtils.encodeAndSign(rmbCrossApiOrderDTO, rmbCrossApiOrderDTO.getProductCode(), rmbCrossApiOrderDTO.getPlatMerchantNo(), rmbCrossApiOrderDTO.getMerchantNo()); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("rmbCrossOrderQueryUrl"), JSONObject.toJSONString(result), HeliRequest.class); RmbCrossOrderApiQueryResponseForm responseForm = HandleDataUtils.decode(heliRequest, RmbCrossOrderApiQueryResponseForm.class, rmbCrossApiOrderDTO.getProductCode(), rmbCrossApiOrderDTO.getPlatMerchantNo(), rmbCrossApiOrderDTO.getMerchantNo()); if (!CbDemoConstants.SUCCESS_CODE.equals(responseForm.getErrorCode())) { throw new CommonSystemException(responseForm.getErrorCode(),responseForm.getErrorMessage()); } logger.info("跨境汇款明细上传返回详细信息------------{}",responseForm.toString()); modelAndView.addObject("responseForm", responseForm); modelAndView.setViewName("rmbcross/rmbCrossOrderQueryResult"); return modelAndView; }
错误码 | 错误码描述 | 解决方案 |
---|---|---|