6. 订单管理

6.订单管理接口

6.1.创建订单

当用户申请购买时,调用该接口创建一个订单。

  • 请求
    /orders/create?album_id=2

参数:
album_id 【必选】专辑(课程)编号,指明要购买哪个课程。

  • 响应

    {
                "code": 0,
                "data": {
                    "count": 1,
                    "ts": 1530760164,
                    "items": [
                        {
                            "id": "5",
                            "name": "我的直播课",
                            "amount": "0.00",
                            "trade_no": "5-9996-6d2d",
                            "status": 2
                        }
                    ]
                }
            }

name 订单名称,购买内容的名称
amount 要支付的总金额
trade_no 我方平台的订单号,提交给第三方支付系统。注意:在支付宝平台中,以 out_trade_no 的参数名给支付宝平台。
status 支付状态,重要说明:
------如果 status值为0,表示订单创建成功,可以提交支付平台支付;
------如果status值为2,表示该用户已经自动完成支付,原因可能是:课程免费、已经支付、其他优惠等,此时无需再向第三方支付平台提交支付,直接返回购买成功即可。

创建订单失败时返回错误,如:

{
                    "code": 4,
                    "err_desc": "缺少订购内容参数"
                }

6.2.支付结果回调通知

当支付成功时,通过该接口进行通知,系统收到通知后更新订单状态。

  • 请求
    阿里云回调接口
    /orders/alipay

微信支付回调接口
/orders/wxpay

  • 参数
    result 支付结果,数字2 或者字符串“SUCCESS”,表示支付成功;其他值表示支付失败。
    trade_no 我方订单编号
    third_trade_no 第三方支付平台的订单编号
    third_buyer_id 第三方支付平台的支付用户编号
    amount 支付金额

  • 响应
    {
    "code": 0
    }

注意: 如果后台返回错误,或者无响应,回调方要生成本地错误日志用于核查。

6.3.查询一个订单

  • 请求
    /orders/get

  • 参数
    id 订单编号
    trade_no 提交给第三方系统时的我方订单号
    以上参数二选一。如果都给,忽略trade_no

  • 响应

    {
                "code": 0,
                "data": {
                    "count": 1,
                    "ts": 1530765028,
                    "items": [
                        {
                            "id": "1",
                            "user_id": "1",
                            "puber_id": "1",
                            "album_id": "1",
                            "title": "我的直播课",
                            "price": "0.00",
                            "amount": "0.00",
                            "servicer": null,
                            "trade_no": null,
                            "third_trade_no": null,
                            "third_buyer_id": null,
                            "pay_status": "0",
                            "add_time": "2018-07-05 10:57:18",
                            "pay_time": "2018-07-05 10:57:18"
                        }
                    ]
                }
            }

user_id 购买者id
puber_id 发布者id
album_id 课程id
title 课程标题
price 价格
amount 金额
servicer 支付平台 1微信,2支付宝
trade_no 我方订单号
third_buyer_id 支付平台购买者编号
third_trade_no 支付平台订单号
pay_status 支付状态 0 未支付;2 已支付; 4 支付错误
add_time 创建时间
pay_time 支付时间

6.4.查询订单列表

查询老师或学生的订单列表。
如果以老师身份登录,查选售出的订单;
如果以学生身份登录,查询购买的订单。

  • 请求
    /orders/list

  • 参数
    page 页码
    page_size 分页大小

返回同查询一个订单,只是返回内容可能有多个记录。

相关文章
相关标签/搜索