2 API支付接口

2.1 订单支付

2.1.1 功能描述

我司目前开通的支付通道包括:微信个人码扫码支付宝个人码扫码,微信原生 H5,微信原生扫码。

微信个人码扫码:用户通过手机端使用微信扫描二维码的方式完成支付,需要用户手动输入金额。

支付宝个人码扫码:用户通过使用手机端支付宝APP扫描二维码的方式完成支付,需要用户手动输入金额。

微信原生 H5:用户通过外部浏览器直接唤起微信发起并完成支付。

微信原生扫码:用户通过手机端使用微信扫描二维码的方式完成支付,无需用户输入金额,可直接唤起微信支付。

所有支付务必在支付时间内完成支付,否则支付被视为无效,无法到账。

2.1.2 请求参数

接口名称:/pay/recharge 通过POST 请求

中文名

字段名

必填

类型

说明

商户号

m_id

string(10)

商户在我司注册的账号。 我司维度唯一

商户用户

accounts

string(16)

在商户注册的账号。

商户维度唯一。

必须为字母或数字,注意不是商户号。

商户订单号

order_id

string(25)

商户生成的订单号。

商户维度唯一。 必须为字母或数字。

订单交易金额

amount

int

订单的支付金额。 单位:元

通道类型

m

int

充值通道的类型。

0-微信个人码扫码

1-支付宝个人码扫码

2-支付宝原生 H5

3-微信原生 H5

4-微信原生扫码

附加信息

attach

string(255)

附加信息。异步通知时会完整返回

下单IP

order_ip

string(32)

用户提交订单的IP地址

随机字符串

r

string(32)

固定长度32个字节的随机字串。

必须为字母或数字。

页面返回地址

return_url

string(255)

支付完成后页面自动跳转地址。

异步通知地址

notify_url

string(255)

支付结果异步通知地址。

API模式

api

int

1 – 网页调用模式

签名

sign

string(32)

md5签名

2.1.3 应答参数

出错时会跳转错误页面

中文名

字段名

必返

类型

说明

结果

code

string(32)

参见错误码对照表

网页调用模式会返回支付页面地址。 {"code":"000000","url":""}

如果启用API模式,将返回一个json数据:

中文名

字段名

必返

类型

说明

结果

code

string(32)

参见错误码对照表

二维码

url

string(255)

要求商户自行生成二维码

支付金额

amount2

double

用户实际应支付金额

必须支付相等金额,否则不入账

过期时间

pay_lasttime

int

<时间戳,超过该时间支付不到账

目前为下单后5分钟内支付

2.1.4 异步通知结果

以下数据以POST PARAMS方式返回

中文名

字段名

必返

类型

说明

结果

code

string(32)

参见错误码对照表

注:code不参与签名

商户号

m_id

tring(10)

商户在我司注册的账号

我司系统维度唯一

商户订单号

order_id

string(25)

商户生成的订单号。

商户维度唯一

字母或数字

支付单号

pay_id

int

我司系统生成的单号。

我司维度唯一

纯数字

订单交易金额

amount

int

订单的支付金额。

单位:元

手续费

merchant_fee

int

该笔订单需要扣除商户的费用

单位:分

商户用户

accounts

int

商户发送的商户用户

返回结果时带回

附加数据

attach

string(255)

商户自定数据

返回结果时带回

付款时间

charge_time

string(32)

用户付款的时间

付款IP

charge_ip

string(32)

用户付款的IP

随机字符串

r

string(32)

固定长度32个字节的随机字串

为字母或数字

签名

sign

string(32)

md5签名

商户在收到异步回调结果后需要及时响应,从而停止我司继续异步回调过程。

返回结果JSON类型,code编码为000000表示响应成功

中文名

字段名

必返

类型

说明

结果

code

string(32)

参见错误码对照表

2.2 支付订单查询

2.2.1 功能描述

接入API的商户可以通过调用该接口主动查询订单支付结果。

2.2.2 请求参数

接口名称:/pay/query_recharge 通过GET/POST请求

中文名

字段名

必填

类型

说明

商户号

m_id

string(10)

商户在我司系统注册的账号

我司维度唯一

商户订单号

order_id

string(25)

商户生成的订单号。

商户维度唯一

必须为字母或数字

order_id和pay_id至少要传一个

都不为空以order_id为准

支付单号

pay_id

int

我司生成的订单号。

我司维度唯一

必须为纯数字

order_id和pay_id至少要传一个

都不为空以order_id为准

随机字符串

r

string(32)

固定长度32个字节的随机字串。

为字母或数字

签名

sign

string(32)

保证数据合法性的加密签名。

2.2.3 应答参数

以下数据为json格式返回

中文名

字段名

必返

类型

说明

如果出错仅返回code

结果

code

string(32)

参见错误码对照表

以下字段在支付时

返回需要进行验签

商户号

m_id

string(10)

商户在我司注册的账号

我司系统维度唯一

通道类型

m

int

通道类型

0-微信个人码收款

1-支付宝个人码收款

商户订单号

order_id

string(25)

商户生成的订单号。

商户维度唯一

字母或数字

支付单号

pay_id

int

我司系统生成的单号。

我司维度唯一

字母或数字

订单交易金额

amount

int

订单的支付金额。

单位:元

手续费

merchant_fee

int

该笔订单需要扣除商户的费用

商户用户

accounts

string

商户发送的商户用户

返回结果时带回

附加数据

attach

string(255)

商户自定数据,

返回结果时带回

下单时间

order_time

string(14)

用户下单时间

格式 YYYY-MM-DD hh:mm:ss

随机字符串

r

string(32)

固定长度32个字节的随机字串

为纯字母和数字

下单IP

order_ip

string(32)

用户下单的IP

订单状态

state

int

订单状态

0 未支付

1 已支付

以下字段只有支付

结果为成功时才有值

付款时间

charge_time

string(32)

用户付款的时间

付款IP

charge_ip

string(32)

用户付款的IP

签名

sign

string(32)

md5签名

3 错误码

错误码

错误信息

备注

000000

成功

000001

操作过快

111111

未知错误

100001

缺少商户号(m_id)

100002

缺少通道类型(m)

100003

缺少随机字符串(r)

100004

缺少签名(sign)

100005

缺少商户订单号(order_id)

100006

缺少支付金额(amount)

100007

缺少下单IP(order_ip)

100008

缺少商户用户(accounts)

100009

缺少附加数据(attach)

100010

缺少页面返回地址(return_url)

100011

缺少异步通知地址(notify_url)

100015

缺少商户订单号(order_id)或支付单号(pay_id)

100101

商户号(m_id)必须是6位数字

100102

通道类型(m)必须是数字

100103

随机字符串(r)必须是32位字母或数字

100104

签名(sign)必须是32位字母或数字

100105

商户订单号(order_id)必须是不超过25位的字母或数字

100106

支付单号(pay_id)必须是数字

100107

支付金额(amount)必须是正整数

100108

下单IP(order_ip)必须是有效IP地址格式

100109

商户用户(accounts)必须是不超过32位的字母或数字

100110

附加数据(attach)长度不超过255

100111

页面返回地址(return_url)长度不超过255

100112

异步通知地址(notify_url)长度不超过255

100113

终端类型(terminal)必须是数字

100201

商户不可用

商户关闭

100202

通道类型不可用

通道类型关闭

100203

商户通道不可用

商户通道关闭

100204

通道不可用

通道关闭

100205

商户通道类型不可用

商户通道类型关闭

100206

通道组不可用

100207

终端类型不可用

100301

订单不存在

100302

订单状态错误

100303

没有合适的通道

1. 通道有可能处于风控中。

2. 由于平台风控策略,一段时间内不允许多次出现重复

金额,请检查充值请求金额是否重复,建议使用随机小数金额

100401

商户通道当日限额

100402

用户多次充值失败

1. 该用户未能发送有效的用户账号,即accounts字段,

导致平台无法自动为其切换可用通道。

2. 该用户被风控,限制充值

200000

请求超时

200001

请求异常

200002

签名错误

1. 检查商户号和apikey是否匹配

2. 注意notify_url 和 return_url的处理,具体参见上面文档

Last updated

Was this helpful?