此接口支持API牌价信息查看
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/crossBorder/priceQueryApi |
请求地址 | https://cbptrx.helipay.com/cbtrx/rest/crossBorder/priceQueryApi |
提交方式 | 采用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 | 固定值 |
商户卖出币种 | sellCurrency | String | 是 | CNY | 人民币 |
商户买入币种 | buyCurrency | String | 是 | USD |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
返回码 | errorCode | String(20) | |||
返回信息 | errorMessage | String(64) | 是 | p_20170302185347 | |
商户编号 | merchantNo | String | 是 | ||
卖出币种 | sellCurrency | String | |||
买入币种 | buyCurrency | String | |||
牌价 | quotation | String | 是 | 689.65 | 实时提供给商户的牌价 |
报价时间 | createDate | Date | 是 |
/** * 查询牌价 */ @RequestMapping("/toQueryQuotation") public ModelAndView toQueryQuotation() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("rmbcross/rmbCrossQuotationInfoQuery"); return modelAndView; } @RequestMapping(value = "/queryQuotation" , method = RequestMethod.POST) public ModelAndView rmbCrossQuotationQuery(@ModelAttribute @Valid RmbCrossQuotationQueryDTO rmbCrossQuotationQueryDTO, BindingResult bindingResult) throws UnsupportedEncodingException { ModelAndView modelAndView = new ModelAndView(); if (bindingResult.hasErrors()) { throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], bindingResult.getFieldError().getDefaultMessage()); } HeliRequest result = HandleDataUtils.encodeAndSign(rmbCrossQuotationQueryDTO, rmbCrossQuotationQueryDTO.getProductCode(), rmbCrossQuotationQueryDTO.getPlatMerchantNo(), rmbCrossQuotationQueryDTO.getMerchantNo()); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("queryQuotationQueryUrl"), JSONObject.toJSONString(result), HeliRequest.class); RmbCrossQuotationResponseForm rmbCrossQuotationResponseForm = HandleDataUtils.decode(heliRequest, RmbCrossQuotationResponseForm.class, rmbCrossQuotationQueryDTO.getProductCode(), rmbCrossQuotationQueryDTO.getPlatMerchantNo(), rmbCrossQuotationQueryDTO.getMerchantNo()); if (!CbDemoConstants.SUCCESS_CODE.equals(rmbCrossQuotationResponseForm.getErrorCode())) { throw new CommonSystemException(rmbCrossQuotationResponseForm.getErrorCode(),rmbCrossQuotationResponseForm.getErrorMessage()); } logger.info("返回详细信息------------{}",rmbCrossQuotationResponseForm.toString()); modelAndView.addObject("responseForm", rmbCrossQuotationResponseForm); modelAndView.setViewName("rmbcross/rmbCrossQuotationInfoResult"); return modelAndView; }
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/crossBorder/lockRemit |
请求地址 | https://cbptrx.helipay.com/cbtrx/rest/crossBorder/lockRemit |
提交方式 | 采用POST方法提交,requestbody传值 Content-Type=[application/json;charset=UTF-8] |
签名算法 | UTF-8字符编码 SHA256签名 AES加密 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
产品编码 | productCode | String(20) | 是 | RMBCROSS | |
订单号 | orderNo | String(64) | 是 | p_20170302185347 | |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
锁汇模式 | lockRemitStyle | String | 是 | 01 | 01:即时锁汇(发起跨境汇款订单后,再进行锁汇) 02:提前锁汇 |
跨境汇款订单号 | rmbCrossOrderNo | String | 是 | RE34060YMe10000018 | 跨境主订单号 |
商户卖出币种 | sellCurrency | String | 否 | 即时锁汇留空,提前锁汇必填 | |
商户卖出金额 | sellAmount | String | 否 | 即时锁汇留空,提前锁汇必填 | |
商户买入币种 | buyCurrency | String | 否 | 即时锁汇留空,提前锁汇必填 | |
商户买入金额 | buyAmount | String | 否 | 即时锁汇留空,提前锁汇必填;且卖出金额与买入金额只能填写其中一项 | |
交割日期 | segmentationDate | String | 否 | 交割日期 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
返回码 | errorCode | String | 是 | 0000 | |
返回信息 | errorMessage | String | 是 | 成功 | |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
请求流水号 | requestSerNo | String(10) | 是 | 2019072500001 | 商户请求合利宝锁汇订单号 |
锁汇模式 | lockRemitStyle | String | 是 | 01 | 01:即时锁汇(发起跨境汇款订单后,进行锁汇) 02:提前锁汇 |
跨境汇款订单号 | rmbCrossOrderNo | String | 否 | 跨境汇款订单号 | |
卖出币种 | sellCurrency | String | 否 | CNY | 即时锁汇为CNH;提前锁汇为商户填写的卖出币种 |
卖出金额 | sellAmount | String | 否 | 100 | 即时锁汇为跨境汇款订单对应的“到岸金额”;提前锁汇为商户填写的卖出金额 |
买入币种 | buyCurrency | String | 否 | USD | 即时锁汇为跨境汇款订单对应的“到岸币别”;提前锁汇为商户填写的买入币种 |
买入金额 | buyAmount | String | 否 | 即时锁汇为跨境汇款订单对应的“订单金额”;提前锁汇为商户填写的买入金额 | |
交割时间 | deliveryDate | Date | 否 | 交割时间 | |
牌价 | quotation | String | 是 | 689.65 | 商户锁定的实时牌价 |
牌价锁定日期 | quotationLockDate | Date | 是 | 牌价锁定日期 |
/** * 锁汇 */ @RequestMapping("/toLockRemit") public ModelAndView toLockRemit() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("rmbcross/rmbCrossLockRemit"); return modelAndView; } @RequestMapping(value = "/lockRemit" , method = RequestMethod.POST) public ModelAndView rmbLockRemit(@ModelAttribute @Valid RmbCrossLockRemitDTO rmbCrossLockRemitDTO, BindingResult bindingResult) throws UnsupportedEncodingException { ModelAndView modelAndView = new ModelAndView(); if (bindingResult.hasErrors()) { throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], bindingResult.getFieldError().getDefaultMessage()); } HeliRequest result = HandleDataUtils.encodeAndSign(rmbCrossLockRemitDTO, rmbCrossLockRemitDTO.getProductCode(), rmbCrossLockRemitDTO.getPlatMerchantNo(), rmbCrossLockRemitDTO.getMerchantNo()); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("lockRemitQuotationQueryUrl"), JSONObject.toJSONString(result), HeliRequest.class); RmbCrossLockRemitResponseForm rmbCrossQuotationResponseForm = HandleDataUtils.decode(heliRequest, RmbCrossLockRemitResponseForm.class, rmbCrossLockRemitDTO.getProductCode(), rmbCrossLockRemitDTO.getPlatMerchantNo(), rmbCrossLockRemitDTO.getMerchantNo()); if (!CbDemoConstants.SUCCESS_CODE.equals(rmbCrossQuotationResponseForm.getErrorCode())) { throw new CommonSystemException(rmbCrossQuotationResponseForm.getErrorCode(),rmbCrossQuotationResponseForm.getErrorMessage()); } logger.info("返回详细信息------------{}",rmbCrossQuotationResponseForm.toString()); modelAndView.addObject("responseForm", rmbCrossQuotationResponseForm); modelAndView.setViewName("rmbcross/rmbCrossLockRemitResult"); return modelAndView; }
错误码 | 错误码描述 | 解决方案 |
---|---|---|