订单
订单
业务错误码统一前缀为:20
确认订单信息
POST /order_info
权限
- 需要认证用户
参数
字段 | 是否必填 | 描述 |
---|---|---|
targetType enum{course,classroom} |
是 | 商品类型 |
targetId int string |
是 | 商品ID |
unit string |
否 | 购买方式,year,month |
num int string |
否 | 购买数量 |
响应
成功响应OrderInfo结构体
字段 | 描述 |
---|---|
targetType enum{course,classroom} |
商品类型 |
targetId int string |
商品ID |
totalPrice float string |
商品价格 |
title string |
商品名称 |
account CashAccount |
当前用户的账户信息 |
hasPayPassword bool |
是否有支付密码 |
verifiedMobile string |
已经验证的手机号码 |
coinName string |
虚拟币名称 |
cashRate float string |
汇率 |
priceType enum{RMB,Coin} |
标价类型 |
coinPayAmount float string |
本单需要支付的虚拟币 |
maxCoin float string |
本单最高可以抵扣的虚拟币 |
availableCoupons list<Coupon> |
可以使用的优惠码 |
fullCoinPayable bool |
是否允许虚拟币全额支付 |
unitType enum{month,year} |
购买VIP,按月购买、按年购买 |
duration int string |
购买VI时长 |
buyType enum{new,renew,upgrade} |
VIP购买类型 new:购买,renew:续费,upgrade:升级 |
错误
Code | 错误说明 | HTTP状态码 |
---|---|---|
9 | 缺少参数 | 422 |
创建订单
POST /orders
权限
- 需要认证用户
参数
字段 | 是否必填 | 描述 |
---|---|---|
targetType enum{course,classroom,vip} |
是 | 商品类型 |
targetId int string |
是 | 商品ID |
couponCode string |
否 | 优惠码 |
coinPayAmount int string |
否 | 支付的虚拟币 |
payPassword string |
否 | 如果使用虚拟币支付,需要用支付密码 使用XXTEA加密,key为EduSoho,然后再base64编码 |
unit enum{month,year} |
否 | 按月购买、按年购买 |
num int string |
否 | 购买会员时长 |
appPay string |
否 | 是否唤起app支付,Y:唤起 N:不唤起,默认N |
payment string |
否 | 支付方式('wechat') |
响应
成功响应
字段 | 描述 |
---|---|
id int string |
订单id |
sn int string |
订单编号 |
错误
Code | 错误说明 | HTTP状态码 |
---|---|---|
9 | 缺少参数 | 422 |
2001 | 当前使用的账户金额大于账户余额 | 500 |
2002 | 支付密码不正确 | 500 |
支付
POST /pay_center
权限
- 需要认证用户
参数
字段 | 是否必填 | 描述 |
---|---|---|
orderId int string |
是 | 商品ID |
targetType enum{course,classroom,vip} |
是 | 购买商品类型 |
payment enum{alipay,coin} |
是 | 支付方式 |
响应
成功响应
字段 | 描述 |
---|---|
id int string |
订单id |
status enum{created,paid} |
订单状态 |
paymentForm string |
支付表单 |
paymentHtml string |
支付html |
paymentUrl string |
支付链接 |
错误
Code | 错误说明 | HTTP状态码 |
---|---|---|
9 | 缺少参数 | 422 |
2007 | 支付方式未开启, 请先开启 | 500 |
新的支付接口
版本
8.2.0及以上
POST /trades
权限
- 需要认证用户
参数
字段 | 是否必填 | 描述 |
---|---|---|
gateway string} |
是 | 支付网关 |
type enum{purchase,recharge} |
是 | 交易类型,purchase: 购买, recharge: 充值 |
orderSn int string |
否 | 订单Sn,只有购买类型才需要传递 |
coinAmount float string |
否 | 虚拟币使用额 |
payPassword int string |
否 | 支付密码,密码需要加密 |
gateway
- WechatPay_Native: 微信扫码支付
- WechatPay_MWeb: 微信 Wap 支付
- WechatPay_Js: 微信内支付
- Alipay_LegacyExpress: 支付包 Web 支付
- Alipay_LegacyWap: 支付宝 Wap 支付
- Lianlian_Web: lianlian Web 支付
- Lianlian_Wap: lianlian Wap 支付
- Coin: 纯虚拟币支付(app使用)
响应
成功响应Trade结构体
字段 | 描述 |
---|---|
tradeSn int string |
交易sn |
status enum{created,paid} |
支付状态 |
错误
Code | 错误说明 | HTTP状态码 |
---|---|---|
7 | 参数错误 | 400 |
9 | 缺少参数 | 400 |
2000 | 没有输入支付密码,不能使用虚拟币支付 | 400 |
2001 | 余额不足 | 400 |
2002 | 支付密码不正确 | 400 |
2003 | 优惠码已经被使用了 | 400 |
2004 | 订单不存在 | 400 |
2005 | 用户未登录,不能支付 | 400 |
2006 | 不是您的订单,不能支付 | 400 |
2008 | 支付密码未设置 | 400 |
2009 | 超过最大允许支付的虚拟币额度 | 400 |
2010 | 金额错误 | 400 |
20007 | 未开放购买 | 400 |