跨境汇款-收款人信息-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;
    }

                                

                                

                                

错误码

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