此接口支持API收款人信息修改/新增
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/crossBorder/receiveInfoAddOrModify |
请求地址 | http://cbptrx.helipay.com/cbtrx/rest/crossBorder/receiveInfoAddOrModify |
提交方式 | 采用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 | 固定值 |
操作类型 | operationtype | String | 是 | 01 | 01新增 02修改 |
收款人姓名 | receiveName | String(10) | 是 | 张三 | |
国家或地区 | country | String(18) | 是 | USA | |
城市 | city | String(18) | 是 | 北京 | |
州或省份 | province | String(20) | 是 | ||
街道地址 | address | String(19) | 是 | ||
邮编 | postCode | String(40) | 是 | ||
币别 | currency | String(64) | 是 | USD,CAD | 可以多币别 不同币别用,进行分割 |
银行账号 | receiveAccountNo | String(20) | 是 | ||
Swift Code | swiftCode | String | 是 | ||
银行名称 | bankName | String(40) | 是 | ||
银行地址 | bankAddress | String(20) | 是 | ||
收款人ID | receiveID | String(20) | 否 | 修改必填 | |
ABA number/Routing number | ABAnumber | String | 否 | ||
IBAN number | IBANnumber | String | 否 | IMEI | |
BSB number | BSBnumber | String | 否 | ||
收款人协议生效日期 | validateReceive | String(40) | 否 | ||
收款人协议截止日期 | validateReceiveEnd | String(40) | 否 | ||
状态通知地址 | notifyUrl | String(50) | 否 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
返回码 | errorCode | String(20) | |||
返回信息 | errorMessage | String(64) | 是 | p_20170302185347 | |
收款人ID | receiveId | String(10) | 是 | 合利宝-跨境系统分配的收款人ID |
//收款人新增 @RequestMapping("/toReceiveInfoAdd") public ModelAndView toAddRmbCrossReceiveInfo() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("rmbcross/rmbCrossReceiveInfoAdd"); return modelAndView; } @RequestMapping(value = "/receiveInfoAddInfo" , method = RequestMethod.POST) public ModelAndView addRmbCrossReceiveInfo(@ModelAttribute @Valid ReceiveInfoModifyDTO receiveInfoModifyDTO, BindingResult bindingResult) throws UnsupportedEncodingException { ModelAndView modelAndView = new ModelAndView(); if (bindingResult.hasErrors()) { throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], bindingResult.getFieldError().getDefaultMessage()); } if("02".equals(receiveInfoModifyDTO.getOperationtype())){ if (StringUtils.isBlank(receiveInfoModifyDTO.getReceiveID())){ throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], "修改类型 收款人ID必填"); } } HeliRequest result = HandleDataUtils.encodeAndSign(receiveInfoModifyDTO, receiveInfoModifyDTO.getProductCode(), receiveInfoModifyDTO.getPlatMerchantNo(), receiveInfoModifyDTO.getMerchantNo()); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("receiveInfoModifyUrl"), JSONObject.toJSONString(result), HeliRequest.class); ReceiveResponseForm receiveResponseForm = HandleDataUtils.decode(heliRequest, ReceiveResponseForm.class, receiveInfoModifyDTO.getProductCode(), receiveInfoModifyDTO.getPlatMerchantNo(), receiveInfoModifyDTO.getMerchantNo()); if (!CbDemoConstants.SUCCESS_CODE.equals(receiveResponseForm.getErrorCode())) { throw new CommonSystemException(receiveResponseForm.getErrorCode(),receiveResponseForm.getErrorMessage()); } logger.info("返回详细信息------------{}",receiveResponseForm.toString()); modelAndView.addObject("responseForm", receiveResponseForm); modelAndView.setViewName("rmbcross/rmbCrossReceiveInfoResult"); return modelAndView; }
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/crossBorder/receiveInfoQuery |
请求地址 | http://cbptrx.helipay.com/cbtrx/rest/crossBorder/receiveInfoQuery |
提交方式 | 采用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 | 合利宝-跨境系统分配的商户编号 |
收款人ID | receiveID | String(20) | 是 |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
产品编码 | productCode | String(20) | 是 | RMBCROSS | |
状态 | receiveStatus | String(10) | 是 | 当前收款人状态 | |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
返回码 | errorCode | String(10) | 是 | 0000 | 0000 代表请求成功 |
返回信息 | errorMessage | String(200) | 否 | 成功 | 响应信息 错误信息 |
收款人ID | receiveId | String(200) | 是 | 当前收款人ID | |
审核备注 | auditRemark | String(20) | 否 | ||
收款人姓名 | receiveName | String(200) | 是 | 张三 | |
国家或地区 | country | String(200) | 否 | ||
城市 | city | String(18) | 否 | 北京 | |
州或省份 | province | String(20) | |||
街道地址 | address | String(19) | 是 | 222 BROADWAY NEW YORK NY 1003 US | |
邮编 | postCode | String(40) | 是 | 510000 | 邮编 |
币别 | currency(10) | String | 是 | USD | |
银行账号 | receiveAccountNo | String(20) | 是 | 6228480031588888888 | |
Swift Code | swiftCode | String(40) | 是 | HASEHKHH | 8位或者11位字母或数字 |
银行名称 | bankName | String(40) | 是 | Hang Seng Bank Ltd | |
银行地址 | bankAddress | String(20) | 是 | 83 Des Voeux road Central, HongKong | |
ABA number/Routing number | ABAnumber | String(20) | 否 | 101010011 | |
IBAN number | IBANnumber | String(10) | 否 | IMEI | |
BSB number | BSBnumber | String(50) | 否 | 6位字母或数字 | |
收款人协议生效日期 | validateReceive | String(40) | 否 | ||
收款人协议截止日期 | validateReceiveEnd | String(40) | 否 |
//收款人查询 @RequestMapping("/toReceiveInfoQuery") public ModelAndView receiveInfoQuery() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("rmbcross/rmbCrossReceiveInfoQuery"); return modelAndView; } @RequestMapping(value = "/receiveInfoQuery" , method = RequestMethod.POST) public ModelAndView rmbCrossReceiveInfoQuery(@ModelAttribute @Valid ReceiveInfoQueryDTO receiveInfoQueryDTO, 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(receiveInfoQueryDTO, receiveInfoQueryDTO.getProductCode(), receiveInfoQueryDTO.getPlatMerchantNo(), receiveInfoQueryDTO.getMerchantNo()); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("receiveInfoQueryUrl"), JSONObject.toJSONString(result), HeliRequest.class); ReceiveQueryResponseForm receiveResponseForm = HandleDataUtils.decode(heliRequest, ReceiveQueryResponseForm.class, receiveInfoQueryDTO.getProductCode(), receiveInfoQueryDTO.getPlatMerchantNo(), receiveInfoQueryDTO.getMerchantNo()); if (!CbDemoConstants.SUCCESS_CODE.equals(receiveResponseForm.getErrorCode())) { throw new CommonSystemException(receiveResponseForm.getErrorCode(),receiveResponseForm.getErrorMessage()); } logger.info("返回详细信息------------{}",receiveResponseForm.toString()); modelAndView.addObject("responseForm", receiveResponseForm); modelAndView.setViewName("rmbcross/rmbCrossReceiveInfoQueryResult"); return modelAndView; }
测试请求地址 | https://cbtrxtest.helipay.com/cbtrx/rest/crossBorder/receiveFileUpload |
请求地址 | https://cbptrx.helipay.com/cbtrx/rest/crossBorder/receiveFileUpload |
提交方式 | 采用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 | 合利宝-跨境系统分配的商户编号 |
收款人ID | receiveID | String(10) | 是 | 收款人ID | |
文件类型 | fileType | String(10) | 是 | zip/rar |
名称 | 参数 | 类型 | 必填 | 示例值 | 说明 |
---|---|---|---|---|---|
产品编码 | productCode | String(20) | 是 | RMBCROSS | |
收款人ID | receiveId | String(64) | 是 | RE79462793YEUDMe100000018 | |
商户编号 | merchantNo | String(10) | 是 | Me10000002 | 合利宝-跨境系统分配的商户编号 |
返回码 | errorCode | String(10) | 是 | 0000 | 0000 代表请求成功 |
返回信息 | errorMessage | String(200) | 是 | 成功 | 响应信息 错误信息 |
附件上传地址 | filePath | String(100) | 是 | 返回的附件上传地址 用put方式进行上传 | |
token | token | String(40) | 是 | 返回的附件上传token 上传文件token一并上传 |
//收款人文件上传 @RequestMapping("/toReceiveInfoFileUpload") public ModelAndView toRmbCrossReceiveInfoFileUpload() { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("rmbcross/rmbCrossReceiveFile"); return modelAndView; } @RequestMapping(value = "/rmbCrossFileUpload" , method = RequestMethod.POST) public ModelAndView rmbCrossFileUpload(@ModelAttribute @Valid ReceiveInfoFileUploadDTO queryForm, 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(queryForm, queryForm.getProductCode(), queryForm.getPlatMerchantNo(), queryForm.getMerchantNo()); HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("receiveInfoFileUpUrl"), JSONObject.toJSONString(result), HeliRequest.class); ReceiveFileUploadResponseForm receiveFileUploadResponseForm = HandleDataUtils.decode(heliRequest, ReceiveFileUploadResponseForm.class, queryForm.getProductCode(), queryForm.getPlatMerchantNo(), queryForm.getMerchantNo()); if (!CbDemoConstants.SUCCESS_CODE.equals(receiveFileUploadResponseForm.getErrorCode())) { throw new CommonSystemException(receiveFileUploadResponseForm.getErrorCode(),receiveFileUploadResponseForm.getErrorMessage()); } logger.info("返回详细信息------------{}",receiveFileUploadResponseForm.toString()); modelAndView.addObject("responseForm", receiveFileUploadResponseForm); modelAndView.setViewName("rmbcross/rmbCrossReceiveFileUploadResult"); return modelAndView; }
错误码 | 错误码描述 | 解决方案 |
---|---|---|