目錄
微信商城中使用微信支付接口获取用户地址,商城
首頁 php教程 php手册 微信商城中使用微信支付接口获取用户地址,商城

微信商城中使用微信支付接口获取用户地址,商城

Jun 13, 2016 am 08:53 AM
使用 商城 地址 微信 介面 支付 使用者 獲取

微信商城中使用微信支付接口获取用户地址,商城

授人以鱼不如授人以渔

微信支付获取用户地址

使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能。

微信商城中,使用微信支付获取用户的收货地址,可以省略用户输入地址信息的繁复流程,提高用户体验。

但是可能是因为牵扯到用户隐私,所以在使用过程中,需要用户自己主动选择使用该功能,并且是通过点击的操作,我们才可以获取到用户的收货地址,这一点是要注意的。

操作流程如下:

1.用户打开购物车页面,点击结算,跳转到一个微信的oauth2的页面,地址为:https://open.weixin.qq.com/connect/oauth2/authorize

2.oauth2页面将链接redirect到结算页面,使用PHP获取到链接中的code参数,经过处理获取到accessToken值。生成签名,组装成数组参数传递到页面。

3.结算页面使用用户点击事件,结合2中生成的数组参数完成获取地址的功能。这里可以有一个将获取到的地址使用ajax记录到数据库的功能,那么客户下次购物的时候,就不用麻烦了。


详细的讲下需要注意的几点:

1.跳转到微信oauth2的这个步骤,在用户看来是没有多少差别的,但是在程序这里就有很多的事情要做。首先是oauth2页面的参数,其中appid为微信appid,redirect_uri为urlencode后的订单结算页面的地址,response_type为固定的code,scope为固定的snsapi_base,state在这个地方可随意填写,还有一个#wechat_redirect,那么该链接的最终样子为:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID<span>&redirect_uri</span>=订单结算地址<span>&response_type</span>=code<span>&scope</span>=snsapi_base<span>&state</span>=随意填写#wechat_redirect
登入後複製

2.用户访问到该地址,被重新定位到追加了code参数订单结算地址,在此页面需要由程序获取到accessToken,注意该accessToken为获取用户信息的accessToken跟另外一个和微信交互的access token不是同一个。

使用GET请求就可以获取该accessToken,可以使用curl或者是file_get_contents。请求地址为:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID<span>&secret</span>=APP_SECRET<span>&code</span>=CODE<span>&grant_type</span>=authorization_code;
登入後複製

这里有一点需要注意,有时候微信会抽风,会连续多次请求订单结算页面,造成accessToken失效,需特殊处理。

这里的签名生成和微信支付里面的签名不一样,这里的要简单很多,只是加密一个字符串,格式为:accesstoken=ACCESSTOKEN&appid=APPID&noncestr=32位随机字符串×tamp=时间戳&url=当前页面的URL,然后对该字符串进行sha1加密。

在前端页面中需要使用一连串的参数来实现获取地址的功能,分别是appID,scope(默认为jsapi_address),signType(默认为sha1),addrSign(上面sha1加密后的字符串),timeStamp(同上文的时间戳),nonceStr(同上文的随机字符串)。

3.在前端页面,使用下面的js函数来完成获取用户地址的操作:

<span>function get_addr()
{
    WeixinJSBridge.invoke('editAddress',{
    "appId" : "</span><span><?</span><span>php echo $sign['appId']</span><span>?></span><span>",
    "scope" : "jsapi_address",
    "signType" : "sha1",
    "addrSign" : "</span><span><?</span><span>php echo $sign['addrSign']</span><span>?></span><span>",
    "timeStamp" : "</span><span><?</span><span>php echo $sign['timeStamp']</span><span>?></span><span>",
    "nonceStr" : "</span><span><?</span><span>php echo $sign['nonceStr']</span><span>?></span><span>",
    },function(res){
    if(res.err_msg == 'edit_address:ok')
    {
           </span><span>
            <br />            //将地址信息存入数据库
            //将地址信息显示在当前页面
          </span>
登入後複製
<span>            document.getElementById("address_info").innerHTML="<b>收件人:"+res.userName+"</b>   <b>"+res.telNumber+"</b><br /><span> 收货地址:"+res.proviceFirstStageName+res.addressCitySecondStageName+res.addressCountiesThirdStageName+res.addressDetailInfo;
           </span></span>
登入後複製
<span> } else{ alert("获取地址失败,请重新点击"); } }); }</span>
登入後複製

至此,使用微信获取用户共享地址的开发就完毕了。

有任何疑问,请联系QQ:97695870

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP中的抽像類和接口有什麼區別? PHP中的抽像類和接口有什麼區別? Apr 08, 2025 am 12:08 AM

抽像類和接口的主要區別在於:抽像類可以包含方法的實現,而接口只能定義方法的簽名。 1.抽像類使用abstract關鍵字定義,可包含抽象和具體方法,適合提供默認實現和共享代碼。 2.接口使用interface關鍵字定義,只包含方法簽名,適合定義行為規範和多重繼承。

歐易交易所app國內下載教程 歐易交易所app國內下載教程 Mar 21, 2025 pm 05:42 PM

本文提供國內安全下載歐易OKX App的詳細指南。由於國內應用商店限制,建議用戶通過歐易OKX官方網站下載App,或使用官網提供的二維碼掃描下載。下載過程中,務必核實官網地址,檢查應用權限,安裝後進行安全掃描,並啟用雙重驗證。 使用過程中,請遵守當地法律法規,使用安全網絡環境,保護賬戶安全,警惕詐騙,理性投資。 本文僅供參考,不構成投資建議,數字資產交易風險自負。

H5和小程序與APP的區別 H5和小程序與APP的區別 Apr 06, 2025 am 10:42 AM

H5、小程序和APP的主要區別在於:技術架構:H5基於網頁技術,小程序和APP為獨立應用程序。體驗和功能:H5輕便易用,功能受限;小程序輕量級,交互性好;APP功能強大,體驗流暢。兼容性:H5跨平台兼容,小程序和APP受平台限制。開發成本:H5開發成本低,小程序中等,APP最高。適用場景:H5適合信息展示,小程序適合輕量化應用,APP適合複雜功能應用。

公司安全軟件導致應用無法運行?如何排查和解決? 公司安全軟件導致應用無法運行?如何排查和解決? Apr 19, 2025 pm 04:51 PM

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

H5頁面製作和微信小程序有什麼不同 H5頁面製作和微信小程序有什麼不同 Apr 05, 2025 pm 11:51 PM

H5更靈活,可定制性強,但需要嫻熟的技術;小程序上手快,維護便捷,但受限於微信框架。

公司安全軟件與應用衝突怎麼辦? HUES安全軟件導致常用軟件無法打開如何排查? 公司安全軟件與應用衝突怎麼辦? HUES安全軟件導致常用軟件無法打開如何排查? Apr 01, 2025 pm 10:48 PM

公司安全軟件與應用兼容性問題及排查方法許多企業為了保障內網安全,會安裝安全軟件。然而,安全軟件有時...

企業微信中的JS資源緩存問題如何解決? 企業微信中的JS資源緩存問題如何解決? Apr 04, 2025 pm 05:06 PM

企業微信的JS資源緩存問題探討在進行項目功能升級時,常常會遇到部分用戶未能成功升級的情況,尤其是在企�...

H5和小程序如何選擇 H5和小程序如何選擇 Apr 06, 2025 am 10:51 AM

H5和小程序的選擇取決於需求。對於跨平台、快速開發和高擴展性的應用,選擇H5;對於原生體驗、豐富功能和平台依附性的應用,選擇小程序。

See all articles