购买

计算购买项

POST - /buy/calculate
参数 是否必填 说明
cart_ids 购物车id集合
address_id 地址id

返回:

{
    "goods_amount" : 1000,// 商品总额
    "pay_amount" : 10000,// 实付,包含运费
    "goods_freight_list" : [
        {
            "goods_sku_id" : 12,
            "freight_fee" : 2,// 商品运费
            "freight_way" : "goods_freight_template" // goods_freight_template 运费模板 goods_freight_unified 统一运费
        }
    ],
    "freight_unified_fee":200,// 统一运费总额
    "freight_template_fee" : 200,// 运费模板总额
    "pay_freight_fee":200 // 实付运费,具体算法看《运费计算规则》 
}

创建购买订单

POST - /buy/create
参数 是否必填 说明
way 购买途径,cart 购物车(默认)、right_now 立即购买
address_id 收货地址id
cart_ids 购物车id集合
message 买家留言

返回:

{
    "order_id" : "xxxxxxxxxxxx",// 订单id
    "pay_sn" : "xxxxxxxxxxxxx"// 订单支付的sn
}

支付信息

GET - /buy/info
参数 是否必填 说明
pay_sn 订单的sn码

返回:需要吊起支付的配置

支付

POST - /buy/pay
参数 是否必填 说明
order_type 订单支付类型,goods_buy商品购买(默认),predeposit预存款充值
pay_sn 订单的sn码
payment_code 支付方式的标识码,在该接口上级的逻辑的接口上有返回,用来调起服务器端的支付方式的策略
openid 微信的openid 非必需 只有微信支付的情况下可能需要

运费计算规则

购买商品申请,todo这步是否还有必要,返回计算完的价格,因为有运费模板

POST - /buy/apply
参数 是否必填 说明
cart_ids 购买项,数组
cart_items.cart_id【废弃】 购物车id【废弃】
cart_items.quantity【废弃】 购买量
way【废弃】 购买途径,cart 购物车、right_now 立即购买,todo是否需要废弃,如果有优惠券的话也单独接口请求
cart_no_need_ids【废弃】 不再需要的购物车id,数组,系统收到提交后还会删除对应的购物车项【这个没啥用】

需要告诉用户

商品总金额

运费

实付款

返回:

字段 说明
total_amount 总额
freight_fee 运费
real_pay 实付

运费计算规则

一.商品关联运费模板 1、商品关联设置:每件商品,仅可设置一种运费收取方式,即:统一运费,或指定运费模板; 2、统一运费:按商品一次计收运费;如,统一运费10元,买家单笔订单购买n件,均只收取10元运费; 3、运费模板:选择相应的运费模板,即可指定该商品,可配送至相应区域,并按规则收取相应运费; 二.运费计算方式 支持商家选择【按商品累加运费】和【组合运费】,默认使用目前微商城使用的按照商品累加运费,推荐使用组合运费。 1.按商品累加运费 ​ 1)不同或相同的商品,设置同一运费模板:按该模板设置的规则计算 ​ 更新:不足续件或者续重的数目的时候,仍然按照续件或者续重的数目进行计算。 ​ 例如商品A,B都是用模板M(首件10块,续2件5块),如果购买商品A和B,各一件,则一共购买两件,运费=10+5=15元。 ​ 2)多种商品,分别设置不同金额的统一运费:以最高运费金额收取。 ​ 更新:例如 商品A,B,C的统一运费分别为1元,2元和3元,一期购买这三个商品,则运费为3元。 ​ 3)不同的商品,设置不同的运费模板:分别计算每个运费模板规则应收运费,再累加计算合计运费; ​ 例如: 例如商品A(1kg)使用用模板M(首1kg,10块,续2kg,5块),商品B(0.5kg)使用模板N(首2kg,12块,续1kg,5块),如果购买商品A和B,各2件,则运费=模板M的运费+模板N的运费=(10+5)+(12)=27元。 ​ 4)统一运费商品,和运费模板商品一同结算:单独计算统一运费商品应收运费,再累加运费模板应收运费; ​ 例如:商品A和B使用统一运费,分别为2元和10元,商品C使用模板M(首1件,10块,续2件,5块),商品D(1kg)使用模板N(首2kg,12块,续1kg,5块),购买A,B,C和D各两件。 ​ 此时统一运费(商品A和B)=10元;运费模板运费(商品C和D)=模板M的运费+模板N的运费=(10+5)+(12)=27元。 ​ 则总运费=统一运费+运费模板运费=(10)+(27)=37元。 2.组合运费 运费模板计费原则:取所有商品中,首件/首重金额最大的运费模板,计算使用该模板的所有商品运费,使用其他模板的商品都按照续件/续费金额来计算,再求和。 1)不同或相同的商品,设置同一运费模板:同按商品累加运费的计算方式,按该模板设置的规则计算。 ​ 例如商品A,B都是用模板M(首件10块,续2件5块),如果购买商品A和B,各一件,则一共购买两件,运费=10+5=15元。 ​ 2)多种商品,分别设置不同金额的统一运费:同按商品累加运费的计算方式,以最高运费金额收取。 ​ 例如 商品A,B,C的统一运费分别为1元,2元和3元,一期购买这三个商品,则运费为3元。 ​ 3)不同的商品,设置不同的运费模板:不同于按照商品累加的计算方式。 ​ 例如: 例如商品A(1件)使用用模板M(首1件,10块,续1件,5块),商品B(1kg)使用模板N(首2kg,12块,续1kg,5块),如果购买商品A和B,各2件,则运费=模板N的运费(首费为12,大于模板M的10)+模板N的运费(按照续费计算)=(12)+(52)=22元。 ​ 如果按商品累加计费,则运费=模板M的运费+模板N的运费=(10+5)+(12)=27元。 ​ 4)统一运费商品,和运费模板商品一同结算:单独计算统一运费商品应收运费,再累加运费模板应收运费; ​ 例如:商品A和B使用统一运费,分别为2元和10元,商品C使用模板M(首1件,10块,续2件,5块),商品D(1kg)使用模板N(首2kg,12块,续1kg,5块),购买A,B,C和D各两件。 ​ 此时统一运费(商品A和B)=10元;运费模板运费(商品C和D)=模板N的运费(首费为12,大于模板M的10)+模板N的运费(按照续费计算)=(12)+(52)=22元。总运费=总运费=统一运费+运费模板运费=(10)+(22)=32元。 ​ 如果按商品累加计费,运费按照之前的计算=统一运费+运费模板运费=(10)+(27)=37元。

POST - /buy/createOrder
参数 是否必填 说明
way 购买途径,cart 购物车、right_now 立即购买
pay_name 支付方式code,如:wechat 微信支付
address_id 收获地址id
invoice_id 发票id,v1 无
cart_items 购买项,数组
cart_items.goods_sku_id 购物车id
cart_items.quantity 购买量
buy_message 买家带话
voucher_id 要使用的优惠券id,v1无
上次更新: 2018/12/20 下午12:14:08