创建订单 / 下单接口参数说明
《前端接口文档》
接口地址以及参数说明,请移步至上述链接查看详细的接口文档说明
接口文档的使用方法,接口如何调用,请参阅下面的入门教程:
《如何调用接口?》
如果你是进行微信小程序开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口:
《微信小程序SDK》
如果你是进行头条/抖音小程序开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口:
《头条/抖音小程序SDK》
如果你是进行web开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口:
《web开发SDK》
如果你是进行flutter开发,可以使用已经封装好的SDK,可以更加方便快捷,免去原始对接API接口:
《flutter开发SDK》
本教程详细描述下本接口使用的参数,便于开发者快速检索:
预下单
参数名: calculate
有的时候,我们并不希望立即下单,而是验证下是否可以下单,同时获取如果下单以后需要支付的金额、积分等等情况,比如可以用来实现订单确认页面,显示支付金额等信息让用户确认以后才正式下单
这个时候,你可以传该参数,calculate = true
用户登陆凭证
参数名: token
- 必填参数
- 传入下单用户的登陆token信息,系统根据传入的 token ,将订单保存到对应的用户名下
邀请人
参数名: orderInviterId
该参数传入用户id,系统将标记本订单的邀请人为该用户,同时这个字段也是作为三级分销抢客的依据,如果邀请人是分销商,并且了开启允许抢客,那么用户的所属分销商关系将会被变更
商品类型
参数名: goodsType
0为自营商品;1为vop商品,一般应用,直接传0即可
订单商品
参数名: goodsJsonStr
下单商品信息,格式如下:
[{"goodsId": 11, "number": 2, "propertyChildIds": "", "days": ["2019-07-26", "2019-07-27"]}, {"goodsId": 8, "number": 3, "propertyChildIds": "2:9", "inviter_id": 1234, "days": ["2019-07-26", "2019-07-27"]} ]
请注意,这个参数是字符串类型,所以你将可能需要通过下面的方法转为字符串以后再传给接口调用:
JSON.stringify(array)
具体字段描述如下:
- goodsId
商品ID,数字类型,请区分商品条码和商品ID,不要搞混淆
- number
购买数量
- propertyChildIds
规格尺寸的 SKU 信息,如果没有可不传,如:
2:9,3:8
这个例子中,2 代表颜色属性的ID,9代表红色的子属性的ID;3代表内存属性的ID,8代表256G的子属性的ID
有多少规格尺寸,就传几个,用英文逗号分隔开
- inviter_id
商品的分享用户编号,如果么有可不传
该字段主要实现商品的分享奖励 《商品分享奖励教程》
所以同一个订单,存在多个商品,可能出现A商品分享奖励给张三,B商品分享奖励给李四的情况
- days
可选参数,没有则不传
该参数的使用业务场景诸如酒店预定、购买门票之类的,同一个商品,不同的日期有固定的库存,下单的时候需要制定具体的日期;
比如商品是酒店客房,那么用户预订的时候,必须要选定是几月几号入住,可以同时选择多个日期,例如:
"days": ["2019-07-26", "2019-07-27" ]
- goodsAdditionList
商品可选配件信息,可选参数,没有则不传
有的商品是可以设置可选配件的,例如麻辣烫,加青菜加多少钱,加鸡蛋加多少钱;例如搬家服务,可选楼层:3层以下不加钱,5层以下加多少钱,10层以下加多少钱;又例如奶茶商品,可分别选择冰度:多冰、少冰、去冰,甜度:3分、5分、7分,加料:珍珠、奶盖、奶昔等等
例如:
[{"id": 869,"pid": 1699},{"id": 871,"pid": 1588} ]
该例子中是一个黄焖鸡米饭的商品下单的可选配件参数,1699 是口味的可选配件ID,869是中辣的配件选项ID;1588是配菜的可选配件ID,871 是鹌鹑蛋的配件选项ID
- goodsTimesDay 和 goodsTimesItem 参数
这两个参数是同时出现,要么同时不出现,主要是为了适配预约类的业务场景,比如医生挂号、服务预约等等;
这个参数区别于上面的 days 参数的区别在于,酒店预定只需要选定日期即可,所以商品库存是跟着日期走的,但是医生挂号类的应用,库存是跟着时段走的,比如某一天 9:00-10:00 这个时段总共有几个号是固定的,被人预定了库存就没了。
如有此类业务需求,可考虑使用时段定价的功能
goodsTimesDay 传值如: 2021-06-12
goodsTimesItem 传值如:9:00-10:00
收货地址
如果商品的运费模版选择了需要快递,那么下单的时候,必须传入用户的收货地址 信息,否则接口会提示对应的错误信息
详细的参数说明如下:
provinceId
省份编码,可通过接口文档中获取省市区接口获得
cityId
城市编码,可通过接口文档中获取省市区接口获得
districtId
区县编码,可通过接口文档中获取省市区接口获得,该参数除vop业务外可不传
streetId
街道编码,可通过接口文档中获取省市区接口获得,该参数除vop业务外可不传
address
详细收货地址
linkMan
收件人姓名
mobile
收件人手机号码
idcard
如果是国际件,一般为跨境电商业务,需要传收件人的身份证号码
code
邮政编码,可不传
lat
收货地址的地图定位纬度,一般配送类的订单,需要传这个参数,便于计算距离以及配送费
lng
收货地址的地图定位经度,一般配送类的订单,需要传这个参数,便于计算距离以及配送费
配送类型
参数名: peisongType
- kd 代表本订单需要快递
- zq 代表本订单用户选择到店自提,无需发送快递
- keloop 本订单将自动接入快跑者系统,采用快跑者配送体系
- pszq 接入api工厂的配送模块,由商家自行配送
收取配送费
参数名: peisongFeeId
可传入后台设置的配送费记录ID,系统将自动计算配送费用
自动接入工厂配送插件
参数名: autoPeisong
设置 autoPeisong = true 自动接入工厂配送模块,你可以配合后台的配送模块一起使用,搭建自己的配送团队
小费
参数名: trips
在海外比较流行给小费,用户购买商品以后,自愿的会给予一定的小费,可将小费金额传给该字段,系统会在订单一起结算
订单备注
参数名: remark
用户下载的时候,可以给商家留言,备注一些特殊要求
使用优惠券
参数名:couponId
使用的优惠券编号,多张优惠券请用英文的逗号分隔,如果不使用优惠券,无需传该参数
会员卡业务
参数名:cardId
如果用户名下有会员卡,可在下单的时候传入会员卡记录ID,系统将优先从会员卡结算,不够的再提示用户进行支付剩余金额
货到付款
参数名:payOnDelivery
如果该参数传如 1,那么本订单将会是货到付款订单,无需支付,订单准备即为待发货状态,在后台订单详情中,订单的支付状态为未支付,你可以货送达以后再自行和用户收款
选择自提门店
参数名: shopIdZt 和 shopNameZt
可以让用户选择自提门店,该参数传入门店ID 和 门店名称
提货点信息
参数名: pickPointId
该参数传入提货点ID,配合后台的提货点管理一起使用
达达配送
你可以轻松接入达达配送,具体操作可参阅教程:
《如何接入达达配送》
上述参数“收货地址”中的地图经纬度参数是必传,否则达达无法给骑手推送准备的配送地址
具体参数说明如下:
dadaShopNo
达达商户ID,请自行前往达达商户后台查看
砍价业务
参数名: kjid
如果是购买某个砍价商品,需要传入该参数,是用户发起砍价记录Id,系统将会按照当前砍价进度的当前价格进行结算(如已砍到底价,就按底价介绍;如未砍到结算,就按当前砍到的价格进行结算)
拼团业务
参数名: pingtuanOpenId
如果是团购订单,需要传入团号,订单支付以后,即可参团成功
核销码
参数名: isCanHx
如果该参数传入 isCanHx = true 那么,订单将会自动生成核销码,你可以显示成二维码,继而后续快速实现扫码核销订单的功能
卡密自动发货
参数名: autoDeliver
传入参数 autoDeliver = true 来实现订单卡密自动发货功能,可实现例如销售游戏点卡、优惠券、充值卡之类的业务。具体教程可参阅:
《卡密 / 优惠券自动发货插件》
积分抵扣
参数名: deductionScore
如果后台设置了积分抵扣规则,那么用户下单的时候,可选择使用一定的积分来抵扣订单金额
比如允许使用500积分抵扣10元,那么运来需要支付100元的订单,该参数传入数字 500 以后,订单的应付金额将变成90元,同时需要扣除用户可用积分500
周期性订单
参数名: orderPeriod
常见的业务场景有:家政保洁的定期上门服务、定杂志报纸、定鲜奶等等业务
这些业务需要按照某个固定的周期,系统自动生成订单,并且从用户余额中扣除订单应付金额
参数例子:
{"unit": 1, // 0 天 1 月 2 年"times": 3, // 订阅次数"duration": 1, // 间隔"dateStart": '2021-06-12', // 首次服务时间"autoPay": true // 是否自动支付订单,否则需要用户周期性的去支付系统生成的订单 }
这个例子中,系统会每个月生成一个订单,如果用户可用余额充足,订单将会自动完成支付
订单扩展属性
参数名: extJsonStr
可根据自己的实际需要,将自定义的信息内容提交,继而在后台订单详情页面,即可查看这些信息,例如:
{"学校": "浙江大学","专业": "计算机","班级": "401" }
在订单详情,将可以看到这些信息
创建订单 / 下单接口参数说明相关推荐
- 支付宝小程序Java后台创建订单服务接口
首先要去支付宝开发者平台申请APP_ID,和秘钥. 然后准备工作做完以后,就开始写接口了. 创建订单接口 https://docs.open.alipay.com/api_1/alipay.tr ...
- 创建订单实现幂等的一点思考
幂等的概念 大部分文章都会说,同一个操作,进行多次操作后,结果是一样的,就可以说这个操作是支持幂等的.感觉不太准确,比如一个http get操作,可能每次的结果都不一样,但是其实是幂等的.看了很多文章 ...
- Myth源码解析系列之六- 订单下单流程源码解析(发起者)
前面一章我们走完了服务启动的源码,这次我们进入下单流程的源码解析~ 订单下单流程源码解析(发起者) 首先保证myth-demo-springcloud-order.myth-demo-springcl ...
- 商城-下单-订单系统接口
商城-下单-订单系统接口 1.订单系统接口 1.1.导入订单服务 1.2.Swagger-UI 1.2.1.什么是OpenAPI 1.2.2.什么是swagger? 1.2.3.快速入门 1)引入依赖 ...
- 基于MQ的异步创建订单,提高下单并发量
两种方案:全量异步.半异步.下面分别说明一下两种方案的区别. 全量异步: 1. 前端调用下单接口获取订单id 2. 下单接口构造订单领域对象,并缓存订单id到redis,状态为0(创建中),然后将领域 ...
- java微信支付 [统一下单接口] 与 [订单查询接口] 调用成功完整代码与结果
公司最近要搞微信支付, 之前也没有做过, 但是搞过阿里云, 想来也不是很难. 在网上找了很多贴子, 在eclipse里做了5个测试工程, 没有测试成功, 后来下了微信SDK, 也做了个测试样例, 期间 ...
- TCC 强一致性 实时 DEMO 下单(创建订单,扣除库存,增加积分,扣除余额)
伪代码 场景 用购买某种商品1件(原库存1000),增加20积分,扣除100元余额 设计说明 通过日志表来完成TCC.修改库存,余额表要先添加一条记录到他们的日志表里,表要记录TCC状态. 通过唯一业 ...
- 秒杀情况下,用户下单扣除库存创建订单之后,迟迟不付款,时间到了自动取消订单(思路)
秒杀情况下,用户下单扣除库存创建订单之后,迟迟不付款,时间到了自动取消订单 解决方案1. 使用redis实现 1.下单之后把生成分布式全局唯一id,把订单id放进redis中,设置一个过期时间 2.定 ...
- 拼多多开放平台订单详情接口解析
API接口订单接口是指用于实现订单相关操作的程序接口.通过这个接口,用户可以实现创建.修改.查询和取消订单等功能. 常见的API接口订单接口包括: 创建订单接口,用于实现用户下单操作. 修改订单接口, ...
- 浅析微信支付:统一下单接口
本文是[浅析微信支付]系列文章的第五篇,主要讲解如何调用统一下单接口生成预支付单及调起支付页面. 浅析微信支付系列已经更新四篇了哟-,没有看过的朋友们可以看一下哦. 浅析微信支付:微信公众号网页授权 ...
最新文章
- Tomcat6优化配置
- Web项目中文件上传Filter处理
- HTML 5 视频/音频参考手册
- .net转换关键字:operator、explicit与implicit
- C语言进行离散傅里叶DFT变换~MATLAB验证
- 基于阿里云RDS创建ECS自建从库
- Spring工具类的使用
- HDU3415 Max Sum of Max-K-sub-sequence
- docker引导java_让我引导您完成与Docker的第一次约会
- c++ 设置类型别名
- ThreadLocal 解决多线程程序的并发问题+事务处理
- Numpy_where
- 皮克定理(计算多边形面积)
- 抖音iOS基础技术大揭秘!
- (转载)shell脚本中的 EOF 是什么意思?
- x264 2pass编码说明
- 经济学基础(本)【1】
- i春秋CTF训练 Web 破译
- 社区折腾日志:基于python搭建个人微信/支付宝免签支付功能
- Momentum算法
热门文章
- 两次碰到编译错误: crosses initialization of...
- light动名词_英语语法大全之动名词
- [android基础知识] 之十三: Runtime.getRuntime()
- linux 编辑文件出现E45readonly option is set (add! to .....)
- 淡泊明志, 宁静致远--如何在自学之路上爬得更高更远?
- QT软件开发: 基于QT设计的完整版视频播放器、多媒体播放器(mdk-sdk)
- python入门学习——6种方法求n的阶乘(8种写法)
- 华三H3C路由器如何配置端口映射远程登录到内网服务器
- pod、pvc删不掉怎么办?
- 计算机学会a类论文是sci吗,什么是SCI、EI、CCF、DASFAA