统一下单

商户业务系统通过统一下单接口发起支付收款订单,Jeepay支付网关会根据商户配置的支付通道路由支付通道完成支付下单。支付网关根据不同的支付方式返回对应的支付参数,业务系统使用支付参数发起收款。

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.jeepay.vip/api/pay/unifiedOrder

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
商户订单号 mchOrderNo String(64) 20160427210604000490 商户生成的订单号
支付方式 wayCode String(20) WX_LITE 支付方式,如微信小程序WX_LITE
支付金额 amount int 100 支付金额,单位分
货币代码 currency String(3) cny 三位货币代码,人民币:cny
客户端IP clientIp String(128) 210.73.10.148 客户端IPV4地址
商品标题 subject String(128) Jeepay商品标题测试 商品标题
商品描述 body String(256) Jeepay商品描述测试 商品描述
门店编号 storeId int 10010 商户的门店ID
码牌ID qrcId long 10010432445333 商户的码牌ID
终端设备信息 deviceInfo String(256) {“deviceType”:“auto_pos”,“deviceNo” :“abcde12345”} 智能POS、收银插件下单必填,json格式字符串,详见终端设备信息说明
异步通知地址 notifyUrl String(256) https://www.jeequan.com/notify.htm 支付结果异步回调URL,只有传了该值才会发起回调
跳转通知地址 returnUrl String(256) https://www.jeequan.com/return.htm 支付结果同步跳转通知URL
失效时间 expiredTime int 3600 订单失效时间,单位秒,默认2小时.订单在(创建时间+失效时间)后失效
渠道参数 channelExtra String(512) {“auth_code”:”13920933111042”} 特定渠道发起的额外参数,json格式字符串.详见渠道参数说明
分账模式 divisionMode int 0 分账模式:
0-该笔订单不允许分账[默认],
1-支付成功按配置自动完成分账支付完成自动分账【需包含自动分账接收方,否则自动更新为0(V3.0.0新增)】 ,
2-商户手动分账(解冻商户金额)
扩展参数 extParam String(512) 134586944573118714 商户扩展参数,回调时会原样返回
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

终端设备信息说明

字段名 变量名 必填 类型 示例值 描述
设备类型 deviceType String(20) auto_pos 智能POS:auto_pos,收银插件:cash_plugin
设备号 deviceNo String(128) abcde12345 设备号必填。设备类型为收银插件时传激活码;其他传设备号
设备厂商 provider String(20) abc 除智能POS外的其他设备类型,设备厂商必填

请求示例数据

{
  "amount": 8,
  "extParam": "",
  "mchOrderNo": "mho1624005107281",
  "subject": "商品标题",
  "wayCode": "ALI_BAR",
  "sign": "84F606FA25A6EC4783BECC08D4FDC681",
  "reqTime": "1624005107",
  "body": "商品描述",
  "version": "1.0",
  "channelExtra": "{\"authCode\":\"280812820366966512\"}",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "clientIp": "192.166.1.132",
  "notifyUrl": "https://www.jeequan.com",
  "signType": "MD5",
  "currency": "cny",
  "returnUrl": "",
  "mchNo": "M1623984572",
  "divisionMode": 1
}

返回参数

字段名 变量名 必填 类型 示例值 描述
返回状态 code int 0 0-处理成功,其他-处理有误,详见错误码
返回信息 msg String(128) 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
签名信息 sign String(32) CCD9083A6DAD9A2DA9F668C3D4517A84 对data内数据签名,如data为空则不返回
返回数据 data String(512) {} 返回下单数据,json格式数据

data数据格式

字段名 变量名 必填 类型 示例值 描述
支付订单号 payOrderId String(30) U12021022311124442600 返回支付系统订单号
商户订单号 mchOrderNo String(30) 20160427210604000490 返回商户传入的订单号
订单状态 orderState int 2 支付订单状态
0-订单生成
1-支付中
2-支付成功
3-支付失败
4-已撤销
5-已退款
6-订单关闭
支付数据类型 payDataType String payUrl 支付参数类型
payUrl-跳转链接的方式
form-表单方式
wxapp-微信支付参数(微信公众号,小程序,app支付时)
aliapp-支付宝app支付参数
ysfapp-云闪付app支付参数
codeUrl-二维码地址
codeImgUrl-二维码图片地址
none-空支付参数
支付数据 payData String http://www.jeequan.com/pay.html 发起支付用到的支付参数,如微信公众号和小程序发起支付使用的参数等
订单信息数据 payOrderInfo String {} 订单信息, 当直接支付成功时会返回此数据
渠道错误码 errCode String ACQ.PAYMENT_AUTH_CODE_INVALID 上游渠道返回的错误码
渠道错误描述 errMsg String Business Failed 失败 上游渠道返回的错误描述

返回示例数据

{
  "code": 0,
  "data": {
    "errCode": "ACQ.PAYMENT_AUTH_CODE_INVALID",
    "errMsg": "Business Failed【支付失败,获取顾客账户信息失败,请顾客刷新付款码后重新收款,如再次收款失败,请联系管理员处理。[SOUNDWAVE_PARSER_FAIL]】",
    "mchOrderNo": "mho1624005752661",
    "orderState": 3,
    "payOrderId": "P202106181642329900002"
  },
  "msg": "SUCCESS",
  "sign": "F4DA202C516D1F33A12F1E547C5004FD"
}

支付方式

WayCode 支付方式
WEB_CASHIER WEB收银台
QR_CASHIER 聚合扫码(用户扫商家)
AUTO_BAR 聚合条码(商家扫用户)
ALI_BAR 支付宝条码
ALI_JSAPI 支付宝生活号
ALI_LITE 支付宝小程序
ALI_APP 支付宝APP
ALI_WAP 支付宝WAP
ALI_PC 支付宝PC网站
ALI_QR 支付宝二维码
WX_BAR 微信条码
WX_JSAPI 微信公众号
WX_LITE 微信小程序
WX_APP 微信APP
WX_H5 微信H5
WX_NATIVE 微信扫码
YSF_BAR 云闪付条码
YSF_JSAPI 云闪付jsapi
AUTO_POS 智能POS
DCEP_BAR 数字人民币条码
DCEP_QR 数字人民币二维码

channelExtra参数说明

wayCode=AUTO_BARwayCode=ALI_BARwayCode=WX_BARwayCode=YSF_BAR 时,channelExtra必须传auth_code,为用户的付款码值,channelExtra示例数据如:

{"authCode": "13920933111042"}

wayCode=ALI_JSAPIwayCode=ALI_LITE 时,channelExtra必须传buyerUserId,为支付宝用户ID,channelExtra示例数据如:

{"buyerUserId": "2088702585070844"}

wayCode=WX_JSAPIwayCode=WX_LITE 时,channelExtra必须传openid,为微信OpenId, channelExtra示例数据如:

{"openid": "o6BcIwvSiRpfS8e_UyfQNrYuk2LI"}

注意: 若当前为特约商户,并且商户使用的自己的公众号或者小程序获取到的openId时:
需要:

  1. 商户自己的公众号或者小程序的AppId需要在服务商里进行关联, 请联系运营平台进行配置;
  2. channelExtra参数中添加 subAppId 参数,该参数为商户的公众号或小程序的AppId,示例:
{ "openid": "o6BcIwvSiRpfS8e_UyfQNrYuk2LI", "subAppId""wx08b5a41f7a27abf1" }

wayCode=ALI_QRwayCode=WX_NATIVE 时,channelExtra可以传payDataType设置返回支付数据支付类型。此时payDataType可以为:codeUrl-二维码地址,codeImgUrl-二维码图片地址,不传payDataType默认返回codeUrl类型, channelExtra示例数据如:

{"payDataType": "codeImgUrl"}

wayCode=QR_CASHIER 时,channelExtra可以传payDataType和entryPageType。
entryPageType指定聚合码扫码时进入H5或小程序页面,默认为H5页面。h5-h5页面,lite-小程序页面。
payDataType设置返回支付数据支付类型,此时payDataType可以为:codeUrl-二维码地址,codeImgUrl-二维码图片地址,不传payDataType默认返回codeUrl类型, channelExtra示例数据如:

{"entryPageType": "lite", "payDataType": "codeImgUrl"}

wayCode=ALI_WAP 时,channelExtra可以传payDataType设置返回支付数据支付类型。此时payDataType可以为:form-返回自动跳转的支付表单,codeImgUrl-返回一个二维码图片URL,payUrl-返回支付链接,不传payDataType默认返回payUrl类型, channelExtra示例数据如:

{"payDataType": "form"}

wayCode=ALI_PC 时,channelExtra可以传payDataType设置返回支付数据支付类型。此时payDataType可以为:form-返回自动跳转的支付表单,payUrl-返回支付链接,不传payDataType默认返回payUrl类型, channelExtra示例数据如:

{"payDataType": "form"}

查询订单

商户通过该接口查询订单,支付网关会返回订单最新的数据

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.jeepay.vip/api/pay/query

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
支付订单号 payOrderId String(30) P20160427210604000490 支付中心生成的订单号,与mchOrderNo二者传一即可
商户订单号 mchOrderNo String(64) 20160427210604000490 商户生成的订单号,与payOrderId二者传一即可
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

{
  "payOrderId": "P202106181104177050002",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "sign": "46940C58B2F3AE426B77A297ABF4D31E",
  "signType": "MD5",
  "reqTime": "1624006009",
  "mchNo": "M1623984572",
  "version": "1.0"
}
字段名 变量名 必填 类型 示例值 描述
返回状态 code int 0 0-处理成功,其他-处理有误,详见错误码
返回信息 msg String(128) 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
签名信息 sign String(32) CCD9083A6DAD9A2DA9F668C3D4517A84 对data内数据签名,如data为空则不返回
返回数据 data String(512) {} 返回下单数据,json格式数据

data数据格式

字段名 变量名 必填 类型 示例值 描述
支付订单号 payOrderId String(30) P12021022311124442600 返回支付系统订单号
商户号 mchNo String(30) M1621873433953 商户号
应用ID appId String(24) 60cc09bce4b0f1c0b83761c9 应用ID
商户订单号 mchOrderNo String(30) 20160427210604000490 返回商户传入的订单号
支付接口 ifCode String(30) wxpay 支付接口编码
支付方式 wayCode String(30) WX_LITE 支付方式,如微信小程序WX_LITE
支付金额 amount int 100 支付金额,单位分
货币代码 currency String(3) cny 三位货币代码,人民币:cny
订单状态 state int 2 支付订单状态
0-订单生成
1-支付中
2-支付成功
3-支付失败
4-已撤销
5-已退款
6-订单关闭
客户端IP clientIp String(32) 210.73.10.148 客户端IPV4地址
商品标题 subject String(128) Jeepay商品标题测试 商品标题
商品描述 body String(256) Jeepay商品描述测试 商品描述
渠道订单号 channelOrderNo String 20160427210604000490 对应渠道的订单号
渠道错误码 errCode String 1002 渠道下单返回错误码
渠道错误描述 errMsg String 134586944573118714 渠道下单返回错误描述
扩展参数 extParam String(512) 134586944573118714 商户扩展参数,回调时会原样返回
创建时间 createdAt long 1622016572190 订单创建时间,13位时间戳
成功时间 successTime long 1622016572190 订单支付成功时间,13位时间戳

返回示例数据

{
  "code": 0,
  "data": {
    "amount": 58,
    "appId": "60cc09bce4b0f1c0b83761c9",
    "body": "商品描述",
    "channelOrderNo": "2021061822001423031419593035",
    "clientIp": "192.166.1.132",
    "createdAt": 1623985457705,
    "currency": "cny",
    "extParam": "",
    "ifCode": "alipay",
    "mchNo": "M1623984572",
    "mchOrderNo": "mho1623985457320",
    "payOrderId": "P202106181104177050002",
    "state": 2,
    "subject": "商品标题",
    "successTime": 1623985459000,
    "wayCode": "ALI_BAR"
  },
  "msg": "SUCCESS",
  "sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}

关闭订单

商户通过该接口关闭订单,支付网关会对订单完成关闭处理。

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.jeepay.vip/api/pay/close

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
支付订单号 payOrderId String(30) P20160427210604000490 支付中心生成的订单号,与mchOrderNo二者传一即可
商户订单号 mchOrderNo String(64) 20160427210604000490 商户生成的订单号,与payOrderId二者传一即可
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

{
  "payOrderId": "P202106181104177050002",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "sign": "46940C58B2F3AE426B77A297ABF4D31E",
  "signType": "MD5",
  "reqTime": "1624006009",
  "mchNo": "M1623984572",
  "version": "1.0"
}
字段名 变量名 必填 类型 示例值 描述
返回状态 code int 0 0-处理成功,其他-处理有误,详见错误码
返回信息 msg String(128) 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
签名信息 sign String(32) CCD9083A6DAD9A2DA9F668C3D4517A84 对data内数据签名,如data为空则不返回
返回数据 data String(512) {} 返回下单数据,json格式数据

data数据格式

字段名 变量名 必填 类型 示例值 描述
渠道错误码 errCode String 1002 渠道关单返回错误码
渠道错误描述 errMsg String 关闭异常 渠道关单返回错误描述

返回示例数据

{
  "code": 0,
  "data": {
    "errCode": '',
    "errMsg": ''
  },
  "msg": "SUCCESS",
  "sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}

条码换取openId

商户通过该接口上送刷卡条码值, 换取到微信openId。

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.jeepay.vip/api/pay/queryOpenIdByBarcode

请求方式:POST

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(64) M1621873433953 商户号
应用ID appId String(64) 60cc09bce4b0f1c0b83761c9 应用ID
条码数据 barCode String(60) 20160427210604000490 条码值
subAppId subAppId String(30) 20160427210604000490 若传入则透传到三方支付
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

{
  "barCode": "202106181104177050002",
  "sign": "46940C58B2F3AE426B77A297ABF4D31E",
  "signType": "MD5",
  "reqTime": "1624006009",
  "mchNo": "M1623984572",
  "version": "1.0"
}
字段名 变量名 必填 类型 示例值 描述
返回状态 code int 0 0-处理成功,其他-处理有误,详见错误码
返回信息 msg String(128) 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
签名信息 sign String(32) CCD9083A6DAD9A2DA9F668C3D4517A84 对data内数据签名,如data为空则不返回
返回数据 data String(512) {} 返回下单数据,json格式数据

data数据格式

字段名 变量名 必填 类型 示例值 描述
openId openId String 1002 openId
subOpenId subOpenId String 1002 subOpenId

返回示例数据

{
  "code": 0,
  "data": {
    "openId": '',
    "subOpenId": ''
  },
  "msg": "SUCCESS",
  "sign": "9548145EA12D0CD8C1628BCF44E19E0D"
}

支付通知

当订单支付成功时,支付网关会向商户系统发起回调通知。如果商户系统没有正确返回,支付网关会延迟再次通知。

接口说明

适用对象:普通商户 特约商户

请求URL:该链接是通过统一下单接口提交的参数notifyUrl设置,如果无法访问链接,商户系统将无法接收到支付中心的通知。

请求方式:POST

请求类型:application/x-www-form-urlencoded

通知参数

字段名 变量名 必填 类型 示例值 描述
支付订单号 payOrderId String(30) P12021022311124442600 返回支付系统订单号
商户号 mchNo String(30) M1621873433953 商户号
应用ID appId String(24) 60cc09bce4b0f1c0b83761c9 应用ID
商户订单号 mchOrderNo String(30) 20160427210604000490 返回商户传入的订单号
支付接口 ifCode String(30) wxpay 支付接口编码
支付方式 wayCode String(30) WX_LITE 支付方式,微信小程序WX_LITE
支付金额 amount int 100 支付金额,单位分
货币代码 currency String(3) cny 三位货币代码,人民币:cny
订单状态 state int 2 支付订单状态
0-订单生成
1-支付中
2-支付成功
3-支付失败
4-已撤销
5-已退款
6-订单关闭
客户端IP clientIp String(32) 210.73.10.148 客户端IPV4地址
商品标题 subject String(128) Jeepay商品标题测试 商品标题
商品描述 body String(256) Jeepay商品描述测试 商品描述
渠道订单号 channelOrderNo String 20160427210604000490 对应渠道的订单号
渠道错误码 errCode String 1002 渠道下单返回错误码
渠道错误描述 errMsg String 134586944573118714 渠道下单返回错误描述
扩展参数 extParam String(512) 134586944573118714 商户扩展参数
支付成功时间 successTime long 1622016572190 订单支付成功时间,13位时间戳
创建时间 createdAt long 1622016572190 订单创建时间,13位时间戳
通知请求时间 reqTime String(30) 1622016572190 通知请求时间,,13位时间戳
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法

以下扩展参数如需同步传递需在商户后台配置

字段名 变量名 必填 类型 示例值 描述
商户门店ID storeId int 商户门店ID
经度 lng String 商户门店ID
纬度 lat String 商户门店ID
码牌ID qrcId int 商户门店ID
支付方式代码分类 wayCodeType String 商户门店ID
商户手续费费率 mchFeeRate String 商户门店ID
商户手续费 mchFeeAmount int 商户手续费,单位分
渠道用户标识 channelUser String 渠道用户标识,如微信openId,支付宝账号
订单分账模式 divisionMode int 订单分账模式:0-该笔订单不允许分账, 1-支付成功按配置自动完成分账, 2-商户手动分账(解冻商户金额)
买家备注 buyerRemark String 买家备注
卖家备注 sellerRemark String 卖家备注
订单失效时间 expiredTime long 订单失效时间
支付凭证交易单号 platformOrderNo String 支付凭证交易单号
支付凭证商户单号 platformMchOrderNo String 支付凭证商户单号

> 返回结果

业务系统处理后同步返回给支付中心,返回字符串 success 则表示成功,返回非success则表示处理失败,支付中心会再次通知业务系统。(通知频率为0/30/60/90/120/150,单位:秒)

注意:返回的字符串不区分大小写,字符串前后不能有空格和换行符。

通知示例数据

{
    "amount": 5,
    "body": "商品描述",
    "clientIp": "192.166.1.132",
    "createdAt": "1622016572190",
    "currency": "cny",
    "extParam": "",
    "ifCode": "wxpay",
    "mchNo": "M1621873433953",
    "appId": "60cc09bce4b0f1c0b83761c9",
    "mchOrderNo": "mho1621934803068",
    "payOrderId": "20210525172643357010",
    "state": 3,
    "subject": "商品标题",
    "wayCode": "WX_BAR",
    "sign": "C380BEC2BFD727A4B6845133519F3AD6"
}

获取渠道用户ID

商户通过该接口获取渠道的用户ID,如微信的openID,支付宝的userId。该接口通过跳转获取到用户ID后,会跳转到商户上传的redirectUrl地址,并传递用户ID参数

接口说明

适用对象:普通商户 特约商户

请求URL:https://pay.jeepay.vip/api/channelUserId/jump

请求方式:GET

请求类型:application/jsonapplication/x-www-form-urlencoded

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo String(30) M1621873433953 商户号
应用ID appId String(24) 60cc09bce4b0f1c0b83761c9 应用ID
支付接口 ifCode String(30) AUTO 目前只支持传 AUTO
跳转地址 redirectUrl String https://www.jeequan.com 获取到用户ID后,会携带用户ID参数跳转到该地址
请求时间 reqTime long 1622016572190 请求接口时间,13位时间戳
接口版本 version String(3) 1.0 接口版本号,固定:1.0
签名 sign String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

{
  "mchNo": "M1621873433953",
  "appId": "60cc09bce4b0f1c0b83761c9",
  "ifCode": "wxpay",
  "redirectUrl": "https://www.jeequan.com",
  "sign": "A5C93D50743126ED91AA6ED96CDEEEF8",
  "signType": "MD5",
  "reqTime": "1622011236571",
  "version": "1.0"
}

当获取到渠道用户ID后,会301重定向到跳转地址,传递参数如下

字段名 变量名 必填 类型 示例值 描述
渠道用户ID channelUserId String o6BcIwvSiRpfS8e_UyfQNrYuk2LI 渠道用户ID,微信openId或支付宝userId

完整跳转URL示例

https://www.jeequan.com/toU?channelUserId=o6BcIwvSiRpfS8e_UyfQNrYuk2LI

返回码

code 描述
0 成功
9999 异常,具体错误详见msg字段
文档更新时间: 2024-12-09 15:50   作者:大森林