生成订单并获取ticket
接口调用请求说明
请求成功后将会创建一个status=10的订单(status枚举见下文)
每个ticket只能消费一次,创建订单接口可以多次调,但是不是生成新ticket要视情况而定 场景A: 第一次生成ticketA,拉起收银台消费ticketA后ticketA就失效了 第二次再调就生成新的ticketB了
场景B: 第一次生成ticketA,不调收银台消费这个ticket,那么24小时内再调生成的还是ticketA,超过24小时生成的是新的ticketA’
开启ticket校验后,订单支付成功后才会将订单同步至订单中心。
http请求方式:POST
https://api.weixin.qq.com/shop/order/add?access_token=xxxxxxxxx
请求参数示例一(普通支付场景)
{
"create_time": "2020-03-25 13:05:25",
"type": 0, // 非必填,默认为0。0:普通场景, 1:合单支付
"out_order_id": "xxxxx", // 必填,普通场景下的外部订单ID;合单支付(多订单合并支付一次)场景下是主外部订单ID
"openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
"path": "/pages/order.html?out_order_id=xxxxx", // 这里的path中的最好有一个参数的值能和out_order_id的值匹配上
"out_user_id": "323232323",
"order_detail":
{
"product_infos":
[
{
"out_product_id": "12345",
"out_sku_id":"23456",
"product_cnt": 10,
"sale_price": 100, //生成这次订单时商品的售卖价,可以跟上传商品接口的价格不一致
"path": "pages/productDetail/productDetail?productId=2176180",
"title" : "洗洁精",
"head_img": "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg",
},
...
],
"pay_info": {
"pay_method": "微信支付",
"prepay_id": "42526234625",
"prepay_time": "2020-03-25 14:04:25"
},
"price_info": {
"order_price": 1600,
"freight": 500,
"discounted_price": 100,
"additional_price": 200,
"additional_remarks": "税费"
}
},
"delivery_detail": {
"delivery_type": 1, // 1: 正常快递, 2: 无需快递, 3: 线下配送, 4: 用户自提
},
"address_info": {
"receiver_name": "张三",
"detailed_address": "详细收货地址信息",
"tel_number": "收货人手机号码",
"country": "国家,选填",
"province": "省份,选填",
"city": "城市,选填",
"town": "乡镇,选填"
}
}
回包示例
{
"errcode": 0,
"errmsg":"ok",
"data":
{
"order_id":32434234,
"out_order_id": "xxxxx",
"ticket": "xxxxxxx",
"ticket_expire_time": "2020-12-01 00:00:00",
"final_price": 10500 //final_price=product_price+freight-discounted_price+additional_price
}
}
请求参数说明
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
create_time | string | 是 | 创建时间 |
out_order_id | string | 是 | 商家自定义订单ID |
openid | string | 是 | 用户的openid |
path | string | 是 | 商家小程序该订单的页面path,用于微信侧订单中心跳转 |
out_user_id | string | 否 | 商家小程序该订单的用户id |
order_detail.product_infos[].out_product_id | string | 是 | 商家自定义商品ID |
order_detail.product_infos[].out_sku_id | string | 是 | 商家自定义商品skuID,可填空字符串(如果这个product_id下没有sku) |
order_detail.product_infos[].product_cnt | number | 是 | 购买的数量 |
order_detail.product_infos[].sale_price | number | 是 | 生成订单时商品的售卖价(单位:分),可以跟上传商品接口的价格不一致 |
order_detail.product_infos[].head_img | string | 是 | 生成订单时商品的头图 |
order_detail.product_infos[].title | string | 是 | 生成订单时商品的标题 |
order_detail.product_infos[].path | string | 是 | 绑定的小程序商品路径 |
order_detail.pay_info.pay_method | string | 是 | 支付方式(目前只有”微信支付”) |
order_detail.pay_info.prepay_id | string | 是 | 预支付ID |
order_detail.pay_info.prepay_time | string | 是 | 预付款时间(拿到prepay_id的时间) |
order_detail.price_info.order_price | number | 是 | 该订单最终的金额(单位:分) |
order_detail.price_info.freight | number | 是 | 运费(单位:分) |
order_detail.price_info.discounted_price | number | 否 | 优惠金额(单位:分) |
order_detail.price_info.additional_price | number | 否 | 附加金额(单位:分) |
order_detail.price_info.additional_remarks | string | 否 | 附加金额备注 |
delivery_detail.delivery_type | number | 是 | 1: 正常快递, 2: 无需快递, 3: 线下配送, 4: 用户自提 ( 默认1) |
address_info.receiver_name | string | 是 | 收件人姓名 |
address_info.detailed_address | string | 是 | 详细收货地址信息 |
address_info.tel_number | string | 是 | 收件人手机号码 |
address_info.country | string | 否 | 国家 |
address_info.province | string | 否 | 省份 |
address_info.city | string | 否 | 城市 |
address_info.town | string | 否 | 乡镇 |
回包参数说明
参数 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
data.order_id | number | 交易组件平台订单ID |
data.out_order_id | string | 交易组件平台订单ID |
data.ticket | string | 拉起收银台的ticket |
data.ticket_expire_time | string | ticket有效截止时间 |
data.final_price | number | 订单最终价格(单位:分) |
枚举-status
枚举值 | 描述 |
---|---|
10 | 待付款 |
20 | 待发货(已付款/用户已付尾款) |
30 | 待收货 |
100 | 完成 |
200 | 全部商品售后之后,订单取消 |
250 | 用户主动取消/待付款超时取消/商家取消 |
1010 | 用户已付定金 |