跨境汇款-收款人信息-API

接口描述

此接口支持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;
    }

                                

                                

                                

错误码

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