支付
支付
/pay/ 获取支付信息 (获取用户余额,生成支付流水)
接口名: /pay/
Method: GET
请求:
order_ids M list 应付订单列表ID
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 返回的支付信息
{
'trade_no' M string 支付流水
'balance' M int 用户账户余额
'money' M int 应付金额
}
逻辑:
获取订单列表
检测订单有效性,不存在或者已支付的
生成支付流水
获取用户账户余额
返回数据
/pay/wechat 微信公众号支付(生成预支付交易单,返回正确的预支付交易回话标识)
接口名: /pay/wechat
Method: POST
请求:
trade_no M string 支付流水号
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 预支付交易会话标识
{
'appId' M string 公众号ID
'timeStamp' M string 时间戳
'nonceStr' M string 随机字符串
'package' M string 订单详情扩展字符串(统一下单接口返回的prepay_id参数值,提交格式如:prepay_id=***)
'signType' M string 签名方式 暂支持MD5
'paySign' M string 签名
}
逻辑:
根据支付流水号获取支付信息
获取用户的openid(支付后发送模板消息用),openid_pay
调用微信统一下单接口生成预支付交易单
返回预支付交易回话标识
/pay/driver 司机App支付(生成预支付交易单,返回正确的预支付交易回话标识)
接口名: /pay/driver
Method: GET
请求:
trade_no M string 支付流水号
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 预支付交易会话标识
{
'appid' M string 应用ID
'partnerid' M string 商户号
'timestamp' M string 时间戳
'noncestr' M string 随机字符串
'package' M string 暂填写固定值Sign=WXPay
'prepayid' M string 预支付交易会话ID
'sign' M string 签名
}
逻辑:
根据支付流水号获取支付信息
获取支付订单站点的cms_key
调用微信统一下单接口生成预支付交易单
返回预支付交易回话标识
/pay/app App支付(生成预支付交易单,返回正确的预支付交易回话标识)
接口名: /pay/app
Method: POST
请求:
trade_no M string 支付流水号
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 预支付交易会话标识
{
'appid' M string 应用ID
'partnerid' M string 商户号
'timestamp' M string 时间戳
'noncestr' M string 随机字符串
'package' M string 暂填写固定值Sign=WXPay
'prepayid' M string 预支付交易会话ID
'sign' M string 签名
}
逻辑:
根据支付流水号获取支付信息
调用微信统一下单接口生成预支付交易单
返回预支付交易回话标识
/pay/balance 余额支付
接口名: /pay/balance
Method: POST
请求:
trade_no M string 支付流水号
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
获取用户的openid, openid_pay
获取会话的cms_key
根据支付流水号获取支付信息
获取用户账户余额,判断余额是否够支付
扣减余额(先扣余额再扣抵扣金)
更新支付流水信息
更新订单信息
插入凭证号
发送余额变动通知
/pay/wechat/notify/(?P\w+) 微信支付结果通知
接口名: /pay/wechat/notify/(?P<cms_key>\w+)
Method: POST
请求:
xml
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
逻辑:
更新支付流水信息
更新订单信息
插入凭证号
充值时发送余额变动通知
/pay/charge 微信公众号充值(生成预支付交易单,返回正确的预支付交易回话标识)
接口名: /pay/charge
Method: GET
请求:
money M int 充值金额
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 预支付交易会话标识
{
'appId' M string 公众号ID
'timeStamp' M string 时间戳
'nonceStr' M string 随机字符串
'package' M string 订单详情扩展字符串(统一下单接口返回的prepay_id参数值,提交格式如:prepay_id=***)
'signType' M string 签名方式 暂支持MD5
'paySign' M string 签名
}
逻辑:
获取用户的openid(支付后发送模板消息用),openid_pay
生成充值支付流水
调用微信统一下单接口生成预支付交易单
返回预支付交易回话标识
/pay/app/charge App充值(生成预支付交易单,返回正确的预支付交易回话标识)
接口名: /pay/app/charge
Method: GET
请求:
money M int 充值金额
响应:
code M int 0为成功,其它为失败
msg M string 错误提示信息
data M list 预支付交易会话标识
{
'appid' M string 应用ID
'partnerid' M string 商户号
'timestamp' M string 时间戳
'noncestr' M string 随机字符串
'package' M string 暂填写固定值Sign=WXPay
'prepayid' M string 预支付交易会话ID
'sign' M string 签名
}
逻辑:
生成充值支付流水
调用微信统一下单接口生成预支付交易单
返回预支付交易回话标识
/pay/gift(判断一个 cms key 是否有充值赠送的功能并返回赠送金额)
接口名: /pay/gift
Method: GET
请求:
无
响应:
code M int 0 为成功,其它为失败
msg M string 错误提示信息
data M list 预支付交易会话标识
{
has_gift:bool, # 这个 cms key 有无充值赠送的需求
gift: [
{
money: int, # 充值金额
gift: int # 赠送金额
}, ...
]
}