货到付款,即代收货款COD,目前京东、天猫等自营物流电商平台的一大亮点,许多电商也希望能够有货到付款服务。现在许多快递物流公司都推出了代收货款业务,电商可以和快递公司一家一家对接合作,但对于一些前期销售量不大的电商来说,就比较难,快递公司对代收货款一般都有发件量和代收金额的要求,而且一家一家快递公司对接难度也比较大。另外还有实现货到付款的方式就是和第三方代收货款垫付平台合作。像快递鸟、菜鸟,这两家是目前做的比较好的。这两家也有些区别,菜鸟主要为淘系商家服务,而且,菜鸟背后的阿里也在做电商,需要考虑信息安全性问题。而快递鸟没有菜鸟这样强大的背景,只是说近两年发展比较快,而且目前来说包括快递接口服务在内的这些业务口碑比较好,用的人也比较多一些。

1.菜鸟

货到付款服务就是买家收到货,验货后再付款,是一种安全、便捷、时尚的支付和物流方式。有助商家拉新客,增加更多的消费人群;降低买家网上购物的门槛;扩大卖家推广市场;提高卖家订单转化率。

1)准入条件

主要为淘系用户服务。

a.天猫卖家准入条件:

店铺为非虚拟类目,同时店铺第一主营类目为非虚拟类目。

b.淘宝卖家准入条件:

①店铺为非虚拟类目,同时店铺第一主营类目为非虚拟类目

②卖家信用评分:1钻以上(含1钻)

③支持消保并已缴纳保证金

2)申请流程

登录后到 “我的淘宝”—“我是卖家”—“物流管理”—“物流服务”,选择“货到付款”后点击“立即订购”。

3)收费标准

2.快递鸟

快递鸟货款金融服务基于下线在单、电子面单服务上,为用户提供货款金融服务,如代收货款、垫付(即将上线)等货款服务,方便用户在接入快递鸟服务后,能享受更优质的、更专业、更安全的货款服务,为用户的生意保驾护航。

1)使用用户

主要为非淘系用户服务。如行业ERP、B2B和B2C电商平台、电商网站、仓储、清关公司、电商ERP等。

2)申请流程

申请账号获得ID和KEY—技术对接(在线下单接口/电子面单接口)—向快递网点申请账号—联调使用。

3)收费标准

3.基于电子面单接口的接入方式

1)订单编号(OrderCode)不可重复提交,重复提交系统会返回具体错误代码。

2)接口支持的消息接收方式为HTTP POST,请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;charset=utf-8"。

3)API测试地址:http://testapi.kdniao.cc:8081/api/EOrderService

4)API正式地址:http://api.kdniao.cc/api/EOrderService

5)接口提供商:快递鸟

6)请求系统级参数说明

参数名称 类型 说明 必须要求
RequestData String 请求内容需进行URL(utf-8)编码。请求内容JSON格式,须和DataType一致。 R
EBusinessID String 商户ID,请在我的服务页面查看。 R
RequestType String 请求指令类型:1007 R
DataSign String 数据内容签名:把(请求内容(未编码)+AppKey)进行MD5加密,然后Base64编码,最后进行URL(utf-8)编码。详细过程请查看Demo。 R
DataType String 请求、返回数据类型:只支持JSON格式 O

7)请求内容字段定义

参数名称 类型 说明 是否必须
CallBack String 用户自定义回调信息 O
MemberID String 会员标识 O
CustomerName String 电子面单客户账号(与快递网点申请) O
CustomerPwd String 电子面单密码 O
SendSite String 收件网点标识 O
ShipperCode String 快递公司编码 R
LogisticCode String 快递单号 O
OrderCode String 订单编号 R
MonthCode String 月结编码 C
PayType Int 邮费支付方式:1-现付,2-到付,3-月结,4-第三方支付 R
ExpType String 快递类型:1-标准快件 R
IsNotice Int 是否通知快递员上门揽件:0-不通知;1-通知;不填则默认为1 O
Cost Double 寄件费(运费) O
OtherCost Double 其他费用 O
Receiver Company String 收件人公司 O
Name String 收件人 R
Tel String 电话与手机,必填一个 R
Mobile String
PostCode String 收件人邮编 O
ProvinceName String 收件省(如广东省,不要缺少“省”) R
CityName String 收件市(如深圳市,不要缺少“市”) R
ExpAreaName String 收件区(如福田区,不要缺少“区”或“县”) O
Address String 收件人详细地址 R
Sender Company String 发件人公司 O
Name String 发件人 R
Tel String 电话与手机,必填一个 R
Mobile String
PostCode String 发件人邮编 O
ProvinceName String 发件省(如广东省,不要缺少“省”) R
CityName String 发件市(如深圳市,不要缺少“市”) R
ExpAreaName String 发件区(如福田区,不要缺少“区”或“县”) O
Address String 发件人详细地址 R
StartDate String 上门取货时间段:"yyyy-MM-dd HH:mm:ss"格式化,本文中所有时间格式相同 O
EndDate String O
Weight Double 物品总重量kg O
Quantity Int 件数/包裹数 O
Volume Double 物品总体积m3 O
Remark String 备注 O
AddServices
AddService Name String 增值服务名称 O
Value String 增值服务值 O
CustomerID String 客户标识(选填) O
Commoditys
Commodity GoodsName String 商品名称 R
GoodsCode String 商品编码 O
Goodsquantity Int 商品数量 O
GoodsPrice Double 商品价格 O
GoodsWeight Double 商品重量kg O
GoodsDesc String 商品描述 O
GoodsVol Double 商品体积m3 O
IsReturnPrintTemplate String 返回电子面单模板:0-不需要;1-需要 O

8)返回参数定义

参数名称 类型 说明 必须要求
EBusinessID String 用户ID R
Order OrderCode String 订单编号 R
ShipperCode String 快递公司编码 R
LogisticCode String 快递单号 R
MarkDestination String 大头笔 O
OriginCode String 始发地区域编码 O
OriginName String 始发地/始发网点 O
DestinatioCode String 目的地区域编码 O
DestinatioName String 目的地/到达网点 O
SortingCode String 分拣编码 O
PackageCode String 集包编码 O
Success Bool 成功与否 R
ResultCode String 错误编码 R
Reason String 失败原因 O
UniquerRequestNumber String 唯一标识 R
PrintTemplate String 面单打印模板 O
EstimatedDeliveryTime String 订单预计到货时间yyyy-mm-dd O
Callback String 用户自定义回调信息 O

4.JAVA对接demo

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.security.MessageDigest; /**** 快递鸟电子面单接口** @see: http://www.kdniao.com/MiandanAPI.aspx* @copyright: 深圳市快金数据技术服务有限公司* * ID和Key请到官网申请:http://www.kdniao.com/ServiceApply.aspx*/public class KdGoldAPIDemo {//电商IDprivate String EBusinessID="请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx";    //电商加密私钥,快递鸟提供,注意保管,不要泄漏private String AppKey="请到快递鸟官网申请http://www.kdniao.com/ServiceApply.aspx";   //请求url, 正式环境地址:http://api.kdniao.cc/api/Eorderserviceprivate String ReqURL="http://testapi.kdniao.cc:8081/api/Eorderservice";    /*** Json方式 电子面单* @throws Exception */public String orderOnlineByJson() throws Exception{String requestData= "{'OrderCode': '012657700387'," +"'ShipperCode':'EMS'," +"'PayType':1," +"'ExpType':1," +"'Cost':1.0," +"'OtherCost':1.0," +"'Sender':" +"{" +"'Company':'LV','Name':'Taylor','Mobile':'15018442396','ProvinceName':'上海','CityName':'上海','ExpAreaName':'青浦区','Address':'明珠路73号'}," +"'Receiver':" +"{" +"'Company':'GCCUI','Name':'Yann','Mobile':'15018442396','ProvinceName':'北京','CityName':'北京','ExpAreaName':'朝阳区','Address':'三里屯街道雅秀大厦'}," +"'Commodity':" +"[{" +"'GoodsName':'鞋子','Goodsquantity':1,'GoodsWeight':1.0}]," +"'Weight':1.0," +"'Quantity':1," +"'Volume':0.0," +"'Remark':'小心轻放'," +"'IsReturnPrintTemplate':1}";Map<String, String> params = new HashMap<String, String>();params.put("RequestData", urlEncoder(requestData, "UTF-8"));params.put("EBusinessID", EBusinessID);params.put("RequestType", "1007");String dataSign=encrypt(requestData, AppKey, "UTF-8");params.put("DataSign", urlEncoder(dataSign, "UTF-8"));params.put("DataType", "2");String result=sendPost(ReqURL, params);   //根据公司业务处理返回的信息......return result;}/*** MD5加密* @param str 内容       * @param charset 编码方式* @throws Exception */@SuppressWarnings("unused")private String MD5(String str, String charset) throws Exception {MessageDigest md = MessageDigest.getInstance("MD5");md.update(str.getBytes(charset));byte[] result = md.digest();StringBuffer sb = new StringBuffer(32);for (int i = 0; i < result.length; i++) {int val = result[i] & 0xff;if (val <= 0xf) {sb.append("0");}sb.append(Integer.toHexString(val));}return sb.toString().toLowerCase();}/*** base64编码* @param str 内容       * @param charset 编码方式* @throws UnsupportedEncodingException */private String base64(String str, String charset) throws UnsupportedEncodingException{String encoded = Base64.encode(str.getBytes(charset));return encoded;    }  @SuppressWarnings("unused")private String urlEncoder(String str, String charset) throws UnsupportedEncodingException{String result = URLEncoder.encode(str, charset);return result;}/*** 电商Sign签名生成* @param content 内容   * @param keyValue Appkey  * @param charset 编码方式* @throws UnsupportedEncodingException ,Exception* @return DataSign签名*/@SuppressWarnings("unused")private String encrypt (String content, String keyValue, String charset) throws UnsupportedEncodingException, Exception{if (keyValue != null){return base64(MD5(content + keyValue, charset), charset);}return base64(MD5(content, charset), charset);}/*** 向指定 URL 发送POST方法的请求     * @param url 发送请求的 URL    * @param params 请求的参数集合     * @return 远程资源的响应结果*/@SuppressWarnings("unused")private String sendPost(String url, Map<String, String> params) {OutputStreamWriter out = null;BufferedReader in = null;        StringBuilder result = new StringBuilder(); try {URL realUrl = new URL(url);HttpURLConnection conn =(HttpURLConnection) realUrl.openConnection();// 发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);// POST方法conn.setRequestMethod("POST");// 设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");conn.connect();// 获取URLConnection对象对应的输出流out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");// 发送请求参数            if (params != null) {StringBuilder param = new StringBuilder(); for (Map.Entry<String, String> entry : params.entrySet()) {if(param.length()>0){param.append("&");}                 param.append(entry.getKey());param.append("=");param.append(entry.getValue());                   System.out.println(entry.getKey()+":"+entry.getValue());}System.out.println("param:"+param.toString());out.write(param.toString());}// flush输出流的缓冲out.flush();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));String line;while ((line = in.readLine()) != null) {result.append(line);}} catch (Exception e) {            e.printStackTrace();}//使用finally块来关闭输出流、输入流finally{try{if(out!=null){out.close();}if(in!=null){in.close();}}catch(IOException ex){ex.printStackTrace();}}return result.toString();}
}

电商实现货到付款服务的方法相关推荐

  1. Java生鲜电商平台-微服务架构概述

    Java生鲜电商平台-微服务架构概述 单体架构存在的问题 在传统的软件技术架构系统中,基本上将业务功能集中在单一应用内,或者是单一进程中.尽管现代化的软件架构理论以及设计原则已推广多年,但实际技术衍化 ...

  2. Java生鲜电商平台-微服务入门与服务的拆分架构实战

    Java生鲜电商平台-微服务入门与服务的拆分架构实战 刚开始进入软件行业时还是单体应用的时代,前后端分离的概念都还没普及,开发的时候需要花大量的时间在"强大"的JSP上面,那时候S ...

  3. 电商项目——商品服务-API-属性分组——第十一章——上篇

    电商项目--初识电商--第一章--上篇 电商项目--分布式基础概念和电商项目微服务架构图,划分图的详解--第二章--上篇 电商项目--电商项目的虚拟机环境搭建_VirtualBox,Vagrant-- ...

  4. 互联网晚报 | 1月13日 星期四 | 恒驰5首车下线;抖音电商测试快递服务“音尊达”;中国移动10086 App月底停止运营...

    今日看点 ✦ 中国移动10086 APP发布公告:将于1月30日停止运营 ✦ 恒驰5首车比原计划提前12天下线,恒驰汽车迎来重大里程碑 ✦ "春节也送货"第十年,京东物流为坚守岗位 ...

  5. Java生鲜电商平台-微服务生鲜电商用户中心的系统设计(小程序/APP)

    Java生鲜电商平台-微服务生鲜电商用户中心的系统设计(小程序/APP) 说明:在微服务生鲜电商用户中心的系统设计中,我一直强调一个观点,就是你这个系统使用用户到底是TO B的还是TO C的呢?这个是 ...

  6. 电商类微信平台推广方法有哪些?

    互联网的发展带动了电商行业的发展,电商已经成为企业进一步提升业务发展的常态. 随着微信公众号的崛起,电商企业自然不会错过这个营销推广的好方式,但很多电商类微信公众号推广效果不明显,那么,电商类微信平台 ...

  7. java微服务电商系统,JavaEE 电商系统微服务开发骨架(Spring Cloud版)

    Spring Boot - Spring Cloud 一个基于Spring Boot.Spring Cloud的项目,用来快速搭建电商项目微服务骨架. 说明:所有的功能都没有做参数强校验,也不考虑各种 ...

  8. 亿级流量电商网站微服务架构图(图灵学院)

    亿级流量电商网站微服务架构图(图灵学院)

  9. 【仅售9.9元】石杉老师最新出品:C2C电商系统微服务架构120天实战训练营

    石杉老师最新出品:<C2C 电商系统微服务架构 120 天实战训练营>,长按扫描下方二维码了解: 微服务架构是当今架构领域最热的话题之一,也是互联网大厂必问的技术.掌握微服务架构技术栈相关 ...

最新文章

  1. 尝试Java,从入门到Kotlin(上)
  2. AR普及后的未来是怎样的?
  3. 毕业设计-基于SSM实现在线考试及题库管理系统
  4. ThinkPad T61安装Ubuntu9.10全记录
  5. 微信小程序系列-wx.request 请求中文乱码问题
  6. new子类会先运行父类的构造函数
  7. 在Mac上为自己手动编译安装一套PHP7的开发环境
  8. Apache+php+mysql安装与配置详解
  9. 从服务器请求文件流工具类,SpringBoot我想获取图片流,然后将图片流的数据传到服务器上...
  10. 计算机不能直接执行c语言编写的源程序,计算机不能直接执行用C语言编写的源程序。...
  11. 熬夜做出的数据可视化,却被领导臭骂,只因这个......
  12. 狂神说 es笔记_【开源推荐】专门为程序员朋友量身打造的笔记软件—— Boostnote...
  13. PHP的php://input和$HTTP_RAW_POST_DATA 和$_POST的关系
  14. Java中的list---ArrayList与LinkedList
  15. greensock 框架
  16. 简书网页劫持分析,网站劫持,利用 CSP 预防劫持
  17. 软件测试人员每天的工作日常
  18. JavaScript编程精解(笔记1)
  19. c# winform 任务栏显示和隐藏
  20. 安装Windows+Ubuntu双系统

热门文章

  1. 《打工人》关于打工人的段子合集!
  2. 2010年最受儿童喜欢的儿童ipad游戏
  3. java 三维场景图_一个Java3D简单三维场景图,测试你的Java3D开发运行环境。
  4. 电商物流成本控制的5个技巧
  5. 2022全国数学建模-C 题复盘 古代玻璃制品的成分分析与鉴别
  6. K580p 开机外星人logo修改+ 默电显卡超频bios ----基于TWHQU131
  7. 【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation!
  8. 华为系统更新后通知栏变大了_华为手机下滑通知栏不见了
  9. 技术人员的赚钱之道-11:钱是什么?钱能生钱吗?
  10. 互联网+时代,惠而浦深耕细作中国市场