微信公众号支付收货地址共享接口文档 V1.5

收货地址共享接口文档 收货地址共享接口文档 收货地址共享接口文档 收货地址共享接口文档V1. V1. V1. V1.6666微信公众号支付收货地址共享接口文档 V1.5 1 收货地址共享简介 收货地址共享简介 收货地址共享简介 收货地址共享简介 1.1 1.1 1.1 1.1 功能简介 功能简介 功能简介 功能简介 微信收货地址共享,是指用户在微信浏览器内打开商品H5 网页,填写过地 址,后续支持快速选择免填写,也可增加和编辑。此地址为用户属性,可在商户 网页中共享使用。支持原生控件填写地址,地址数据会传递到商户后台。

      1. 1.2222 功能支持 功能支持 功能支持 功能支持 地址共享是基于微信JS API 实现,只能在微信内置浏览器中使用,其他浏 览器调用无效。同时,需要微信5.0 版本才能支持,建议通过user agent 来确 定用户当前的版本号后再调用地址接口。以iPhone 版本为例,可以通过user agent可获取如下微信版本示例信息: "Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko) Mobile/9B206 MicroMessenger/5.0" 其中5.0 为用户安装的微信版本号,商户可以判定版本号是否高于或者等于5.0。
      1. 1.3333 地址格式 地址格式 地址格式 地址格式 微信地址共享使用的数据字段包括:
  1. 收货人姓名
  2. 地区,省市区三级
  3. 详细地址
  4. 邮编
  5. 联系电话 其中,地区对应是国标三级地区码,如“广东省-广州市-天河区”,对应的微信公众号支付收货地址共享接口文档 V1.5 是510630。详情参考链接: http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201401/t20140116_501070.ht ml 2222 公众号收货地址 公众号收货地址 公众号收货地址 公众号收货地址JSJSJSJS API API API API 接口定义 接口定义 接口定义 接口定义 2.1 2.1 2.1 2.1 编辑并获取收货地址 编辑并获取收货地址 编辑并获取收货地址 编辑并获取收货地址 公众号编辑收货地址 editAddress editAddress editAddress editAddress 参数列表 参数列表 参数列表 参数列表 参数 必填 说明 appId 是 公众号appID scope 是 填写“jsapi_address”,获得编辑地址权限 signType 是 签名方式,目前仅支持SHA1 addrSign 是 签名 timeStamp 是 时间戳 nonceStr 是 随机字符串 说明:addrSign 的生成规则如下。参与addrSign 签名的字段包括:appId、 url(当前网页url)、timestamp、noncestr、accessToken(用户授权凭证, 请参照oauth2.0 协议获取)。这里scope、signType 并不参与签名。对所有 待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL 键值 对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需 要注意的是所有参数名均为小写字符,例如appId 在排序后字符串则为appid;微信公众号支付收货地址共享接口文档 V1.5 对string1作签名算法,字段名和字段值都采用原始值,不进行URL 转义。具体 签名算法为addrSign = SHA1(string1)。这里给出生成addrSign 的具体示例如 下: 示例: 示例: 示例: 示例: appId=wx17ef1eaef46752cb url=http://open.weixin.qq.com/ timeStamp=1384841012 nonceStr=123456 accessToken=OezXcEiiBSKSxW0eoylIeBFk1b8VbNtfWALJ5g6aMgZHaqZ wK4euEskSn78Qd5pLsfQtuMdgmhajVM5QDm24W8X3tJ18kz5mhmkUcI 3RoLm7qGgh1cEnCHejWQo8s5L3VvsFAdawhFxUuLmgh5FRA i:经过a过程键值对排序后得到string1 为: accesstoken=OezXcEiiBSKSxW0eoylIeBFk1b8VbNtfWALJ5g6aMgZHaqZ wK4euEskSn78Qd5pLsfQtuMdgmhajVM5QDm24W8X3tJ18kz5mhmkUcI 3RoLm7qGgh1cEnCHejWQo8s5L3VvsFAdawhFxUuLmgh5FRA&appid=w x17ef1eaef46752cb&noncestr=123456&timestamp=1384841012&url= http://open.weixin.qq.com/ ii:经过b过程签名后可得到: addrSign=SHA1(accesstoken=OezXcEiiBSKSxW0eoylIeBFk1b8VbNtfWA LJ5g6aMgZHaqZwK4euEskSn78Qd5pLsfQtuMdgmhajVM5QDm24W8X3 tJ18kz5mhmkUcI3RoLm7qGgh1cEnCHejWQo8s5L3VvsFAdawhFxUuLmg h5FRA&appid=wx17ef1eaef46752cb&noncestr=123456&timestamp=1微信公众号支付收货地址共享接口文档 V1.5 384841012&url=http://open.weixin.qq.com/)=ca604c740945587544a9c c25e58dd090f200e6fb 参数返回: 参数返回: 参数返回: 参数返回: 返回值 说明 err_msg edit_address:ok获取编辑收货地址成功 edit_address:fail获取编辑收货地址失败 userName 收货人姓名 telNumber 收货人电话 addressPostalCode 邮编 proviceFirstStageName 国标收货地址第一级地址 addressCitySecondStageName 国标收货地址第二级地址 addressCountiesThirdStageName 国标收货地址第三级地址 addressDetailInfo 详细收货地址信息 nationalCode 收货地址国家码 使用示例 使用示例 使用示例 使用示例 WeixinJSBridge.invoke('editAddress',{ "appId" : getAppId(), "scope" : "jsapi_address", "signType" : "sha1", "addrSign" : "xxxxx", "timeStamp" : "12345", "nonceStr" : "10000",微信公众号支付收货地址共享接口文档 V1.5 },function(res){ //若res 中所带的返回值不为空,则表示用户选择该返回值作为收货地 址。否则若返回空,则表示用户取消了这一次编辑收货地址。 document.form1.address1.value =res.proviceFirstStageName; document.form1.address2.value =res.addressCitySecondStageName; document.form1.address3.value =res.addressCountiesThirdStageName; document.form1.detail.value = res.addressDetailInfo; document.form1.phone.value = res.telNumber; }); }); 3333 基本交互流程 基本交互流程 基本交互流程 基本交互流程 基本交互流程如下:微信公众号支付收货地址共享接口文档 V1.5 4444 收货地址共享 收货地址共享 收货地址共享 收货地址共享JSJSJSJS API API API API 申请流程简介 申请流程简介 申请流程简介 申请流程简介 (1)若要获取收货地址相关JS API,需要先申请具有商户支付权限的公众号; (2)在获取具有支付权限的appID 后,默认已开启收货地址相关JS API 权限, 但需要商家配置对应使用收货地址功能的域名,域名配置请在公众平台网站 公众平台网站 公众平台网站 公众平台网站----服服服服 务务务务----我的服务 我的服务 我的服务 我的服务-OAuth2.0 -OAuth2.0 -OAuth2.0 -OAuth2.0 网页授权 网页授权 网页授权 网页授权中设置(针对已认证的公众号),如下图: 点击修改,把授权回调页面域名设置为使用收货地址功能的域名即可。微信公众号支付收货地址共享接口文档 V1.5 5555 报错后的调试方向 报错后的调试方向 报错后的调试方向 报错后的调试方向 (1)签名参数必须小写 (2)调用接口参数必须用字符串格式 (3)token需要用oauth获取的token,获取token的scope是snsapi_base (4)用文档验证签名算法正确性 (5)签名使用的url必须是调用时所在页面的url,此url域名要与填写Oauth2.0 授权域名一致 (6)参与签名使用的url必须带上微信服务器返回的code和state参数