支付接口
功能: 接入方通知滴滴,支付订单费用给司机。
支持运力:express-car,private-car,taxi(司机填写账单后可用)
资源URL
POST: v1/orders/{didi_oid}/payment
注:
- 专/快车费用与滴滴所出账单不一致时(实时计价订单),支付处理失败
- 需满足条件:总金额 == 乘客实际支付金额 + 接入方补贴金额 + 滴滴补贴金额,否则支付处理失败
- 支付币种为人民币,单位为分
请求参数:
参数名 | 类型 | 说明 |
---|---|---|
didi_oid | string | 滴滴订单ID |
total_fee | int | 总金额(单位分) |
pay_info | json类型(可选) | 支付信息(乘客信息发生变化时需提供,否则使用发单时提交的数据risk_info["pay_info"],is_notify=0、2时不能为空) |
pay_type | 支付方式,空值表示未支付。 baidu(百度钱包), alipay(支付宝), wechat(微信), qq(qq钱包), debitcard(借记卡), creditcard(信用卡) |
|
status | 支付状态。 0:支付失败, 1:支付成功 |
|
lat,lng | 支付时用户经纬度信息 | |
imei/deviceid | 支付设备id,必须至少提供一个 | |
ip | 支付ip | |
wifi_mac | 支付网络的 wifi mac 地址 | |
detail,json类型(可选) | 完整支付记录 | |
detail.trade_id | 支付id,款项入滴滴账户的交易流水id,以校验支付结果 | |
detail.business_id | 商户id,即付款方id | |
detail.amount | 支付给滴滴的金额 | |
detail.pay_time | 支付时间 | |
fee_info | json类型(可选) | 费用信息( is_notify=1, 2 时该字段不能为空),币种为人民币,单位为分 |
real_fee, int | 乘客实际支付金额,单位为分 | |
subsidy, int | 滴滴补贴金额,单位为分 | |
allowance, int | 第三方补贴金额,单位为分 | |
is_notify | int(可选) | 支付通知类型。 0:需要支付(默认); 1:支付通知,只保存支付信息,不发起支付请求(用于运营发票,如存在第三方补贴); 2:保存支付信息并且支付司机(用于运营发票 & 非垫付渠道) |
curl -X POST
-H "Content-Type: application/json"
-H 'Authorization: Bearer domain|{access_token}'
-d '{"total_fee":10000,"is_notify":2,"pay_info":{"pay_type":"creditcard","status":1,"lng":116.344434,"lat":39.998568,"deviceid":"BEO19-POIA1-PO98T","imei":"aasd9012kjkasd","ip":"127.0.0.1","wifi_mac":"fa:e2:d9:c5:f1:ab","detail":{"trade_id":"10000503012018062002208","business_id":"biz_id","amount":"10000","pay_time":"2018-06-01T10:00:00+0800"}},"fee_info":{"real_fee":10000,"subsidy":0,"allowance":0}}'
'https://api.xiaojukeji.com/v1/orders/{didi_oid}/payment'
返回:
支付成功:http status 200
{
"error":"code(0)",
"error_detail":"SUCCESS"
}
支付失败(专车、快车):http status 非200
code | error_detail | 说明 |
---|---|---|
40010 | 输入金额校验失败,请检查支付金额 | 支付金额与滴滴生成的账单金额不一致 |
费用检查未通过。行程车费:xx.xx元,乘客支付车费:xx.xx元 | 支付费用与账单不一致,支付失败 | |
40018 | 行程id错误,不存在该行程 | 订单不存在,无法支付 |
40029 | 无支付权限 | 无支付权限,不能请求支付 |
40030 | 无司机接单,无需支付 | 未产生费用,不能支付 |
行程中不能支付 | 行程未结束,不能支付 | |
40031 | 请求正在处理中,请稍后 | 为防止重复支付,每个订单的支付会锁定3s,锁定时间内重复请求无效 |
40032 | 订单已支付,请勿重复支付 | 已支付的行程不能再支付,出租车订单乘客线下支付后,不能再线上支付 |
例:
{
"error":"code(40010)",
"error_detail":"费用检查未通过。行程车费:95.00元,乘客支付车费:20.00元"
}
更新日志
- 2017.08.04 增加支付信息通知,is_notify=1滴滴不发起支付请求,只保存支付信息。is_notify=2保存支付信息并且发起支付
- 2018.06.19 pay_info参数增加 trade_id字段,表示支付交易流水号,用于滴滴校验支付结果
- 2018.06.27 pay_info字段增加detail字段,用于传递用户完整支付信息,更新示例