Skip to content

支付

支付

/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       # 赠送金额
            }, ...
        ]
    }