精华内容
下载资源
问答
  • 我们以电商平台为例来说明:根据订单开具电子发票。其他加油站、快递、物流、O2O物业等行业都可以参考这个对接 电子发票: 以京东商城Web端、App端开票演示: 1、调用 “获取accessToken” API接口 https://(这是...

    我们以电商平台为例来说明:根据订单开具电子发票。其他加油站、快递、物流、O2O物业等行业都可以参考这个对接 电子发票:

    以京东商城Web端、App端开票演示:

    1、调用 “获取accessToken” API接口

    https://(这是接口根地址)api2.easyapi.com/(访问令牌)token

    在这里插入图片描述
    在这里插入图片描述

    appKey和appSecret在EasyAPI服务中心获取

    2、如果嵌入Web端,参考京东在订单确认页面,添加修改发票信息按钮或链接,点击弹框嵌入“订单对接Web端页面”
    在这里插入图片描述

    https://fapiao-order-modal.easyapi.com/web(网页端).html?taxNumber=91310117MA1J34GU08(税号)&username=13656171020(用户标识)&accessToken=
    在这里插入图片描述
    在这里插入图片描述

    如果嵌入App端/手机H5端,参考京东在订单确认页面,添加修改发票信息按钮或链接,点击弹框嵌入“订单对接手机端页面”
    在这里插入图片描述

    https://fapiao-order-modal.easyapi.com/mobile(移动端).html?taxNumber=91310117MA1J34GU08(税号)&username=13656171020(用户标识)&accessToken=

    参数同上

    备注:如果客户需要自定义嵌入页面的风格,可以下载源码,自行修改,源码查看下图
    在这里插入图片描述

    3、可调用 “获取开票用户默认抬头信息” API接口获取用户刚刚保存的开票信息

    https://(这是接口跟地址)fapiao-api.easyapi.com/invoice/company/(这是用户标识){username}/default

    显示在如下的标红框位置:
    在这里插入图片描述

    4、当用户确认下单,调用 “创建订单开票申请信息” API接口

    https://(这是接口根地址)fapiao-api.easyapi.com

    接口文档参见 https://www.easyapi.com/api/view/166693?documentId=17044(文档id)&themeId=(团队id可不填)&categoryId=38811(接口分类id)
    在这里插入图片描述

    5、当用户付款后,或者用户确认收货后,商户自行选择,调用“根据商户订单号,确认开具发票” API接口实际开票

    https://(这是接口根地址)fapiao-api.easyapi.com

    接口文档参见 https://www.easyapi.com/api/view/166695?documentId=17044(文档id)&themeId=(团队id可不填)&categoryId=38811(接口分类id)
    在这里插入图片描述

    6、订单详情页接入,可增加按钮“查看电子发票”,跳转到发票PDF,获取发票PDF,通过接口“根据商户订单号获取发票地址”

    接口文档参见 https://www.easyapi.com/api/view/167098?documentId=17044(文档id)&themeId=(团队id可不填)&categoryId=38811(接口分类id)
    在这里插入图片描述

    7、订单退货,调用发票红冲接口

    https://(这是接口根地址)fapiao-api.easyapi.com

    接口文档参见 https://www.easyapi.com/api/view/167135?documentId=17044(文档id)&themeId=(团队id可不填)&categoryId=38811(接口分类id)

    在这里插入图片描述
    8、如果需要在界面显示申请的开票信息,调用接口“根据商户订单号获取开票请求信息”

    https://(这是接口根地址)fapiao-api.easyapi.com

    接口文档参见 https://www.easyapi.com/api/view/166689?documentId=17044(文档id)&themeId=(团队id可不填)&categoryId=38811(接口分类id)
    在这里插入图片描述

    联系小编可以提供标准嵌入页面。也就是前段页面,可以节省您的开发时间

    展开全文
  • 电商平台对接系统设计

    千次阅读 2018-03-06 18:16:47
    电商平台体系介绍 商品同步 库存、订单状态回传 订单流程 库存同步 订单状态回传 退款流程 总结

    电商平台体系介绍

    这里写图片描述

    商品同步

    库存、订单状态回传

    1. 订单流程

    2. 库存同步

    3. 订单状态回传

    4. 退款流程

    总结

    展开全文
  • Java电商平台-电商订单系统全解析

    千次阅读 2019-11-02 10:43:11
    说明:Java电商平台-电商订单系统全解析主要讲解OMS的内容,设计,开发,架构等知识 今天分享将会分为以下三个环节来阐述: 1.订单系统的介绍 2.订单系统的解构 3.垂直电商订单系统设计思路 一、什么是订单系统...

    说明:Java电商平台-电商订单系统全解析主要讲解OMS的内容,设计,开发,架构等知识

    今天分享将会分为以下三个环节来阐述:

    1.订单系统的介绍

    2.订单系统的解构

    3.垂直电商订单系统设计思路

    一、什么是订单系统?

    订单管理系统(OMS)是物流管理系统的一部分,通过对客户下达的订单进行管理及跟踪,动态掌握订单的进展和完成情况,提升物流过程中的作业效率,从而节省运作时间和作业成本,提高物流企业的市场竞争力。顾名思义,电商系统就是用户、平台、商户等对于订单的管控、跟踪的系统,衔接着商品中心、wms、促销系统、物流系统等,是电子商务的基础模块;

    简单地说订单管理系统作为整个电商的核心,管理着所有的交易进出,可以说没有订单系统电商就无法流畅地运转;

    一个好的订单管理系统需要有很好地扩展性和流畅性,在一个电商产品从0-1的过程,订单系统作为其基础模块需要提前考虑到各系统的扩展,订单系统如果在前期就能考虑到后面的扩展,相信对于电商的壮大会非常有帮助;

    流畅性指的是整个交易链路需要很流畅,早期我司的订单系统做的非常庞大,但是却没有考虑到流程的通畅性,导致连基础的订单流程都没有办法正常走下去,所以,在从0到1地做一套订单系统时,需要有一些前瞻性,但落地时,以MVP去试错;

    二、订单系统解构

    订单字段

    订单的主要信息包括支付信息 、配送信息、状态信息、促销信息、商品信息、用户信息等;

    支付信息:涉及支付的字段信息,主要包括支付方式、支付金额、订单金额、优惠金额等;

    促销信息:涉及促销的字段信息,主要包括优惠方式、优惠面额、折扣等;

    商品信息:涉及订单中的商品字段,主要包括商品名称、单价、数量、所属店铺等;

    时间信息:涉及订单流转中各个时间戳的字段,包括下单时间、支付时间、发货时间、完成时间等

    状态信息:涉及订单流转中状态变更的字段,主要包括订单状态、物流状态及退款状态等;

    用户信息:涉及用户的信息,比如买家姓名、注册手机号、收件人等信息;

    配送信息:涉及订单配送的基本信息,比如配送方式、物流单号等;

    以上这些字段构成了订单所需要的大部分信息;

    2.订单体系

    订单体系

    可以从三个层面来了解电商的订单管理体系,分别是用户层、系统层和底层;

    用户层

    这个比较好理解,就是用户日常使用的功能和页面,主要有订单列表、订单详情和退款详情等C端用户购买时会使用到的页面,系统层和底层模块为其提供支持;

    系统层

    在订单管理体系中,和订单最息息相关的交互系统主要有支付系统、订单系统、仓储系统;

    1.支付系统

    主要作用就是为订单提供支付支持,方便用户使用各种支付方式进行支付,用户支付后会将支付信息给到订单系统;

    2.订单系统

    作为订单管理体系的核心,起着至关重要的作用,在订单系统中会生成订单,审核订单,取消订单,还涉及到复杂的订单金额计算以及移库操作;

    仓储系统:主要用来管理库存以及发货,订单到达一定状态后给到仓储系统,用于管理对应订单的打包、分拣、

    备货、出库等;

    底层模块

    主要包括商品、支付、用户、营销、订单和消息等模块,这些模块共同组成了对上层业务、系统的支持;

    大公司一般会将底层框架模块化,比如商品,会构建对应的商品中心,代码、数据库等相对独立,由商品中心开接口和soa,其他模块需要使用商品中心相关功能的时候调取接口,这样做的好处是使各个模块底层相对独立,便于管理及改动;

     

    3.状态机

    状态机

    下面来说说状态机,一般电商平台用户直观能看到的状态有上图中列举的几个,包括待支付、待配送、待收货、交易完成、退款中;

    O2O没有电商中庞大的仓储系统,自然比电商的流程简单些,我将从正流程分别从正流程和逆流程来介绍;

    主流程

    在电商中,无论是买家端还是卖家端,都会将交易主状态分为待付款、待发货、待确认收货、交易完成,但是买家端与卖家端的展示逻辑稍有不同;

    在买家端,买家关心的状态无非就那么几个,即待付款、待发货、待收货和待评价,所以淘宝并未像商家端那样将全部的状态一一罗列出,而是保留了买家最关心的状态,保持整个买家端的简洁性;

    而卖家端中,主要解决的是商家效率的问题,所以在订单列表中会将所有的状态(即待付款、待发货、已发货、退款中、需要评价、交易完成、交易关闭)的订单全部拉出,考虑到商家订单较多的情况,出于对服务器查询的考虑以及并发的考虑,增加了三个月内订单与三个月前订单的查询区分;

    首先说说待付款状态,待付款状态主要是买家下单但是没有支付的情况,待付款状态下淘宝的商家也可以进行一系列操作如改价等,买家也可以申请代付、批量操作;

    待发货,该状态下会展示所有已支付,待发货的订单,淘宝目前支持的发货方式主要有四种,在线下单、手填快递单号、无纸化物流以及无需物流,操作配送之后交易状态会变更为待确认收货,大型电商平台已经采用无纸化发货的形式进行发货,即使用中端叫单,成功后会展示在已发货(商家端)和待收货(买家端)中;

    待确认收货,该状态出于物流阶段,一般会根据业务、活动等来设定自动确认收货的时间,一般电商默认值是在发货后的10天为自动确认收货时间,在双十一、双十二等节日,这个时间会延长到15天,另外海外购、天猫国际等海外购物的订单自动确认时间也会相对较长,为25天;

    交易完成,该状态由系统或者用户触发,在订单确认收货后,订单状态变更为交易成功,此时系统会根据是否评价过判断是否将订单展示在买家端的待评价下来引导用户对商家进行评价反馈;

    退款/退货流程

    一般电商中订单的逆流程主要分为退款流程和退货流程,这里简单地介绍下,后续会有专题来讲述;

    发货前的逆流程

    发货前的状态一般有待支付和待发货两个,待支付的订单发起逆流程后无需商家确认,直接关闭订单;

    而待发货的订单发起后需要走商家的审核,商家同意后订单变为交易关闭,触发退款;

    发货后的逆流程

    发货后的逆流程主要包括待确认收货和交易成功的逆流程;

    大致分为需要仅退款和退货退款;

    仅退款:未收到货或与卖家协商同意后的申请,卖家同意后无需物流;

    退货退款:已收到货需要退换的情况,卖家同意后需要走物流;

    Po上我司的退款流程作为后续专题的引子吧,敬请期待...

    3、某垂直电商设计思路

    笔者的公司属于某个垂直行业的电商,主要以B2B转单为主,将线上的订单转给线下门店进行配送,所以暂时不涉及商品、库存、仓库等;

    以下是我司的订单流程,线上商家将订单转给线下门店,涉及的状态有待派单、待支付、待接单、待配送、待转账和交易完成;

    在设计主流程的时候并不复杂,根据业务场景进行设计即可,真正复杂的部分在订单的逆流程与系统间的交互;

    由于旧版的系统过于臃肿,没有办法在其上进行迭代,加之流程上有很多问题,所以打算从业务流程、系统框架、视觉设计等方面做个大改版,即解决用户使用流程中的问题,也便于后期业务功能的实现;

    生鲜电商状态机

     

    订单系统的完整性离不开几个部分,上次讲订单字段,各种字段信息组成了一个订单详情页。如果将字段信息比喻成订单系统的血液,那订单状态的切换就好比订单系统灵活的神经,没有订单状态之间的切换,就构成不了庞大的订单系统,也满足不了很多网购时各种情况。

    订单流程

    订单流程是指从订单产生到完成整个流转的过程,其中包括正想流程和逆向流程。正向流程就是一个正常的网购步骤:订单生成-->支付订单-->卖家发货-->确认收货-->交易成功。而逆向流程则是各种退款流程。

    正向流程

    订单正向流程

    整个订单设计的流程其实是非常多的,接下来我们将从比较具体的描述一下各个环节下的实际情况:

    订单生成:用户下单后,系统需要生成订单,此时需要先获取下单中涉及的商品信息,然后获取该商品所涉及到的优惠信息,如果商品不参与优惠信息,则无此环节,接着获取该账户的会员权益(这里其实需要注意的是,优惠信息与会员权益是有区别的,就好比商品满减是优惠信息,新人立减是会员权益。一个是针对商品,另一个是针对账户)。库存扣减是指可销售库存数量-1,严格来讲库存扣减目前分为两种,一种是下单减库存,另一种是付款减库存;个人觉得中小创业者也许竞争者不比淘宝中的卖家,在电商这个存量市场,需要精细化的运营才能存活下来,如此说保证用户体验才是根本,所以我这里的观点是生成订单扣减库存,这种做法会避免用户支付成功商家却没货的情况。然后计算运费,订单生成成功。

    支付订单:用户支付完订单后,需要获取订单的支付信息,包括支付流水号,支付时间等。支付完订单接着就是等商家发货,但在发货过程中,往往还有一种情况存在,很正常却也比较复杂,就是订单拆单。订单拆单分两种,一种是用户挑选的商品来自于不同渠道(自营与商家,商家与商家),此时就需要拆分订单,并分开结算,这里还涉及父子订单的说法,这里不再赘述。另一种是在SKU层面上拆分订单。不同仓库,不同运输要求的SKU,包裹重量体积限制等因素都需要将订单拆分。比如商品A只在甲仓库有,商品B又只在乙仓库有,此时会将商品A与商品B拆分成两个订单。或者有些企业的做法是将商品A/B调拨到另外一个仓库统一发货,也方便了用户。订单拆单看起来简单,其实里面涉及到底层的系统支持,如你需要对每一个仓库的货品进行相对准确的盘点,且做到实时同步(涉及到仓库精细化管理);对商品进行准确分类与摆放;对商品信息记录准确无误等;这其中哪一模块都是一个浩大的工程,PM一般进入一家公司都会在原有(半成品)的基础上进行优化,大家不妨多思考一下底层业务,只有在底层做好精细化管理,才能支持线上丰富的用户需求。

    商家发货:商家发货过程也有一个标准化的流程。上面也有讲到,订单拆分时会涉及到仓库间调拨,然后仓库会对商品进行打单,拣货,包装,交接快递配送。这套标准化流程如果优化好,也是一个大工程,这里不再赘述,建议大家看看库存与仓库管理方面的书籍,详细了解。

    确认收货:商家发货后,就是等快递配送了,订单系统需要接入一些常用快递企业的接口,方便用户与商家在站内查询快递信息。

    交易成功:收到货后,不是一个服务的结束,相反是一个服务的开始。订单系统需要在快递被签收后提醒用户对商品做评价,这里要注意,确认收到货不代表交易成功,交易成功是指在收到货X天的状态,此时订单不在售后的支持时间范围内。到此,一个订单的正向流程就算走完了。

    目前我也没有研究过,不过我的经验告诉我订单系统对售后订单的处理并不比正产订单少,身为电商PM,我们的工作就是去优化这些流程,提高用户粘性。本身售后订单的出现,在某种程度上已经伤害到了用户,如果流程还一团糟的话,我们根本没有机会等到用户的复购。

    逆向流程

    订单逆向流程

    一个电商的基本逆向流程如上图所示,订单的逆向流程复杂就在于它几乎允许在正向流程的任何环节出现,有人会问,用户未收到货为什么还能退款,其实我们换为思考,也很容易理解,假想你是用户,买了一双鞋子,付了款发了货,正在美滋滋的等待收快递,然后刚好路过一家鞋店看到刚买的同款鞋子大促销,于是你就拿起手机点击退款,买下了这双促销的鞋子。这种场景其实是很普通也很正常的用户日常,所以我们的订单系统就必须得支持用户各种丰富的场景需求,也十分考验PM的业务渗透能力,好在电商的先行者淘宝已经做了很多基础建设和用户教育,我们直接可以拿来套用,不过还是要根据各个公司的业务情况进行修改。

    取消订单:用户提交订单时,在跳转至支付前直接退出,此时用户原则上属于取消订单,因为还未付款,则比较简单,只需要将原本提交订单时扣减的库存补回即可。

    支付失败:用户进行支付时退出,或者取消支付,我们将其列为支付失败状态,此时处理同上,将扣减的库存补回可销售库存即可。

    付款后退款:用户支付成功后,商家还未发货,支持用户申请退款,此时如果仓库与客服是分离的,则需要先检查仓库是否已经发货,若已发货则应与客户沟通是否可以收到货后再进行退款,如果仓库还未发货,则可直接同意用户退款。或者企业接入菜鸟物流,实行截件功能,不过这种操作还不成熟,成本会比较大,不适合中小创业型公司。

    缺货退款:用户支付成功后,商家发货时发现仓库缺货(如果提交订单扣减库存,则会减少缺货情况,为什么是减少而不是避免?因为仓库管理商品时没办法做到100%精准,所以信息有时候会不准确,导致线上的可销售库存显示有库存而仓库已经售空的状态),则需要与用户协商是否退款,这个流程订单系统可以做到流程化,自动化,连接消息中心和仓库管理系统去实现,难点在于消息的实时性。我就遇到过在淘宝买过一件上衣,一天过去了,商家跟我说没货了,我当时杀人的心都有了。

    待收货退款:这个问题目前还没有特别完美的解决方法,商家发了货之后,用户还未收到货,此时货在路上。我曾经在一些交流群里提出过这个问题,大家的看法都不一样,大体上分为两种做法。一种是用户收到货后重新寄回;另一种是用户直接拒收包裹,包裹直接退回原地址;我个人倾向于第一种,第一种比较灵活,因为用户未收到货就退款的原因一般与商品质量关系不大,所以如果允许用户直接拒收退回,相当于商家需要承担回退运费,而本身可能与商家并无太大关系。另外一个原因就是,有些商家发货地址与退货地址不在同个地方,不支持直接退回。尽管如此,在到处强调用户体验的今天,增加用户的售后成本也是在消耗用户对平台的耐心,大家不妨去思考一下,有没有更好的解决方法。

    用户拒收:同上

    退货退款:用户收到货后,想要申请售后,则此时需要提供让用户输入售后原因,包括上传凭证的功能,如果与商家协商无果,还需要增加平台客服的入口,方便用户进行申诉。而协商结果/申诉成功后直接触发自动退款机制,退款后触发消息通知,同时触发交易关闭状态,整个售后过程才算结束。

    我上面有好几处都提到与消息中心的对接,消息的触发等,其实这也算是订单系统设计的一部分内容,称之为订单推送,当订单状态机发生变化时,需要将对应的变化情况告知给相关人员以便了解当前订单的情况,这也是订单推送的作用。

    订单推送

    订单推送的触发依赖于状态机的改变,涉及到的信息包括:

    · 推送对象(用户,商家,仓库)

    · 推送方式(站内消息,push,短信,微信)

    · 推送节点(状态机)

    本文主讲订单系统的核心模块设计逻辑,订单推送的具体设计就不再此处赘述。

    最终数据库设计如下:

    订单主表

    CREATE TABLE `order_info` (
      `order_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单自增id',
      `order_number` varchar(32) DEFAULT NULL COMMENT '订单号,唯一',
      `order_source` varchar(255) DEFAULT NULL COMMENT '订单来源,web,weixin,h5,android,ios',
      `user_id` bigint(20) DEFAULT NULL COMMENT '所属用户ID',
      `pay_type` varchar(16) DEFAULT NULL COMMENT '支付类型,alipay,weixin,un_know',
      `pay_status` tinyint(2) unsigned DEFAULT '0' COMMENT '支付状态;1,未付款;2,已付款, 3,线下付款,4 线下付款已收款',
      `trade_status` tinyint(2) unsigned DEFAULT '0' COMMENT '交易状态。0为进行中, 1,已完成,2,为取消交易',
      `best_time` datetime DEFAULT NULL COMMENT '收货人的最佳送货时间',
      `order_amount` decimal(12,2) DEFAULT NULL COMMENT '订单金额',
      `shipping_amount` decimal(12,2) DEFAULT NULL COMMENT '配送费用',
      `pay_amount` decimal(12,2) DEFAULT NULL COMMENT '实付金额',
      `trade_amount` decimal(12,2) DEFAULT NULL COMMENT '交易金额',
      `order_time` datetime DEFAULT NULL COMMENT '订单下单时间',
      `pay_time` datetime DEFAULT NULL COMMENT '订单支付时间',
      `goods_shipping_time` datetime DEFAULT NULL COMMENT '商品出库时间',
      `confirm_receiving_time` datetime DEFAULT NULL COMMENT '确认收货时间',
      `outer_trade_no` varchar(48) DEFAULT NULL COMMENT '交易订单号,比如支付宝给我平台的订单号',
      `order_remark` varchar(255) DEFAULT NULL COMMENT '订单备注',
      `create_time` datetime DEFAULT NULL COMMENT '订单创建时间',
      PRIMARY KEY (`order_id`),
      KEY `index_user_id` (`user_id`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单的基础信息表';

     

    订单明细表:

    CREATE TABLE `order_item` (
      `item_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
      `order_id` bigint(20) DEFAULT NULL COMMENT '订单主表id,order_info表的order_id',
      `order_number` varchar(32) DEFAULT NULL COMMENT '唯一订单号',
      `order_status` tinyint(4) DEFAULT NULL COMMENT '订单项状态,1为已提交订单,2为取消订单',
      `user_id` bigint(20) unsigned DEFAULT '0' COMMENT '所属用户ID',
      `remark` varchar(255) DEFAULT NULL COMMENT '订单项备注,由用户提交订单前填写',
      `format_name` varchar(64) DEFAULT NULL COMMENT '商品规格名称',
      `goods_name` varchar(64) DEFAULT NULL COMMENT '商品名称',
      `goods_number` decimal(12,2) DEFAULT NULL COMMENT '商品的数量',
      `goods_price` decimal(12,2) DEFAULT NULL COMMENT '商品的单价',
      `goods_amount` decimal(12,2) DEFAULT NULL COMMENT '单项总金额',
      `create_time` datetime DEFAULT NULL COMMENT '订单创建时间',
      PRIMARY KEY (`item_id`),
      KEY `index_order_id` (`order_id`) USING BTREE,
      KEY `index_buyer_id` (`user_id`),
      KEY `index_format_id` (`format_name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单的明细表';

     

    订单日志表:

    CREATE TABLE `order_logs` (
      `log_id` bigint(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键,自动增加ID',
      `user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
      `order_id` bigint(10) NOT NULL COMMENT '订单ID,对应order_info中的Id',
      `order_number` varchar(64) NOT NULL COMMENT '订单号',
      `order_description` varchar(128) DEFAULT NULL COMMENT '订单日志描述',
      `create_time` datetime NOT NULL COMMENT '创建时间',
      PRIMARY KEY (`log_id`),
      UNIQUE KEY `unique_order_number` (`order_number`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='订单日志记录表';

    支付日志表:

    CREATE TABLE `pay_logs` (
      `log_id` bigint(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键,自动增加ID',
      `user_id` bigint(20) DEFAULT NULL COMMENT '付款的用户ID',
      `order_id` bigint(10) NOT NULL COMMENT '订单ID,对应order_info中的Id',
      `order_number` varchar(64) NOT NULL COMMENT '订单号',
      `order_amount` decimal(12,2) NOT NULL COMMENT '订单金额',
      `outer_trade_no` varchar(64) DEFAULT NULL COMMENT '外部订单号,比如说支付宝交易订单号',
      `status` tinyint(4) DEFAULT NULL COMMENT '支付状态,1为支付成功,-1为支付失败',
      `create_time` datetime NOT NULL COMMENT '创建时间',
      PRIMARY KEY (`log_id`),
      UNIQUE KEY `unique_order_number` (`order_number`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='付款日志记录表';

    用户取消订单记录表:

    CREATE TABLE `order_cancel_logs` (
      `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自动增加ID',
      `user_id` bigint(20) DEFAULT NULL COMMENT '所属买家',
      `order_sn` bigint(64) DEFAULT NULL COMMENT '订单标识,如果是单个就是item_id,如果是整个订单就是orderId',
      `trade_money` decimal(12,2) DEFAULT NULL COMMENT '处理的金额',
      `current_money` decimal(12,2) DEFAULT NULL COMMENT '当前余额',
      `last_money` double(12,2) DEFAULT NULL COMMENT '最终余额',
      `remark` varchar(64) DEFAULT NULL COMMENT '备注',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户取消订单记录表';

     

    展开全文
  • 电商平台对接第三方快递物流轨迹查询api接口申请对接全流程 快递鸟查询API接口是使用的物流单号即可实现查询物流信息。主要应用在电商商城、ERP系统商、WMS系统商、快递柜、银行等企业。多家快递物流公司接口统一接...

    电商平台对接第三方快递物流轨迹查询api接口申请对接全流程

    快递鸟查询API接口是使用的物流单号即可实现查询物流信息。主要应用在电商商城、ERP系统商、WMS系统商、快递柜、银行等企业。多家快递物流公司接口统一接入,建议对接接口提供商,一次性可以接入多家快递,在后期的技术维护也会省下很多工作。

    快递鸟网站申请接口KEY并认证-对接接口-调试-上线使用

    二、对接准备

    1.登录快递鸟注册快账号

    2.获取开发者账号信息(ID ,API Key),登录快递鸟后台中查看

    3.进行技术联调,并完成调试,物流查询api地址:http://www.kdniao.com/api-track
    在这里插入图片描述
    三、技术对接

    快递鸟提供的快递查询接口,支持418家快递物流查询,涵盖了国内外主流快递服务企业的单号查询,信息及时,数据完整。

    一.主动查询(即时查询API)

    1)接口规则

    a、查询接口支持按照运单号查询(单个查询,并发不超过10个/S)。

    b、指定的物流运单号选择相应的快递公司编码,格式不对或则编码错误都会返失败的信息。如圆通快递物流单号应选择圆通快递公司编码(YTO)

    c、返回的物流跟踪信息按照发生的时间升序排列。

    d、接口指令1002。

    e、请求地址:快递鸟

    2)系统级和应用级输入参数系统级输入参数

    http://www.kdniao.com/api-track

    demo示例:

    <?php
    //电商ID
    defined('EBusinessID') or define('EBusinessID','123456');
    //电商加密私钥,快递鸟提供,注意保管,不要泄漏
    defined('AppKey') or define('AppKey','1234567890');
    //请求url:测试地址
    //defined('ReqURL') or define('ReqURL', 'http://sandboxapi.kdniao.cc:8080/kdniaosandbox/gateway/exterfaceInvoke.json');
    //请求url:正式地址
    defined('ReqURL') or define('ReqURL','http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx');
     
    $kgs ="JD";//快递公司简称,官方有文档
    $number ="12345678";//快递单号
     
    //调用查询物流轨迹
    //---------------------------------------------
    $logisticResult=getOrderTracesByJson($kgs,$number);
    echo $logisticResult;
     
    //解析数据
    $data = json_decode($logisticResult,true);
     
     
    if($data['Success'] ==true){//返回信息成功
        $str ="";
     
    if(isset($data['Traces']) && !empty($data['Traces'])){
        for($i=0;$i<count($data['Traces']);$i++){
            $str .="时间:".$data['Traces'][$i]['AcceptTime']."<br/>地址:".$data['Traces'][$i]['AcceptStation']."<br/>";
        }
    }
    echo"您查询的单号是:".$data['LogisticCode']."<br/>
    物流信息:<br/>".$str."";
    }
     
    //---------------------------------------------
      
    /**
     * Json方式 查询订单物流轨迹
     */
    function getOrderTracesByJson($kgs,$number){
     
        $requestData="{'OrderCode':'','ShipperCode':'$kgs','LogisticCode':'$number'}";
         
        $datas = array(
            'EBusinessID' => EBusinessID,
            'RequestType' =>'1002',
            'RequestData' => urlencode($requestData) ,
            'DataType' =>'2',
        );
        $datas['DataSign'] = encrypt($requestData, AppKey);
        $result=sendPost(ReqURL, $datas);   
         
        //根据公司业务处理返回的信息......
        return $result;
    }
      
    /**
     *  post提交数据
     * @param  string $url 请求Url
     * @param  array $datas 提交的数据
     * @return url响应返回的html
     */
    function sendPost($url, $datas) {
        $temps = array();   
        foreach ($datas as $key => $value) {
            $temps[] = sprintf('%s=%s', $key, $value);       
        }   
        $post_data = implode('&', $temps);
        $url_info = parse_url($url);
        if(empty($url_info['port']))
        {
            $url_info['port']=80;   
        }
        $httpheader ="POST " . $url_info['path'] ." HTTP/1.0\r\n";
        $httpheader.="Host:" . $url_info['host'] ."\r\n";
        $httpheader.="Content-Type:application/x-www-form-urlencoded\r\n";
        $httpheader.="Content-Length:" . strlen($post_data) ."\r\n";
        $httpheader.="Connection:close\r\n\r\n";
        $httpheader.= $post_data;
        $fd = fsockopen($url_info['host'], $url_info['port']);
        fwrite($fd, $httpheader);
        $gets ="";
        $headerFlag =true;
        while (!feof($fd)) {
            if (($header =@fgets($fd)) && ($header =="\r\n" || $header =="\n")) {
                break;
            }
        }
        while (!feof($fd)) {
            $gets.= fread($fd,128);
        }
        fclose($fd); 
         
        return $gets;
    }
     
    /**
     * 电商Sign签名生成
     * @param data 内容  
     * @param appkey Appkey
     * @return DataSign签名
     */
    function encrypt($data, $appkey) {
        return urlencode(base64_encode(md5($data.$appkey)));
    }
     
    ?>
    
    
    展开全文
  • 随着拼多多的异军突起,越来越多的电商平台冒出,尤其是社交电商平台,各大企业纷纷布局,似有当年百团大战的味道。 自建电商平台,物流模块是其中非常重要的一环,用户在平台购物下单付款后,平台最需要考虑的是...
  • 如何快速对接快递模块之电商平台

    千次阅读 2020-09-02 14:00:42
    随着拼多多的异军突起,越来越多的电商平台冒出,尤其是社交电商平台,各大企业纷纷布局,似有当年百团大战的味道。 自建电商平台,物流模块是其中非常重要的一环,用户在平台购物下单付款后,平台最需要考虑的是...
  • 看完快递鸟 API 对接教程这篇文章,然后把源码复制到你的项目上,就能快速完成快递接口对接,调用快递鸟的极兔快递查询 API 接口,能查询到快递单号从收件、运输,到转运中心,派送到签收等各个环节的物流发货状态。...
  • 电商平台对接(一)

    千次阅读 2017-09-06 15:25:41
    需求
  • 电商-订单解析(12)

    2019-09-03 23:58:58
    订单业务在整个电商平台中处于核心位置,也是比较复杂的一块业务。是把“物”变为“钱”的一个中转站。 整个订单模块一共分四部分组成: 结算 下单 对接支付服务 对接库存管理系统 二、 结算页 入口:购物车点击...
  • (1)商户后台系统根据用户选购的商品生成订单。 (2)用户确认支付后调用微信支付【统一下单API】生成预支付交易; (3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。 (4)...
  • 如果是平台自用的功能,在前端添加一个“一键发货”的按钮,或者下单后系统自动运行程序就可以,也可以对接电子面单打印接口,修改一下参数就可以使用预约快递员上门取件的功能了 接口对接流程 快递鸟网站申请接口...
  • (1)某商品打包(打包价中已经包含运费、税费、商品售价等)展示给用户的打包价为119,这时候我们推送海关的订单接口中商品单价、运费、税费分别怎么推?你们之前的合作商家有没有这样的例子,他们怎么处理的?是在...
  • 当当、唯品会、京东、淘宝等22个电商平台的商品详情我的api接口的参数返回值、参数都如所下展示: 点击注册测试 1688商品详情api接口返回值、参数:
  • 菜鸟和快递鸟是电子面单接口集成方,能打印多家快递电子面单,菜鸟目前支持15家,快递鸟支持20家,基本上都是常用的快递,以下接口对接以快递鸟接口为例 在对接前需要到快递鸟网站注册账号,才能得到自己的接口ID...
  • 电商平台的系统组织架构

    万次阅读 2018-03-06 18:17:43
    参与电商系统开发已有两年,我一直负责的工作就是跟电商平台对接,起初对接的平台只有淘宝、天猫、京东这几个主流大平台,后来随着各品牌的业务拓展,后续逐渐对接其他比较有规格的电商平台(目前已对接:唯品会,...
  • 一、订单管理模块-前台-支付宝订单支付功能的开发 在前面几篇博文中,我们已经完成了项目对接支付宝的基本操作以及将支付宝官方的demo调试通了。那么剩下的事情就是将用户发起的请求支付宝的请求响应到我们的项目中...
  • (1)在线下单接口(预约取件接口)是提供给独立电商、仓储管理系统、物流供应链等物流系统平台使用的下单接口。 (2)为客户解决在线发货需求,商户通过网络选择快递公司发送请求通知快递公司有快递要发货。 (3)...
  • C#电商源码 模块有: 团购 秒杀 一元拼 已对接主流支付接口,可快速进行支付~内含小程序代码
  • 电子面单接口是快递鸟提供给独立电商、仓储管理系统、物流供应链等物流系统平台使用的下单接口,满足客户在线发货需求并提供打印面单的服务,客户通过网络选择物流公司发送请求通知贵公司有快递要发货,把数据通过此...
  • 上级目录:电商平台 切入点 功能介绍 学习目标 数据表设计 接口设计 功能介绍 支付宝对接 支付回调 查询支付状态 学习目标 熟悉支付宝对接核心文档那,调用支付宝支付功能官方demo 解析支付宝SDK对接...
  • 1.Java生鲜电商平台-App架构设计经验谈:接口的设计2.Java生鲜电商平台-App架构设计经验谈:技术选型3.Java生鲜电商平台-App架构设计经验谈:数据层的设计4.Java生鲜电商平台-App架构设计经验谈:业务层的设计5.Java生鲜...
  • Java web 主流SSM框架搭建电商平台后端服务系统 项目介绍 项目特色 用户横向、纵向越权问题解决方案 支付宝当面付对接方案 完整订单流程 适合新手进阶、学生课程设计、毕业设计 基本模块 用户模块 购物车模块 商品...
  • <?...ini_set("display_errors", 0); date_default_timezone_set("Asia/Shanghai"); error_reporting(E_ALL); set_time_limit(0);...$Kwaixiaodian = new Kwaixiaodian();...appKey = $appKey = 'appKe.
  • 电商平台功能与业务逻辑设计

    千次阅读 2020-04-30 15:23:28
    1. 一个简单的电商平台支撑体系 2. 环境搭建 分别是Ubuntu18环境搭建和Centos7环境搭建 jdk安装 tomcat安装 maven项目配置与管理工具安装与配置 文件服务器安装与配置 nginx反向代理服务器安装与配置 mysql数据库...
  • 数商云多平台订单管理系统可帮助企业无缝对接各销售渠道,数据全链路贯通,高效支撑企业百万级订单处理业务,线上线下一盘货,满足大中型企业多组织管理、个性化定制需求。渠道打通,快速对接100+主流电商平台一套...
  • 电商平台搭建笔记

    2018-04-02 15:00:05
    架构设计:前后端完全分离、分层架构、模块化技术选型:html、css、js、jquery辅助工具:Webpack、NodeJs、NPM、Shell效率工具:Sublime、Chrome、Charles、Git 课程安排: 一:基础框架的搭建(1)双平台的开发...
  • 电商订单管理流程

    千次阅读 2020-08-02 00:00:00
    为什么写这个电商管理流程的文章呢?其实是今天跟小伙伴们讨论的时候,发现自己从来没有接触过订单类的小程序,或者说是商城类的管理系统,所以对这方面很是缺乏了解,不是很懂,所以在讨论的过程中,...
  • 一、购食汇项目介绍购食汇是由美菱电器投资的生鲜电商平台,于2015年注册成立,是四川省绵阳市的重点电子商务项目。购食汇利用互联网、电子商务等“智慧技术”为家庭提供生鲜农产品,以新的O2O商业模式为载体,以...
  • 快递鸟是全球物流接口服务商,为电商 ERP、电商平台、仓储、清关公司提供物流跟踪、电子面单、智选物流、物流金融、在线下单等服务,解决电商的物流管理模块和金融模块。现就对快递鸟电子面单API做基本描述,并提供...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,684
精华内容 1,073
关键字:

对接电商平台订单接口