聚合支付平台对接文档
聚合支付对接文档
聚合支付对接文档v2.0
本文档使用 MrDoc 发布
-
+
首页
聚合支付对接文档
# 1.API接入认证 ## 1.1接口说明 > 开放平台的所有服务 URL 的请求参数分为系统级参数和业务级参数两部分,系统级参数是所有服务 API 都拥有的参数,而业务级参数由具体服务 API 定义。 ## 1.2接口地址 > 请联系客户经理获取接口地址 ## 1.3调用方式 > HTTP POST 参数类型为:application/x-www-form-urlencoded;charset=UTF-8 ## 1.4系统级参数 > 系统级参数是由开放平台定义的一组参数,每个服务都拥有这些参数,用以传送框架级的参数信息。如 method 就是一个系统级参数,使用该参数指定业务的名称。共有 6 个系统级参数: | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | (终端编号)应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端号即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | ## 1.5签名sign 1.对必传的业务级请求参数按key做升序排列。 2.把参数名和参数值连接成字符串,得到拼接字符串:<键1><值1><键2><值2><键3><值3>... 示例:k1v1k2v2k3v3k4v4 3.将secret秘钥 拼接到参数字符串后面: <请求参数字符串><秘钥> 示例:k1v1k2v2k3v3k4v4ABCDEFG 4.对该字符串进行SHA1运算,生成16进制SHA1字符串 ,该加密后字符串即为签名值。 5.将签名值放入系统级参数sign中,和其他参数一起调用接口即可。 ## 1.6业务级参数 详见 API 接口的具体参数定义。 签名验证工具:[点击使用](https://oem.ruishengyi.com/verify_sign/ "点击使用") ## 1.7附录 ### 1.7.1交易状态 | 枚举名称 | 枚举说明 | | :---------------- | :--------------------------------------------------- | | WAIT_BUYER_PAY | 交易创建,等待买家付款。 | | TRADE_CLOSED | 在指定时间段内未支付时关闭的交易;客户主动关闭订单。 | | TRADE_SUCCESS | 交易成功,且可对该交易做操作,如:多级分润、退款等。 | | TRADE_PART_REFUND | 部分退款成功。 | | TRADE_ALL_REFUND | 全部退款成功。 | | TRADE_PROCESS | 交易正在处理中,可对该交易做查询,避免重复支付。 | | TRADE_FAILD | 交易失败 | # 2.业务接口 ## 2.1反扫码创建订单 - 接口说明 - 整合银联云闪付、微信、支付宝反扫接口,调用该接口进行反扫支付 - 收银员使用扫码设备读取用户 APP 展示的二维码后,商家系统识别付款APP, 通过系统调用该接口发起支付 - method rsypay.online.barcodepay ### 2.1.1请求参数 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | 应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端code即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------- | ------ | -------- | ---------------------------------- | | total_amount | String | 是 | 支付金额(元) | | auth_code | String | 是 | 扫码支付授权码 | | pay_way | String | 是 | 支付方式(1微信、2支付宝、3银联) | | out_trade_no | String | 是 | 客户订单号 | | shopdate | String | 是 | 客户系统的交易发生日期格式yyyyMMdd | | subject | String | 否 | 订单备注 | | timeout_express | String | 否 | 设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭,取值范围:1m~15d。m-分钟,h-小时,d-天。该参数数值不接受小数点,如1.5h,可转换为90m。注意:设置了未付款交易超时时间的情况下,若我司在限定时间内没有收到成功支付通知,则会关闭交易,关闭后该笔交易若付款方支付成功的情况下,会自动原路退款至付款方。 示例值:96h 代表96小时后订单自动关闭 不传默认15m | | other_content | String | 否 | 其他参数 | | product_info[] | String | 否 | 开票商品信息(JSONObject数组转string字符串) 具体内容见下文 | | element_code | String | 条件必传 | 特定要素编号(商品信息后特定要素编号必传,见下文【特定要素说明】)| | element_value | String | 条件必传 | (JSONObject转string字符串)特定要素信息,具体内容根据特定要素需求必传,见下文【特定要素说明】| | detail_wx | String | 否 | 微信商品详情,单品优惠活动 参考 **detail_wx附录** | - 商品信息【product_info】 | 名称 | 类型 | 是否必填 | 描述 | |---------------------|--------|-----|-----------------------------------------------------------------------------------------------------------------| | item_no | Integer | 是 | 商品行号,同一订单内从1开始自增 | | product_name | String | 是 | 商品名称| | tax_product_code | String | 是 | 税务系统备案的商品编号| | tax_product_name | String | 是 | 税务系统备案的商品名称| | product_spec | String | 是 | 商品规格、型号信息| | product_unit | String | 是 | 商品计量单位(汉字),如:升、G、个、件等| | price | BigDecimal | 是 | 商品单价| | quantity | BigDecimal | 是 | 商品购买数量| | amount | BigDecimal | 是 | 商品含税总金额| | tax_rate | BigDecimal | 是 | 商品对应税率(如13%送13)| | discount_amount | BigDecimal | 是 | 商品对应优惠金额| | real_amount | BigDecimal | 是 | 商品实收金额,计算公式:价税合计-优惠金额| | invoice_nature | Integer | 是 | 发票行性质:1-被折扣行、2-正常行、3-折扣行| - 特定要素说明表【element_code】 | 特定要素编号 | 特定要素名称 | 是否需要传递特定要素值 | 特定要素值字段示例 |------------|----------|-------------|----------- |Y00000000|非特定要素| 否 | 无 | |Y00000001|稀土| 待定 | 待定 | |Y00000002|农产品| 待定 | 待定 | |Y00000003|旅客运输| 是 | 见下文:【旅客运输特定要素参数】 | |Y00000004|货物运输| 待定 | 待定 | |Y00000005|机动车| 待定 | 待定 | |Y00000006|成品油| 是 | 见下文:【成品油特定要素参数】 | |Y00000007|不动产销售| 待定 | 待定 | |Y00000008|不动产租赁| 待定 | 待定 | |Y00000009|建筑服务| 待定 | 待定 | |Y00000010|通行费| 待定 | 待定 | |Y00000011|拖拉机和联合收割机| 待定 | 待定 | |Y00000012|代收车船使用税| 待定 | 待定 | |Y00000013|光伏收购| 待定 | 待定 | |Y00000014|医疗服务| 待定 | 待定 | - 旅客运输特定要素参数 【element_value】【Y00000003】 | 名称 | 类型 | 是否必填 | 描述 | |---------------------|--------|-----|-------------------------------| | name | String | 是 | 出行人信息| | idType | String | 是 | 证件类型:1-身份证 | | idNo | String | 是 | 证件号码| | travelDate | String | 否 | 出行日期| | depart | String | 是 | 出发地| | arrive | String | 是 | 到达地| | vehicleType | String | 是 | 交通工具类型| | seatLevel | String | 是 | 出行座位等级| - 成品油特定要素参数 【element_value】【Y00000006】 | 名称 | 类型 | 是否必填 | 描述 | |---------------------|--------|-----|-------------------------------| | oil_gun_name | String | 是 | 油枪名称| - detail_wx 微信单品优惠活动 | 参数 | 类型(字节长度) | 必填 | 参数说明 | | :----------- | :-------------- | :--- | :------------------------------------------------------ | | cost_price | double | N | 订单原价,整数不超过14位,小数不 超过2位,单位元 10.50 | | receipt_id | String(32) | N | 商品小票ID,长度不能超过32位 Ys001001 | | goods_tag | String(32) | N | 订单优惠标记,代金券或立减优惠功能的参数 | | goods_detail | List | Y | 商品列表 | - goods_detail 微信商品列表 | 参数 | 类型(字节长度) | 必填 | 参数说明 | | :------------- | :-------------- | :--- | :----------------------------------------------------------- | | goods_id | String(32) | Y | 商户商品编码,由半角的大小写字母,数字,下划线,中划线中的一种或者几种组成,长度不能超过32位 Shouji_abcef_001-001 | | wxpay_goods_id | String(32) | N | 微信支付定义的统一商品编号,长度不能超过32 ,1001 | | goods_name | String(256) | N | 商品的实际名称,长度不能超过256 | | quantity | int(10) | Y | 数量,只能是正整数 ,1000 | | price | Double | Y | 商品单价,单位元,整数部分不能超过12位,小数不能超过2位 , 100.20 | ### 2.1.2响应参数 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | | ------------------------------ | ------- | ---- | ----------------------------- | | code | Integer | | 状态码:返回200请求成功 | | success | boolean | | 是否成功 | | data | String | | 承载数据 | | msg | String | | 消息 | | sign | String | data | 签名(仅加密 必传的响应参数) | | rsy_online_barcodepay_response | String | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------- | ------ | -------- | --------------------------------------------------------- | | order_code | String | 是 | 订单号 | | trade_status | String | 是 | 交易状态,成功状态的值: TRADE_SUCCESS,其他状态参考1.7.1 | | sub_msg | String | 否 | 交易信息 | | total_amount | String | 是 | 支付金额 | | out_trade_no | String | 是 | 客户订单号 | | shopdate | String | 是 | 客户系统的交易发生日期格式yyyyMMdd | | subject | String | 否 | 订单备注 | | other_content | String | 否 | 其他参数 | | aisle_order_code | String | 否 | 条码订单号(退款接口v1.1使用) | | invoice_qr_content | String | 否 | 开票链接 | - 示例 ```json { "code": 200, "success": true, "data": { "sign": "ea2aa87d46238b465adce5a43e826e166995b939", "rsy_online_barcodepay_response": { "order_code": "8010120221103194205100263714", "out_trade_no": "666677778888", "total_amount": "0.02", "shopdate": "20221029", "subject": "备注123456", "trade_status": "WAIT_BUYER_PAY", "sub_msg": "101 每个二维码仅限使用一次,请刷新再试", "other_content": "666", "aisle_order_code": "83611111111111584690" } }, "msg": "操作成功" } ``` ## 2.2主扫创建订单 - 接口说明 - 整合银联云闪付、微信、支付宝主扫接口,调用该接口进行主扫支付 - 前端根据获取的不同支付端的用户标识 支付参数等,调用该接口生成预支付订单信息 - 前端根据该接口返回的预支付信息,调用对应支付应用发起支付 - method rsypay.online.pay ### 2.2.1请求参数 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | |-------------|--------|------|---------------------------------------------------------------------------------------------------------| | appkey | String | 是 | 应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端code即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | |---------------|--------|----------------------------|--------------------------| | total_amount | String | 是 | 支付金额(元) | | pay_way | String | 是 | 支付方式(1微信、2支付宝、3银联) | | wx_auth_code | String | 是(微信,支付宝,云闪付,必填其中一个,其它可为空) | 微信用户openId | | ali_auth_Code | String | 是(微信,支付宝,云闪付,必填其中一个,其它可为空) | 支付宝用户ID | | ysf_auth_Code | String | 是(微信,支付宝,云闪付,必填其中一个,其它可为空) | 云闪付用户授权码 | | is_minipg | String | 否 | 【微信小程序支付:1】,【 微信公众号支付:2】 | | out_trade_no | String | 是 | 客户订单号 | | shopdate | String | 是 | 客户系统的交易发生日期格式yyyyMMdd | | subject | String | 否 | 订单备注 | | other_content | String | 否 | 其他参数 | | appid | String | 否 | appid 公众号或小程序支付时必传 | | invoice_remark | String | 否 | 发票备注(展示在发票栏中) | | product_info[] | String | 否 | 开票商品信息(JSONObject数组转string字符串) 具体内容见下文 | | element_code | String | 条件必传 | 特定要素编号(商品信息后特定要素编号必传,见下文【特定要素说明】)| | element_value | String | 条件必传 | (JSONObject转string字符串)特定要素信息,具体内容根据特定要素需求必传,见下文【特定要素说明】| | detail_wx | String | 否 | 微信商品详情,单品优惠活动 参考 **detail_wx附录** | - 商品信息【product_info】 | 名称 | 类型 | 是否必填 | 描述 | |---------------------|--------|-----|-----------------------------------------------------------------------------------------------------------------| | item_no | Integer | 是 | 商品行号,同一订单内从1开始自增 | | product_name | String | 是 | 商品名称| | tax_product_code | String | 是 | 税务系统备案的商品编号| | tax_product_name | String | 是 | 税务系统备案的商品名称| | product_spec | String | 是 | 商品规格、型号信息| | product_unit | String | 是 | 商品计量单位(汉字),如:升、G、个、件等| | price | BigDecimal | 是 | 商品单价| | quantity | BigDecimal | 是 | 商品购买数量| | amount | BigDecimal | 是 | 商品含税总金额| | tax_rate | BigDecimal | 是 | 商品对应税率(如13%送13)| | discount_amount | BigDecimal | 是 | 商品对应优惠金额| | real_amount | BigDecimal | 是 | 商品实收金额,计算公式:价税合计-优惠金额| | invoice_nature | Integer | 是 | 发票行性质:1-被折扣行、2-正常行、3-折扣行| - 特定要素说明表【element_code】 | 特定要素编号 | 特定要素名称 | 是否需要传递特定要素值 | 特定要素值字段示例 |------------|----------|-------------|----------- |Y00000000|非特定要素| 否 | 无 | |Y00000001|稀土| 待定 | 待定 | |Y00000002|农产品| 待定 | 待定 | |Y00000003|旅客运输| 是 | 见下文:【旅客运输特定要素参数】 | |Y00000004|货物运输| 待定 | 待定 | |Y00000005|机动车| 待定 | 待定 | |Y00000006|成品油| 是 | 见下文:【成品油特定要素参数】 | |Y00000007|不动产销售| 待定 | 待定 | |Y00000008|不动产租赁| 待定 | 待定 | |Y00000009|建筑服务| 待定 | 待定 | |Y00000010|通行费| 待定 | 待定 | |Y00000011|拖拉机和联合收割机| 待定 | 待定 | |Y00000012|代收车船使用税| 待定 | 待定 | |Y00000013|光伏收购| 待定 | 待定 | |Y00000014|医疗服务| 待定 | 待定 | - 旅客运输特定要素参数 【element_value】【Y00000003】 | 名称 | 类型 | 是否必填 | 描述 | |---------------------|--------|-----|-------------------------------| | name | String | 是 | 出行人信息| | idType | String | 是 | 证件类型:1-身份证 | | idNo | String | 是 | 证件号码| | travelDate | String | 否 | 出行日期| | depart | String | 是 | 出发地| | arrive | String | 是 | 到达地| | vehicleType | String | 是 | 交通工具类型| | seatLevel | String | 是 | 出行座位等级| - 成品油特定要素参数 【element_value】【Y00000006】 | 名称 | 类型 | 是否必填 | 描述 | |---------------------|--------|-----|-------------------------------| | oil_gun_name | String | 是 | 油枪名称| - detail_wx 微信单品优惠活动 | 参数 | 类型(字节长度) | 必填 | 参数说明 | | :----------- | :-------------- | :--- | :------------------------------------------------------ | | cost_price | double | N | 订单原价,整数不超过14位,小数不 超过2位,单位元 10.50 | | receipt_id | String(32) | N | 商品小票ID,长度不能超过32位 Ys001001 | | goods_tag | String(32) | N | 订单优惠标记,代金券或立减优惠功能的参数 | | goods_detail | List | Y | 商品列表 | - goods_detail 微信商品列表 | 参数 | 类型(字节长度) | 必填 | 参数说明 | | :------------- | :-------------- | :--- | :----------------------------------------------------------- | | goods_id | String(32) | Y | 商户商品编码,由半角的大小写字母,数字,下划线,中划线中的一种或者几种组成,长度不能超过32位 Shouji_abcef_001-001 | | wxpay_goods_id | String(32) | N | 微信支付定义的统一商品编号,长度不能超过32 ,1001 | | goods_name | String(256) | N | 商品的实际名称,长度不能超过256 | | quantity | int(10) | Y | 数量,只能是正整数 ,1000 | | price | Double | Y | 商品单价,单位元,整数部分不能超过12位,小数不能超过2位 , 100.20 | - biz_content请求参数示例 ```json { "is_minipg": "1", "elementCode": "Y00000006", "invoiceRemark": "1号枪;92#号油;", "pay_way": "1", "product_info": "[{\"amount\":0.01,\"discount_amount\":0.00,\"invoice_nature\":1,\"item_no\":1,\"price\":6.18,\"product_name\":\"乙醇汽油\",\"product_spec\":\"92#\",\"product_unit\":\"升\",\"quantity\":1,\"real_amount\":0.01,\"tax_product_code\":\"46545132456512\",\"tax_product_name\":\"乙醇汽油\",\"tax_rate\":0.13}]", "wx_auth_code": "oKR5Dvjh68nsdRSQn9l25wIUAoxU", "out_trade_no": "P1778308123877", "total_amount": "0.01", "shopdate": "20260509", "appid": "12324421231234", "element_value": null, "element_code":"Y00000006" } ``` ### 2.2.2响应参数 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | |-------------------------|---------|------|-----------------| | code | Integer | | 状态码:返回200请求成功 | | success | boolean | | 是否成功 | | data | String | | 承载数据 | | msg | String | | 消息 | | sign | String | data | 签名(仅加密 必传的响应参数) | | rsy_online_pay_response | String | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | |---------------|--------|------|-----------------------| | order_code | String | 是 | 订单号 | | js_api | String | 是 | 返回拉起支付的必要信息 | | total_amount | String | 是 | 支付金额 | | out_trade_no | String | 是 | 客户订单号 | | shopdate | String | 是 | 客户系统的交易发生日期格式yyyyMMdd | | subject | String | 否 | 订单备注 | | other_content | String | 否 | 其他参数 | | invoice_qr_content | String | 否 | 开票链接 | - 示例 ```json { "code": 200, "success": true, "data": { "rsy_online_pay_response": { "order_code": "801012021110412075613184BJOg", "out_trade_no": "666677778888", "total_amount": "0.02", "js_api": "{\"appId\":\"wx6017696d3225dc8d\",\"timeStamp\":\"1667527678\",\"nonceStr\":\"8ceaaa4ccd3749b4a394da0fd2cd6657\",\"package\":\"prepay_id=wx041007580387244307cf50cf705d140000\",\"signType\":\"RSA\",\"paySign\":\"zH+MGPRUtDUrNJdgCEk4BfeZn5FTUkY6MGfhgVRW5VqzWy+0C1+vmfZ593sMVB0R8vtLv/dCF5Upqhauf8Ffc4QyQhX/NGVYW2BaaUaBasCji7c5mWtloTGvixzlgk/+Ok8lkIJegu4X6kb9LFJDKIXi3NzTg8NmjGBOrMD6Qly0rcIvaFRfYp3GDpOwLCVOPQRaYtvVZfZMdC3Dqr8YgQzai0YZIS+fXby/11fsG3YkVgOp3oaqnamuZjnUfTGw9Yo6RqP9FJm1nr65W3Qn8CJWzg7FxbNnnkJGjgV4BDX9Z5Ai1PXceOcsPDDjnWHs4uO297Bkik3ZZb1laIbADQ==\"}", "shopdate": "20221029", "subject": "备注123456", "other_content": "666" }, "sign": "2e65b8b5377c0dade9bd99c6819274b4ab6f0044" }, "msg": "操作成功" } ``` ## 2.3查询订单 - 接口说明 - 需要查询订单及明细状态,调用此接口 - method rsypay.online.trade.order.query ### 2.3.1请求参数 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | 应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端code即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------ | ------ | -------- | ----------------------------------------- | | order_code | String | 是 | 系统订单号 | | out_trade_no | String | 是 | 客户订单号 | | shopdate | String | 是 | 客户系统的 订单交易发生日期 格式yyyyMMdd | ### 2.3.2响应参数 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | | -------------------------------- | ------- | ---- | ----------------------------- | | code | Integer | | 状态码:返回200请求成功 | | success | boolean | | 是否成功 | | data | String | | 承载数据 | | msg | String | | 消息 | | sign | String | data | 签名(仅加密 必传的响应参数) | | rsy_online_order_detail_response | String | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | | -------------- | ---------- | -------- | ------------------------------------------------------------ | | order_code | String | 是 | 订单号 | | total_amount | BigDecimal | 是 | 交易金额(元) | | pay_way | Integer | 是 | 支付方式(1微信、2支付宝、3银联) | | pay_state | Integer | 是 | 交易状态标识(0未支付1支付成功2支付失败3取消支付4退款中5已退款6退款失败) | | pay_state_msg | String | 否 | 交易状态信息 | | pay_trade_type | Integer | 是 | 交易类型(1支付单,2退款单) | | is_refund | Integer | 是 | 是否有退款(0否1部分退款2全部退款) | | refund_amount | BigDecimal | 是 | 退款金额 | | rpt_pay_time | Date | 是 | 发起支付时间 | | out_trade_no | String | 是 | 客户订单号 | | shopdate | String | 是 | 客户系统的交易发生日期格式yyyyMMdd | | subject | String | 否 | 订单备注 | | other_content | String | 否 | 其他参数 | - 示例 ```json { "code": 200, "success": true, "data": { "sign": "54c419dba88137e1a685815bdcf2aba6fae5e781", "rsy_online_order_detail_response": { "pay_state": 0, "pay_trade_type": 1, "subject": "备注123456", "rpt_pay_time": "2022-11-04 14:35:25", "pay_way": 1, "order_code": "8010120221104143524102903714", "pay_state_msg": "未支付", "out_trade_no": "666677778888", "total_amount": "0.02", "shopdate": "20221029", "refund_amount": "0.00", "other_content": "666", "is_refund": 0 } }, "msg": "操作成功" } ``` ## 2.4取消订单 - 接口说明 - 对于不需要支付的订单,可以调用接口进行关闭操作 - method rsypay.online.trade.close ### 2.4.1请求参数 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | 应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端code即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------ | ------ | -------- | ----------------------------------------- | | order_code | String | 是 | 系统订单号 | | out_trade_no | String | 是 | 客户订单号 | | shopdate | String | 是 | 客户系统的 订单交易发生日期 格式yyyyMMdd | ### 2.4.2响应参数 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | | ------------------------------- | ------- | ---- | ----------------------------- | | code | Integer | | 状态码:返回200请求成功 | | success | boolean | | 是否成功 | | msg | String | | 消息 | | data | String | | 承载数据 | | sign | String | data | 签名(仅加密 必传的响应参数) | | rsy_online_trade_close_response | String | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------ | ------ | -------- | ------------------------- | | order_code | String | 否 | 订单号 | | out_trade_no | String | 否 | 客户订单号 | | status | String | 是 | 响应代码, 成功返回success | | status_msg | String | 是 | 响应代码描述 | - 示例 ```json { "code": 200, "success": true, "data": { "sign": "59d369850ea4b02bedfd929125b442543ab2314d", "rsy_online_trade_close_response": { "order_code": "8010120221104143524102903714", "out_trade_no": "666677778888", "status_msg": "取消订单成功!", "status": "success" } }, "msg": "操作成功" } ``` ## 2.5订单退款 - 接口说明 - 对于支付完成的交易,需要进退款操作的,调用此接口来进行退款 - method rsypay.online.trade.refund ### 2.5.1请求参数 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | 应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端code即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | | -------------- | ------ | -------- | ------------------------------------------------------------ | | order_code | String | 是 | 系统原订单号 | | out_trade_no | String | 是 | 客户原订单号 | | out_request_no | String | 是 | 生成的退款订单号,标识一次退款请求,同一笔交易多次退款需要保证唯一。 | | shopdate | String | 是 | 客户系统的 原订单交易发生日期 格式yyyyMMdd | | refund_amount | String | 是 | 退款金额 (元) | | refund_reason | String | 是 | 退款理由 | ### 2.5.2响应参数 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | | -------------------------------- | ------- | ---- | ----------------------------- | | code | Integer | | 状态码:返回200请求成功 | | success | boolean | | 是否成功 | | msg | String | | 消息 | | data | String | | 承载数据 | | sign | String | data | 签名(仅加密 必传的响应参数) | | rsy_online_trade_refund_response | String | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------------ | ------ | -------- | ------------------------- | | order_code | String | 否 | 原支付订单号 | | out_trade_no | String | 否 | 原客户支付订单号 | | order_request_code | String | 否 | 聚合平台退款订单号(可退款查询使用) | | out_request_No | String | 否 | 客户退款订单号 | | status | String | 是 | 响应代码, 成功返回success | | status_msg | String | 是 | 响应代码描述 | - 示例 ```json { "code": 200, "success": true, "data": { "sign": "42f7a8a174c7230ea3ea2694276ed33c91d12759", "rsy_online_trade_refund_response": { "order_code": "8010120221107211141100873668", "out_trade_no": "666677778888", "order_request_code": "8010120221107211207100923668", "status_msg": "用户发起退款成功!", "out_request_No": "111112222233", "status": "success" } }, "msg": "操作成功" } ``` ## 2.5订单退款 v1.1 - 接口说明 - 对于支付完成的交易,需要进退款操作的,调用此接口来进行退款 - method rsypay.online.trade.refundv1.1 ### 2.5.1 请求参数 v1.1 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | 应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端code即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ---------------- | ------ | -------- | ------------------------------------------------------------ | | out_request_no | String | 是 | 退款申请单号,标识一次退款请求,同一笔交易多次退款需要保证唯一。 | | order_code | String | 否 | 原交易平台订单号(与aisle_order_code二选一) | | aisle_order_code | String | 否 | 原交易支付公司商家订单号(与order_code二选一) | | refund_amount | String | 是 | 退款金额(元) | | refund_reason | String | 是 | 退款理由 | ### 2.5.2 响应参数 v1.1 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | | -------------------------------- | ------- | ---- | --------------------------------- | | code | Integer | | 状态码:返回200请求成功 | | success | boolean | | 是否成功 | | msg | String | | 消息 | | data | String | | 承载数据 | | sign | String | data | 签名(仅加密 键值非空的响应参数) | | rsy_online_trade_refund_response | String | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------------ | ------ | -------- | ------------------------------ | | out_request_No | String | 否 | 退款申请单号 | | order_code | String | 否 | 原交易平台订单号 | | aisle_order_code | String | 否 | 原交易支付公司商家订单号 | | order_request_code | String | 否 | 平台退款订单号(可退款查询使用) | | status | String | 是 | 响应代码, 成功返回success | | status_msg | String | 是 | 响应代码描述 | - 示例 ```json { "code": 200, "success": true, "data": { "sign": "5293728f3fe45d60f1c2475b834b5e638a21858e", "rsy_online_trade_refund_response": { "order_code": "2023112716513480101101732612", "order_request_code": "8010120231127165235102192612", "aisle_order_code": "1101729060382909378560", "status_msg": "用户发起退款成功!", "out_request_No": "20231127165232ovonmq", "status": "success" } }, "msg": "操作成功" } ``` ## 2.6退款查询 - 接口说明 - 对于退款的交易,调用此接口来进行退款查询 - method rsypay.online.trade.refund.detail ### 2.6.1请求参数 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | 应用键,用以确定客户端应用的身份,如 000001。应用键对应一个密钥secret。要基于平台开发应用,必须事先通过申请获取appkey/secret后,才能进行应用的开发。 终端code即为appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒), 和互联网时间误差不能超过 5分钟。 | | sign | String | 是 | 接口调用的签名值 可验证请求参数的合法性 | | method | String | 是 | 业务标识,每个业务有单独的标识 | | notify_url | String | 否 | 交易成功异步通知url | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------------- | ------ | -------- | ---------------- | | refund_order_code | String | 是 | 聚合平台退款订单号 | ### 2.6.2响应参数 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | | --------------------------------------- | ------- | ---- | ----------------------------- | | code | Integer | | 状态码:返回200请求成功 | | success | boolean | | 是否成功 | | msg | String | | 消息 | | data | String | | 承载数据 | | sign | String | data | 签名(仅加密 必传的响应参数) | | rsy_online_order_refund_detail_response | String | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | | --------------------- | ------ | -------- | ------------------------------------- | | refund_order_code | String | 是 | 聚合平台退款订单号 | | out_refund_order_code | String | 是 | 商户退款订单号 | | refund_state | String | 是 | 退款状态标识(4退款中5已退款6退款失败) | | refund_state_msg | String | 否 | 退款状态信息 | | refund_amount | String | 是 | 退款金额(元) | - 示例 ```json { "code": 200, "success": true, "data": { "rsy_online_order_refund_detail_response": { "refund_amount": "0.03", "refund_order_code": "8010120230825173648202990239", "out_refund_order_code": "20230825173641h00y14", "refund_state": 5, "refund_state_msg": "已退款" }, "sign": "e6a7193aea9265b9026a872d350eacce7794f090" }, "msg": "操作成功" } ``` ## 2.7 H5中台页支付 - 接口说明 - 下游调用该接口创建 H5 中台页支付预订单,接口返回系统订单号和中台支付链接。 - method `rsypay.online.pagepay` ### 2.7.1 请求参数 - 公共请求参数 | 名称 | 类型 | 是否必须 | 描述 | | ----------- | ------ | -------- | ------------------------------------------------------------ | | appkey | String | 是 | 应用键,用以确定客户端应用的身份。应用键对应一个密钥 secret,终端 code 即为 appkey | | timestamp | Long | 是 | 发送请求的时间戳(秒),和互联网时间误差不能超过 5 分钟 | | sign | String | 是 | 接口调用签名值,用于验证请求参数合法性 | | method | String | 是 | 业务标识,本接口固定为 `rsypay.online.pagepay` | | notify_url | String | 否 | 交易成功异步通知 URL | | rpi_no | String | 是 | 商户唯一编号 | | biz_content | String | 是 | 业务级请求参数集合,除公共参数外所有业务参数都放在该字段中传递 | - 业务请求参数 | 名称 | 类型 | 是否必须 | 描述 | | -------------- | ------ | -------- | ------------------------------------------------------------ | | total_amount | String | 是 | 支付金额,单位:元 | | pay_way | String | 是 | 支付方式(1微信、2支付宝、3银联) | | out_trade_no | String | 是 | 下游客户订单号; | | shopdate | String | 是 | 客户系统的交易发生日期格式yyyyMMdd | | subject | String | 否 | 订单备注 | | other_content | String | 否 | 其他参数 | | product_code | String | 否 | 商品编号 | | invoice_remark | String | 否 | 发票备注(展示在发票栏中) | | product_info | String | 否 | 开票商品信息(JSONObject数组转string字符串) 具体内容见下文 | | element_code | String | 条件必传 | 特定要素编号(商品信息后特定要素编号必传,见下文【特定要素说明】) | | element_value | String | 条件必传 | (JSONObject转string字符串)特定要素信息,具体内容根据特定要素需求必传,见下文【特定要素说明】 | | detail_wx | String | 否 | 微信商品详情,单品优惠活动 参考 **detail_wx附录** | - 商品信息【product_info】 | 名称 | 类型 | 是否必填 | 描述 | | ---------------- | ---------- | -------- | ------------------------------------------ | | item_no | Integer | 是 | 商品行号,同一订单内从1开始自增 | | product_name | String | 是 | 商品名称 | | tax_product_code | String | 是 | 税务系统备案的商品编号 | | tax_product_name | String | 是 | 税务系统备案的商品名称 | | product_spec | String | 是 | 商品规格、型号信息 | | product_unit | String | 是 | 商品计量单位(汉字),如:升、G、个、件等 | | price | BigDecimal | 是 | 商品单价 | | quantity | BigDecimal | 是 | 商品购买数量 | | amount | BigDecimal | 是 | 商品含税总金额 | | tax_rate | BigDecimal | 是 | 商品对应税率(如13%送13) | | discount_amount | BigDecimal | 是 | 商品对应优惠金额 | | real_amount | BigDecimal | 是 | 商品实收金额,计算公式:价税合计-优惠金额 | | invoice_nature | Integer | 是 | 发票行性质:1-被折扣行、2-正常行、3-折扣行 | - 特定要素说明表【element_code】 | 特定要素编号 | 特定要素名称 | 是否需要传递特定要素值 | 特定要素值字段示例 | | ------------ | ------------------ | ---------------------- | -------------------------------- | | Y00000000 | 非特定要素 | 否 | 无 | | Y00000001 | 稀土 | 待定 | 待定 | | Y00000002 | 农产品 | 待定 | 待定 | | Y00000003 | 旅客运输 | 是 | 见下文:【旅客运输特定要素参数】 | | Y00000004 | 货物运输 | 待定 | 待定 | | Y00000005 | 机动车 | 待定 | 待定 | | Y00000006 | 成品油 | 是 | 见下文:【成品油特定要素参数】 | | Y00000007 | 不动产销售 | 待定 | 待定 | | Y00000008 | 不动产租赁 | 待定 | 待定 | | Y00000009 | 建筑服务 | 待定 | 待定 | | Y00000010 | 通行费 | 待定 | 待定 | | Y00000011 | 拖拉机和联合收割机 | 待定 | 待定 | | Y00000012 | 代收车船使用税 | 待定 | 待定 | | Y00000013 | 光伏收购 | 待定 | 待定 | | Y00000014 | 医疗服务 | 待定 | 待定 | - 旅客运输特定要素参数 【element_value】【Y00000003】 | 名称 | 类型 | 是否必填 | 描述 | | ----------- | ------ | -------- | ------------------ | | name | String | 是 | 出行人信息 | | idType | String | 是 | 证件类型:1-身份证 | | idNo | String | 是 | 证件号码 | | travelDate | String | 否 | 出行日期 | | depart | String | 是 | 出发地 | | arrive | String | 是 | 到达地 | | vehicleType | String | 是 | 交通工具类型 | | seatLevel | String | 是 | 出行座位等级 | - 成品油特定要素参数 【element_value】【Y00000006】 | 名称 | 类型 | 是否必填 | 描述 | | ----------- | ------ | -------- | ------------------ | | oil_gun_name | String | 是 | 油枪名称 | - detail_wx 微信单品优惠活动 | 参数 | 类型(字节长度) | 必填 | 参数说明 | | :----------- | :-------------- | :--- | :------------------------------------------------------ | | cost_price | double | N | 订单原价,整数不超过14位,小数不 超过2位,单位元 10.50 | | receipt_id | String(32) | N | 商品小票ID,长度不能超过32位 Ys001001 | | goods_tag | String(32) | N | 订单优惠标记,代金券或立减优惠功能的参数 | | goods_detail | List | Y | 商品列表 | - goods_detail 微信商品列表 | 参数 | 类型(字节长度) | 必填 | 参数说明 | | :------------- | :-------------- | :--- | :----------------------------------------------------------- | | goods_id | String(32) | Y | 商户商品编码,由半角的大小写字母,数字,下划线,中划线中的一种或者几种组成,长度不能超过32位 Shouji_abcef_001-001 | | wxpay_goods_id | String(32) | N | 微信支付定义的统一商品编号,长度不能超过32 ,1001 | | goods_name | String(256) | N | 商品的实际名称,长度不能超过256 | | quantity | int(10) | Y | 数量,只能是正整数 ,1000 | | price | Double | Y | 商品单价,单位元,整数部分不能超过12位,小数不能超过2位 , 100.20 | - biz_content 请求参数示例 ```json { "out_trade_no": "202605231aa1da42", "total_amount": "0.02", "shopdate": "20260523", "pay_way": "2" } ``` - 完整请求示例 ```json {"biz_content":"{\"out_trade_no\":\"20260521da42\",\"total_amount\":\"0.02\",\"shopdate\":\"20260523\",\"pay_way\":\"2\"}","method":"rsypay.online.pagepay","rpi_no":"801400000000","sign":"55b5f414aa4f68db5132d3e90304461e812103ab","appkey":"30037","timestamp":1779521426} ``` ### 2.7.2 响应参数 - 公共响应参数 | 名称 | 类型 | 父级 | 描述 | | --------------------------- | ------- | ---- | --------------------------------- | | code | Integer | | 状态码:返回 200 表示请求成功 | | success | boolean | | 是否成功 | | data | Object | | 承载数据 | | msg | String | | 消息 | | sign | String | data | 响应签名(仅加密 必传的响应参数) | | rsy_online_pagepay_response | Object | data | 响应业务参数集合 | - 业务响应参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------------ | ------ | -------- | -------------------------------------- | | order_code | String | 是 | 系统订单号 | | pay_url | String | 是 | H5 中台页支付链接,下游重定向到该地址 | | total_amount | String | 是 | 支付金额 | | out_trade_no | String | 是 | 下游客户订单号 | | shopdate | String | 是 | 下游系统交易发生日期,格式:`yyyyMMdd` | | subject | String | 否 | 订单备注 | | other_content | String | 否 | 其他参数 | | invoice_qr_content | String | 否 | 开票链接 | - 响应示例 ```json {"code":200,"success":true,"data":{"sign":"78b9da1f027ac0233ca8849c46447bde701a0b19","rsy_online_pagepay_response":{"order_code":"202605235302721519","out_trade_no":"2026051da42","total_amount":"0.02","shopdate":"20260523","subject":"","invoice_qr_content":"","other_content":"","pay_url":"https://pay.ruishengyi.com/api/rb-pay/pay/yinsheng/pagePay/queryUrl?orderCode=202605235302721519"}},"msg":"操作成功"} ``` # 3.回调接口 - 说明 - 各回调业务 有独自的notify_type(通知类型),用户可根据此参数区分不同回调业务 - 回调失败 再次调用间隔时长 ```java // 回调接口统一回调间隔时长如下:(仅回调失败时,触发下次回调) 第一次瞬发, 第二次5分钟 第三次10分钟 第四次30分钟 第五次3小时 第六次5小时 第七次10小时 ``` ## 3.1支付状态回调 - 接口说明 用于通知用户订单支付信息,是否成功支付。 - 通知参数 | 名称 | 类型 | 是否必须 | 描述 | | ------------- | ------ | -------- | ------------------------------------------------------------ | | sign | String | 是 | 签名(仅加密 下列必传的参数),此字段不参与签名 | | notify_type | String | 是 | 通知类型(可区分不同的回调业务) 固定值:pay.status.sync | | order_code | String | 是 | 系统订单号 | | trade_status | String | 是 | 交易目前所处的状态。成功状态的值: TRADE_SUCCESS | | result_note | String | 否 | 交易结果描述,当交易失败时,保存错误描述 | | out_trade_no | String | 是 | 客户订单号 | | notice_time | String | 是 | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 2022-11-7 14:29:55 | | total_amount | String | 否 | 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 | | account_date | String | 否 | 入账的时间 | | subject | String | 否 | 订单备注(拉起交易时,传入的备注信息) | | other_content | String | 否 | 其他参数(拉起交易时,传入的其他参数) | - 返回参数 - 回调接收成功请回复 success 七个字符,否则视为回调失败。 - 示例 ``` success ``` ## 3.2退款状态回调 - 接口说明 用于通知用户订单退款信息,是否成功退款。 - 通知参数 | 名称 | 类型 | 是否必须 | 描述 | | ---------------------- | ------ | -------- | ------------------------------------------------------------ | | sign | String | 是 | 签名(仅加密 下列必传的参数),此字段不参与签名 | | notify_type | String | 是 | 通知类型(可区分不同的回调业务) 固定值:refund.status.sync | | rpt_order_request_code | String | 是 | 系统退款订单号 | | out_request_no | String | 是 | 客户退款订单号 | | trade_status | String | 是 | 交易目前所处的状态。成功状态的值: TRADE_SUCCESS | | notice_time | String | 是 | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 2022-11-7 22:10:02 | - 返回参数 - 回调接收成功请回复 success 七个字符,否则视为回调失败。 - 示例 ``` success ```
聚合支付平台
2026年7月8日 16:16
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码