生成订单并获取ticket

接口调用请求说明

请求成功后将会创建一个status=10的订单(status枚举见下文)

每个ticket只能消费一次,创建订单接口可以多次调,但是不是生成新ticket要视情况而定 场景A: 第一次生成ticketA,拉起收银台消费ticketA后ticketA就失效了 第二次再调就生成新的ticketB了

场景B: 第一次生成ticketA,不调收银台消费这个ticket,那么24小时内再调生成的还是ticketA,超过24小时生成的是新的ticketA’

开启ticket校验后,订单支付成功后才会将订单同步至订单中心。

  1. http请求方式:POST
  2. https://api.weixin.qq.com/shop/order/add?access_token=xxxxxxxxx

请求参数示例一(普通支付场景)

  1. {
  2. "create_time": "2020-03-25 13:05:25",
  3. "type": 0, // 非必填,默认为0。0:普通场景, 1:合单支付
  4. "out_order_id": "xxxxx", // 必填,普通场景下的外部订单ID;合单支付(多订单合并支付一次)场景下是主外部订单ID
  5. "openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
  6. "path": "/pages/order.html?out_order_id=xxxxx", // 这里的path中的最好有一个参数的值能和out_order_id的值匹配上
  7. "out_user_id": "323232323",
  8. "order_detail":
  9. {
  10. "product_infos":
  11. [
  12. {
  13. "out_product_id": "12345",
  14. "out_sku_id":"23456",
  15. "product_cnt": 10,
  16. "sale_price": 100, //生成这次订单时商品的售卖价,可以跟上传商品接口的价格不一致
  17. "path": "pages/productDetail/productDetail?productId=2176180",
  18. "title" : "洗洁精",
  19. "head_img": "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg",
  20. },
  21. ...
  22. ],
  23. "pay_info": {
  24. "pay_method": "微信支付",
  25. "prepay_id": "42526234625",
  26. "prepay_time": "2020-03-25 14:04:25"
  27. },
  28. "price_info": {
  29. "order_price": 1600,
  30. "freight": 500,
  31. "discounted_price": 100,
  32. "additional_price": 200,
  33. "additional_remarks": "税费"
  34. }
  35. },
  36. "delivery_detail": {
  37. "delivery_type": 1, // 1: 正常快递, 2: 无需快递, 3: 线下配送, 4: 用户自提
  38. },
  39. "address_info": {
  40. "receiver_name": "张三",
  41. "detailed_address": "详细收货地址信息",
  42. "tel_number": "收货人手机号码",
  43. "country": "国家,选填",
  44. "province": "省份,选填",
  45. "city": "城市,选填",
  46. "town": "乡镇,选填"
  47. }
  48. }

回包示例

  1. {
  2. "errcode": 0,
  3. "errmsg":"ok",
  4. "data":
  5. {
  6. "order_id":32434234,
  7. "out_order_id": "xxxxx",
  8. "ticket": "xxxxxxx",
  9. "ticket_expire_time": "2020-12-01 00:00:00",
  10. "final_price": 10500 //final_price=product_price+freight-discounted_price+additional_price
  11. }
  12. }

请求参数说明

参数类型是否必填说明
create_timestring创建时间
out_order_idstring商家自定义订单ID
openidstring用户的openid
pathstring商家小程序该订单的页面path,用于微信侧订单中心跳转
out_user_idstring商家小程序该订单的用户id
order_detail.product_infos[].out_product_idstring商家自定义商品ID
order_detail.product_infos[].out_sku_idstring商家自定义商品skuID,可填空字符串(如果这个product_id下没有sku)
order_detail.product_infos[].product_cntnumber购买的数量
order_detail.product_infos[].sale_pricenumber生成订单时商品的售卖价(单位:分),可以跟上传商品接口的价格不一致
order_detail.product_infos[].head_imgstring生成订单时商品的头图
order_detail.product_infos[].titlestring生成订单时商品的标题
order_detail.product_infos[].pathstring绑定的小程序商品路径
order_detail.pay_info.pay_methodstring支付方式(目前只有”微信支付”)
order_detail.pay_info.prepay_idstring预支付ID
order_detail.pay_info.prepay_timestring预付款时间(拿到prepay_id的时间)
order_detail.price_info.order_pricenumber该订单最终的金额(单位:分)
order_detail.price_info.freightnumber运费(单位:分)
order_detail.price_info.discounted_pricenumber优惠金额(单位:分)
order_detail.price_info.additional_pricenumber附加金额(单位:分)
order_detail.price_info.additional_remarksstring附加金额备注
delivery_detail.delivery_typenumber1: 正常快递, 2: 无需快递, 3: 线下配送, 4: 用户自提 ( 默认1)
address_info.receiver_namestring收件人姓名
address_info.detailed_addressstring详细收货地址信息
address_info.tel_numberstring收件人手机号码
address_info.countrystring国家
address_info.provincestring省份
address_info.citystring城市
address_info.townstring乡镇

回包参数说明

参数类型说明
errcodenumber错误码
errmsgstring错误信息
data.order_idnumber交易组件平台订单ID
data.out_order_idstring交易组件平台订单ID
data.ticketstring拉起收银台的ticket
data.ticket_expire_timestringticket有效截止时间
data.final_pricenumber订单最终价格(单位:分)

枚举-status

枚举值描述
10待付款
20待发货(已付款/用户已付尾款)
30待收货
100完成
200全部商品售后之后,订单取消
250用户主动取消/待付款超时取消/商家取消
1010用户已付定金