无卡快捷接口

1.修订记录

版本号 日期 说明 作者
V0.1 2017/2/28 新接口参数定义 郭勇
V0.2 2017/3/17 增加跨境付款人信息字段(cross_border_info) 莫尚校
V0.3 2017/09/16 支持多URL异步通知 莫尚校
V0.3 2017/09/18 新增extra_common_param参数 郭勇
V0.4 2018/02/05 交易状态新增失败和处理中 郭勇
V0.5 2018/03/19 交易超时时间调整 邓文泉
V0.6 2018/03/29 新增交易状态说明,新增公用字段区分担保交易和即时到账 邓鑫
V0.7 2018/04/03 修改订单有效期字段描述 郭勇
V0.8 2018/04/13 修改extend_params字段描述 邓文泉
V0.9 2018/04/28 补充信用卡有效期说明 郭勇
V1.0 2018/05/22 补充异步通知 黄国强
V1.1 2018/05/25 补充shopdate参数 黄国强
V1.2 2018/08/07 快捷消费申请新增返回参数sub_msg返回信息 邓鑫
V1.3 2018/08/23 快捷授权新增入参cardCvn2和有效期说明 刘敏
V1.4 2018/12/19 交易超时时间说明 邓文泉
V1.5 2018/12/26 异步通知新增返回发往渠道流水、支付网关编号和渠道返回流水 邓文泉
V1.6 2019/02/25 新增所属区域、mcc、第三方商户号 邓鑫
V1.7 2021/02/03 同步、异步返回增加扩展参数extra_common_param ,版本号3.4 汤吉齐
V1.8 2021/12/27 支持国密 王晶
V1.9 2022/02/17 seller_name修改为非必填 王晶
V2.0 2023/03/31 支持快捷挂网协议改造 ,新增请求参数uid、token 林竞

2、即时到账快捷类

2.1 快捷消费申请

2.1.1 请求地址

环境 HTTPS请求地址
正式环境 https://openapi.ysepay.com/gateway.do

2.1.2 请求参数说明

2.1.2.1公共请求参数

参数 类型(字节长度) 必填 参数说明
method String(128) Y 接口名称,固定值 ysepay.online.fastpay
partner_id String(20) Y 商户在银盛支付平台开设的用户号[商户号]
timestamp String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
charset String(10) Y 商户网站使用的编码格式,如UTF-8、GBK、GB2312等。默认GBK
sign_type String(10) Y 报文签名算法,RSA/SM
sign String(256) Y 签名字符串,再用Base64编码
notify_url String(500) Y 交易成功异步通知到商户的后台地址,http路径支持多个url进行异步通知,多个url用分隔符“,”分开,格式如:url1,url2,url3,支持TLS1.0、TLS1.1、TLS1.2
version String(3) Y 接口版本3.0 /3.4,当前版本3.4
tran_type String(1) N 交易类型,说明:1或者空:非担保交易,2:担保交易
biz_content String Y 业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递

2.1.2.2 业务请求参数

参数名biz_content,值为一个json格式对象,下面列表描述json对象的值

参数 类型(字节长度) 必填 参数说明
out_trade_no String(1,32) Y 商户系统生成的订单号,须保证在商户端不重复,生成规则前8位必须为交易日期,如20220525,范围跨度支持包含当天在内的前后一天,且只能由大小写英文字母、数字、下划线及横杠组成,示例值:202205256843192280647118
shopdate String(8,8) Y 商户日期(该参数做交易与查询时需要一致) 该日期需在当日的前后一天时间范围之内
subject String(1,250) 订单备注,该参数最长为250个汉字。
total_amount Number(10,2) Y 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。Number(10,2)指10位长度,2位精度
currency String(3) N 默认CNY(人民币)
timeout_express String(2,6) Y 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭,取值范围:1m~15d。m-分钟,h-小时,d-天。该参数数值不接受小数点,如1.5h,可转换为90m。注意:设置了未付款交易超时时间的情况下,若我司在限定时间内没有收到成功支付通知,则会关闭交易,关闭后该笔交易若付款方支付成功的情况下,会自动原路退款至付款方。示例值 96h 代表96小时后订单自动关闭
business_code String(1,10) Y 业务代码 ,请联系银盛客户经理获取。注意:业务代码非固定值,不同到账方式需要传不同的业务代码
seller_id String(1,20) Y 收款商户号(由银盛支付生成并下发)
seller_name String(1,50) N 收款方银盛支付客户名
buyer_name String(1,100) Y 付款方银行姓名
buyer_card_number String(1,32) Y 付款方银行账号
buyer_mobile String(0,11) Y 付款方银行绑定手机号码
bank_type Number(7,9) Y 确定快捷支付银行 示例值:1031000
bank_account_type String(3,9) Y 付款方银行账户类型,bank_type非空时,此处必填personal:对私账户
support_card_type String(3,6) Y 支持卡类型, bank_type非空时,此处必填debit:借记卡;credit:信用卡
bank_name String(0,128) Y 付款方支付卡所对应的银行名称 示例值:中国银行
cardCvn2 String(3) N 信用卡安全码,贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号seller_id前补空格;如果签名方式为SM,则用SM加密
cardExprDt String(4) N 有效期,贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号seller_id前补空格,格式为MMYY;如果签名方式为SM,则用SM加密
pyerIDTp String(2) Y 证件类型:目前只支持身份证01,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号seller_id前补空格;如果签名方式为SM,则用SM加密
pyerIDNo String(15,18) Y 证件号码,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号seller_id前补空格;如果签名方式为SM,则用SM加密
extend_params String(500) N 业务扩展参数,一个json字符串,order_mode订单模式,暂时可选的值为:00 代表购物车模式;seller_list参与分账的收款方信息数组,每个元素包含seller_id收款方银盛支付用户号。实时分账业务,order_mode和seller_list均不能为空,order_mode的值必须为00。示例值:样例3.1
extra_common_param String(2000) N 公用回传参数 商户自定义数据域,原样返回
sub_merchant SubMerchantInfo N 二级商户信息, Json格式,暂包括merName、merShortName、merAddr、telephone、merNo、category、mrchntCertId 示例值:样例3.2
consignee_info ConsigneeInfo N 收货人信息,json格式,暂包括consigneeName、consigneeAddr、transportationInfo、commodityName、commodityNumber 示例值:样例3.3
mccs String(200) N Mcc码(支持上传多个,多个用|分割)
mer_no String(20) N 第三方商户号
uid String(1,32) N 商户唯一标识,非必填,挂网协议改造使用。当token有值时,uid不可为空,允许toke和uid同时为空,此时走原逻辑。当uid和token同时不为空时,走挂网协议改造逻辑,uid必须要与调快捷挂网协议跳转接口请求的uid相同
token String N 用户token值(加密),非必填,挂网协议改造使用。当uid有值时,token不可为空,允许toke和uid同时为空,此时走原逻辑。当uid和token同时不为空时,走挂网协议改造逻辑,token必须要与调快捷挂网协议跳转接口响应回来的token相同

2.1.2.3 二级商户 SubMerchantInfo

参数 类型(字节长度) 必填 参数说明
merName String(50) N 二级商户名称,支持25个中文
merShortName String(50) N 二级商户简称,支持25个中文
merAddr String(200) N 二级商户地址,支持100个中文
telephone String(13) N 固定电话/手机号码二选一
merNo String(32) N 二级商户编号
category String(20) N 类目,按附件内容输入类目编号
mrchntCertId String(15,18) N 身份证号,只支持身份证格式(如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格;如果签名方式为SM,则用SM加密)

2.1.2.4 收货人信息 ConsigeeInfo

参数 类型(字节长度) 必填 参数说明
consigneeName String(150) N 收货人姓名
consigneeAddr String(200) N 收货地址
transportationInfo String(200) N 物流配送信息(物流名称+订单号)
commodityName String(150) N 商品名称
commodityNumber String(10) N 商品数量,

2.1.3 响应参数说明

银盛支付对商户的请求数据处理完成后,会将处理的结果数据同步回执给商户。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

2.1.3.1 公共响应参数

参数 类型(字节长度) 必填 参数说明
sign String Y 签名字符串,Base64编码
ysepay_online_fastpay_response String Y 业务响应参数的集合,最大长度不限

2.1.3.2 业务响应参数

参数 类型(字节长度) 必填 参数说明
code String Y 响应代码
msg String Y 响应代码描述
out_trade_no String(1,32) Y 商户系统内部订单号
trade_no String(16) Y 银盛支付平台的交易流水
total_amount Number Y 快捷支付金额 示例值:88.89
trade_status asMAX(30) Y 交易目前所处的状态。待支付-WAIT_BUYER_PAY;支付成功-TRADE_SUCCESS;处理中-TRADE_PROCESS;支付失败-TRADE_FAILED 示例值:附录4.1
sub_msg String(50) N 返回描述
extra_common_param String N 商户自定义数据域,原样返回

2.1.4 SDK请求示例

        @Test
    public void fastPayApplyTest() throws Exception {
        /**1、组装调用快捷消费申请 FastPayApi.fastPayApply需要的参数*/
        OnlineReqDataVo reqDataVo = new OnlineReqDataVo();
        //请求路径,具体见文档
        reqDataVo.setReqUrl("https://qrcode.ysepay.com/gateway.do");

        //商户在银盛支付平台开设的用户号[商户号]
        reqDataVo.setPartnerId("hyfz_test2");

        //银盛支付服务器主动通知商户网站里指定的页面http路径,支持多个url进行异步通知,多个url用分隔符“,”分开,格式如:url1,url2,url3
        reqDataVo.setNotifyUrl("http://127.0.0.1");

        //客户端私钥证书路径: 证书是在入网流程中自己申请的
        reqDataVo.setPrivateKeyFilePath("D:/cer/hyfz_test2.pfx");

        //客户端私钥密钥: 私钥密钥在入网流程中自己申请私钥证书时填写的
        reqDataVo.setPrivateKeyPassword("123456");

        //银盛公钥证书路径: 证书入网申请后随邮件发放
        reqDataVo.setYsPublicKeyFilePath("D:/cer/businessgate.cer");

        //交易类型,说明:1或者空:即时到账,2:担保交易
        reqDataVo.setTranType("1");
        /** -----------组装业务参数,并设置到入参里面reqDataVo.setParamData(bizContentMap): 业务参数说明详细见接口文档 -------------*/
        Map<String, Object> bizContent = new HashMap<>();
        //商户生成的订单号,生成规则前8位必须为交易日期,如20180525,范围跨度支持包含当天在内的前后一天,且只能由大小写英文字母、数字、下划线及横杠组成
        bizContent.put("out_trade_no", "201805256843192280647118");
        //商户日期(该参数做交易与查询时需要一致) 该日期需在当日的前后一天时间范围之内
        bizContent.put("shopdate", "20211013");
        //商品的标题/交易标题/订单标题/订单关键字等。该参数最长为250个汉字
        bizContent.put("subject", "快捷消费申请测试");
        //该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。Number(10,2)指10位长度,2位精度
        bizContent.put("total_amount", "2.99");
        //支持币种:CNY(人民币)、HKD(港币)、USD(美元)、EUR(欧元)、JPY(日元)
        //注:不填默认是CNY(人民币),如是非跨境商户,币种不能填HKD(港币)、USD(美元)、EUR(欧元)、JPY(日元)中的任意一种外币币种
        bizContent.put("currency", "CNY");
        //收款方银盛支付用户号
        bizContent.put("seller_id", "hyfz_test2");
        //收款方银盛支付客户名
        bizContent.put("seller_name", "银盛支付服务股份有限公司行业发展部");
        //设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。
        //(需申请业务权限,权限未开通情况下该参数不生效,默认未付款交易的超时时间为7d)取值范围:1m~15d。m-分钟,h-小时,d-天。该参数数值不接受小数点,如1.5h,可转换为90m。
        //注意:设置了未付款交易超时时间的情况下,若我司在限定时间内没有收到成功支付通知,则会关闭交易,关闭后该笔交易若付款方支付成功的情况下,会自动原路退款至付款方
        bizContent.put("timeout_express","96h");
        //业务扩展参数,一个json字符串,order_mode订单模式,暂时可选的值为:00 代表购物车模式;seller_list参与分账的收款方信息数组,每个元素包含seller_id收款方银盛支付用户号。
        //实时分账业务,order_mode和seller_list均不能为空,order_mode的值必须为00
        bizContent.put("extend_params","{\"cartTYpe\": \"00\",\"order_mode\": \"01\",\"seller_list\": [{\"seller_id\": \"123\"},{\"seller_id\": \"456\"}]}");
        //公用回传参数
        bizContent.put("extra_common_param", "extra_common_param");
        //业务代码,反扫D0为00510080
        bizContent.put("business_code", "00510080");
        //确定快捷支付银行
        bizContent.put("bank_type", "1903000");
        //付款方银行姓名
        bizContent.put("buyer_name", "");
        //付款方银行账号
        bizContent.put("buyer_card_number", "");
        //付款方银行绑定手机号码
        bizContent.put("buyer_mobile", "18088208820");
        //付款方银行账户类型,bank_type非空时,此处必填personal:对私账户
        bizContent.put("bank_account_type", "personal");
        //支持卡类型, bank_type非空时,此处必填debit:借记卡;credit:信用卡
        bizContent.put("support_card_type", "debit");
        //付款方支付卡所对应的银行名称
        bizContent.put("bank_name", "中国银行");
        //贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格;如果签名方式为SM,则用SM加密
        bizContent.put("cardCvn2", null);
        //贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格,格式为MMYY;如果签名方式为SM,则用SM加密
        bizContent.put("cardExprDt", null);
        //证件类型:目前只支持身份证01,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格;如果签名方式为SM,则用SM加密
        bizContent.put("pyerIDTp", null);
        //证件号码,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格;如果签名方式为SM,则用SM加密
        bizContent.put("pyerIDNo", null);


        //=================二级商户信息, Json格式=================
        //如果有值则二级商户信息都不能为空,如果没值则都不能有值
        JSONObject subMerchantInfoJson = new JSONObject();
        subMerchantInfoJson.put("merName","");//二级商户名称,支持25个中文
        subMerchantInfoJson.put("merShortName","");//二级商户简称,支持25个中文
        subMerchantInfoJson.put("merAddr","");//二级商户地址,支持100个中文
        subMerchantInfoJson.put("telephone","");//固定电话/手机号码二选一
        subMerchantInfoJson.put("merNo","");//二级商户编号
        subMerchantInfoJson.put("category","");//类目,按附件内容输入类目编号
        subMerchantInfoJson.put("mrchntCertId","");//身份证号,只支持身份证格式(如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格,如果签名方式为SM,则用SM加密)
        //二级商户json格式
        bizContent.put("sub_merchant",subMerchantInfoJson);


        //=================收货人信息json格式(可空)=================
        JSONObject consigneeInfoJson = new JSONObject();
        subMerchantInfoJson.put("consigneeName","");//收货人姓名
        subMerchantInfoJson.put("consigneeAddr","");//收货地址
        subMerchantInfoJson.put("transportationInfo","");//物流配送信息(物流名称+订单号)
        subMerchantInfoJson.put("commodityName","");//商品名称
        subMerchantInfoJson.put("commodityNumber","");//商品数量
        //收货人信息json格式
        bizContent.put("consignee_info",consigneeInfoJson);


        //=================跨境支付付款人信息json格式,当收款方商户为跨境商户时,此域所有字段必填=================
        JSONObject crossBorderInfo = new JSONObject();
        subMerchantInfoJson.put("cross_border_name","");//付款人姓名
        crossBorderInfo.put("cross_border_idno","");//付款人身份证号码(如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格;如果签名方式为SM,则用SM加密)
        crossBorderInfo.put("cross_border_card_number","");//付款人银行卡号
        crossBorderInfo.put("cross_border_mobile","");//付款人手机号码
        crossBorderInfo.put("cross_border_tag","");//交易类型标识,只可以填写【服务类】或者【货物类】
        //跨境支付付款人信息json格式
        bizContent.put("cross_border_info",crossBorderInfo);

        //订单所属省编号(省市编号必须同时为空或者同时非空、并且需要符合层级关系)(特殊可空)
        bizContent.put("province",null);
        //订单所属市编号(省市编号必须同时为空或者同时非空、并且需要符合层级关系)(特殊可空)
        bizContent.put("city",null);
        //    Mcc码(支持上传多个,多个用|分割)(可空)
        bizContent.put("mccs",null);

        bizContent.put("mer_no",null);//第三方商户号

        //设置业务参数到biz_content
        reqDataVo.setParamData(bizContent);

        /** 2、调用FastPayApi.fastPayApply方法 */
        String result = null;
        try{
            System.out.println("快捷消费申请-调用sdk接口fastPayApply请求入参为:"+ JSONObject.toJSONString(reqDataVo));
            result = FastPayApi.fastPayApply(reqDataVo);
            //根据返回结果处理自己的业务逻辑,result内容详见接口文档
        }catch (Exception e){
            System.out.println("快捷消费申请-失败:"+e.getCause().getMessage());
            e.printStackTrace();
        }
        System.out.println("快捷消费申请-调用sdk接口fastPayApply返回结果为:"+result);
    }

2.2 快捷授权

2.2.1 请求地址

环境 HTTPS请求地址
正式环境 https://openapi.ysepay.com/gateway.do

2.2.2 请求参数说明

2.2.2.1公共请求参数

参数 类型(字节长度) 必填 参数说明
method String(128) Y 接口名称,固定值ysepay.online.fastpay.authorize
partner_id String(20) Y 在银盛支付开设的服务商商户号,请联系客户经理提供
timestamp String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
charset String(10) Y 商户网站使用的编码格式,如UTF-8、GBK、GB2312等,默认值 GBK
sign_type String(10) Y 报文签名算法,RSA/SM
sign String(256) Y 签名字符串,再用Base64编码
version String(3) Y 接口版本3.0 当前版本3.0
biz_content String Y 业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递

2.2.2.2业务请求参数

参数名biz_content,值为一个json格式对象,下面列表描述json对象的值

参数 类型(字节长度) 必填 参数说明
out_trade_no String(1,32) Y 商户系统内部订单号。该参数支持汉字,最大长度为16个, 原快捷消费申请的订单号 示例值:201805256843192280647118
buyer_mobile String(11) Y 付款方银行绑定手机号码
mobile_verify_code String(1,6) Y 验证码
cardCvn2 String(3) N 贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格; 如果签名方式为SM,则用SM加密
cardExprDt String(4) N 贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格,格式为MMYY; 如果签名方式为SM,则用SM加密

2.2.3 响应参数说明

银盛支付对商户的请求数据处理完成后,会将处理的结果数据同步回执给商户。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

2.2.3.1 公共响应参数

参数 类型(字节长度) 必填 参数说明
sign String Y 签名字符串,Base64编码
ysepay_online_fastpay_authorize_respose String Y 业务响应参数的集合,最大长度不限

2.2.3.2 业务响应参数

参数 类型(字节最大长度) 必填 参数说明
code String Y 响应代码
msg String Y 响应代码描述
out_trade_no String(1,32) Y 商户系统内部订单号。该参数支持汉字,最大长度为16个, 原快捷消费申请的订单号
trade_no String(1,32) Y 银盛支付平台的交易流水
total_amount Number Y 本次发生的快捷支付金额 示例值:88.89
account_date String(10) N 会计日期,格式"yyyy-MM-dd" 示例值:2016-06-18
trade_status String(2) Y 业务状态 成功 TRADE_SUCCESS

2.2.4 SDK请求示例

@Test
    public void fastpayAuthorizeTest() throws Exception {
        /**1、组装调用快捷授权 FastPayApi.fastpayAuthorize需要的参数*/
        OnlineReqDataVo reqDataVo = new OnlineReqDataVo();
        //请求路径,具体见文档
        reqDataVo.setReqUrl("https://qrcode.ysepay.com/gateway.do");

        //商户在银盛支付平台开设的用户号[商户号]
        reqDataVo.setPartnerId("hyfz_test2");

        //客户端私钥证书路径: 证书是在入网流程中自己申请的
        reqDataVo.setPrivateKeyFilePath("D:/cer/hyfz_test2.pfx");

        //客户端私钥密钥: 私钥密钥在入网流程中自己申请私钥证书时填写的
        reqDataVo.setPrivateKeyPassword("123456");

        //银盛公钥证书路径: 证书入网申请后随邮件发放
        reqDataVo.setYsPublicKeyFilePath("D:/cer/businessgate.cer");

        /** -----------组装业务参数,并设置到入参里面reqDataVo.setParamData(bizContentMap): 业务参数说明详细见接口文档 -------------*/
        Map<String, Object> bizContent = new HashMap<>();
        //商户生成的订单号,生成规则前8位必须为交易日期,如20180525,范围跨度支持包含当天在内的前后一天,且只能由大小写英文字母、数字、下划线及横杠组成
        bizContent.put("out_trade_no", "6843192280647118");
        //付款方银行绑定手机号码
        bizContent.put("buyer_mobile", "18688786376");
        //验证码
        bizContent.put("mobile_verify_code", "778666");
        //贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格; 如果签名方式为SM,则用SM加密
        bizContent.put("cardCvn2", null);
        //贷记卡必填,如果签名方式为RSA,则用DES加密,密钥为商户号partner_id前8位,不足8位在商户号前补空格,格式为MMYY; 如果签名方式为SM,则用SM加密
        bizContent.put("cardExprDt", null);

        //设置业务参数到biz_content
        reqDataVo.setParamData(bizContent);

        /** 2、调用FastPayApi.fastpayAuthorize方法 */
        String result = null;
        try{
            System.out.println("快捷授权-调用sdk接口fastpayAuthorize请求入参为:"+ JSONObject.toJSONString(reqDataVo));
            result = FastPayApi.fastpayAuthorize(reqDataVo);
            //根据返回结果处理自己的业务逻辑,result内容详见接口文档
        }catch (Exception e){
            System.out.println("快捷授权-失败:"+e.getCause().getMessage());
            e.printStackTrace();
        }
        System.out.println("快捷授权-调用sdk接口fastpayAuthorize返回结果为:"+result);
    }

2.3 快捷重新获取授权码

2.3.1 请求地址

环境 HTTPS请求地址
正式环境 https://openapi.ysepay.com/gateway.do

2.3.2 请求参数说明

2.3.2.1公共请求参数

参数 类型(字节长度) 必填 参数说明
method String(128) Y 接口名称,示例值:ysepay.online.fastpay.authorize.msg
partner_id String(20) Y 在银盛支付开设的服务商商户号,请联系客户经理提供
timestamp String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
charset String(10) Y 商户网站使用的编码格式,如UTF-8、GBK、GB2312等,默认值 GBK
sign_type String(10) Y 报文签名算法,RSA/SM
sign String(256) Y 签名字符串,再用Base64编码
version String(3) Y 版本号3.0/3.4 当前版本3.4
biz_content String Y 业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递

2.3.2.2业务请求参数

参数名biz_content,值为一个json格式对象,下面列表描述json对象的值

参数 类型(字节长度) 必填 参数说明
out_trade_no String(1,32) Y 商户系统内部订单号,该参数支持汉字,最大长度为16个, 原快捷消费申请的订单号

2.3.3 响应参数说明

银盛支付对商户的请求数据处理完成后,会将处理的结果数据同步回执给商户。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

2.2.3.1 公共响应参数

参数 类型(字节长度) 必填 参数说明
sign String Y 签名字符串,Base64编码
ysepay_online_fastpay_authorize_msg_respose String Y 业务响应参数的集合,最大长度不限

2.4 异步通知参数说明

银盛支付对商户的请求数据处理完成后,会将处理的结果数据通过服务器主动通知的方式通知给商户网站。这些处理结果数据就是服务器异步通知参数。

请注意:银盛后期会对返回参数保留扩展的权力,扩展方式为新增参数但不会删除参数,请商户在解析银盛返回参数时要支持银盛可能扩展参数这种情况。

参数 类型(字节长度) 必填 参数说明
sign_type String Y 签名类型,请求是传入的签名类型RSA/SM
sign String Y 签名字符串,Base64编码
notify_type String Y 通知类型 固定值:directpay.status.sync
notify_time String(19) Y 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 示例值:2014-07-24 03:07:50
out_trade_no String(64) Y 商户系统内部订单号。
total_amount Number N 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。
trade_no String N 该交易在银盛支付系统中的交易流水号。
trade_status String Y 交易目前所处的状态。成功状态的值: TRADE_FINISHED
account_date String(8) Y 会计日期 示例值:20140808
payer_fee Number N 该笔订单的付款方手续费(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
payee_fee Number N 该笔订单的收款方手续费(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
partner_fee Number N 该笔订单的合作方手续费(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
fee Number N 该笔订单的手续费总和(参考),单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。示例值:1.00
channel_send_sn String N 发往渠道流水号
paygate_no String N 支付网关编号
channel_recv_sn String N 渠道返回流水号
extra_common_param String N 公共扩展参数,版本号3.4及以上支持

3、样例

3.1 extend_params 说明

{
    "cartTYpe": "00",
    "order_mode": "01",
    "seller_list": [{
        "seller_id": "123"
    }, {
        "seller_id": "456"
    }]
}

3.2 sub_merchant 说明

{
    "merName": "二级商户名称",
    "merShortName": "二级商户简称",
    "merAddr": "二级商户地址",
    "telephone": "二级商户服务电话",
    "merNo": "二级商户编号",
    "category": "类目",
    "mrchntCertId": "身份证号"
}

3.3 consignee_info 说明

{
    "consigneeName": "收货人姓名",
    "consigneeAddr": "收货地址",
    "transportationInfo": "物流配送信息",
    "commodityName": "商品名称",
    "commodityNumber": "商品数量"
}

4、附录

4.1 即时到账业务错误码

错误码 错误描述 解决方案
ACQ.SYSTEM_ERROR 接口返回错误 请立即调用查询订单API,查询当前订单的状态,并根据订单状态决定下一步的操作
ACQ.INVALID_PARAMETER 参数无效 检查请求参数,修改后重新发起请求
ACQ.ACCESS_FORBIDDEN 无权限使用接口 联系银盛市场人员进行签约
ACQ.EXIST_FORBIDDEN_WORD 订单信息中包含违禁词 修改订单信息后,重新发起请求
ACQ.TOTAL_FEE_EXCEED 订单总金额超过限额 修改订单金额再发起请求
ACQ.CONTEXT_INCONSISTENT 交易信息被篡改 更换商家订单号后,重新发起请求
ACQ.TRADE_HAS_SUCCESS 交易已被支付 确认该笔交易信息是否为当前买家的,如果是则认为交易付款成功,如果不是则更换商家订单号后,重新发起请求
ACQ.TRADE_HAS_CLOSE 交易已经关闭 更换商家订单号后,重新发起请求
ACQ.BUYER_SELLER_EQUAL 买卖家不能相同 更换买家重新付款
ACQ.TRADE_BUYER_NOT_MATCH 交易买家不匹配 更换商家订单号后,重新发起请求
ACQ.BUYER_ENABLE_STATUS_FORBID 买家状态非法 用户联系银盛客服,确认买家状态为什么非法
ACQ.SELLER_BEEN_BLOCKED 商家账号被冻结 联系银盛客服,解冻账号
ACQ.ERROR_BUYER_CERTIFY_LEVEL_LIMIT 买家未通过人行认证 让用户联系银盛客服并更换其它付款方式

4.2 交易状态

枚举名称 枚举说明
WAIT_BUYER_PAY 交易创建,等待买家付款。
TRADE_CLOSED 在指定时间段内未支付时关闭的交易; 在交易完成全额退款成功时关闭的交易。
TRADE_SUCCESS 交易成功,且可对该交易做操作,如:多级分润、退款等。
TRADE_PENDING 等待卖家收款(买家付款后,如果卖家账号被冻结)。
TRADE_FAILED 交易失败
TRADE_PROCESS 交易正在处理中,可对该交易做查询,避免重复支付。
TRADE_PART_REFUND 部分退款成功。
TRADE_ALL_REFUND 全部退款成功。
WAIT_SELLER_SEND_GOODS 买家已付款,等待卖家发货
WAIT_BUYER_CONFIRM_GOODS 卖家已发货,等待买家确认

results matching ""

    No results matching ""