人に釣りを教えるよりも釣りを教える方が良い
WeChat決済経由でユーザーアドレスを取得します
WeChatを使用した住所情報の取得は、WeChat決済の申請が通過すると、この機能を使用できるようになります。
WeChat Mallでは、WeChat Payを使用してユーザーの配送先住所を取得することで、ユーザーが住所情報を入力する複雑なプロセスを省略し、ユーザーエクスペリエンスを向上させることができます。
ただし、これはユーザーのプライバシーに関わるため、使用プロセス中にユーザーがこの機能を使用することを積極的に選択する必要があり、クリック操作を通じてのみユーザーの配送先アドレスを取得できることに注意する必要があります。
操作プロセスは次のとおりです:
1. ユーザーはショッピング カート ページを開き、チェックアウトをクリックして、WeChat oauth2 ページにジャンプします。アドレスは https://open.weixin.qq.com/connect/oauth2/authorize です。
2.oauth2 ページは、リンクを決済ページにリダイレクトし、PHP を使用してリンク内の code パラメーターを取得し、処理後に accessToken 値を取得します。署名を生成し、それをパラメータの配列に組み立てて、ページに渡します。3. 決済ページはユーザーのクリックイベントを利用し、2で生成した配列パラメータを組み合わせてアドレスを取得する機能を完成させます。ここで、取得したアドレスを ajax を使用してデータベースに記録する機能を追加すると、顧客が次回購入するときにアドレスを気にする必要がなくなります。
注意すべき点について詳しくお話します
2. ユーザーはこのアドレスにアクセスし、コードパラメータが追加された注文決済アドレスにリダイレクトされます。この accessToken はユーザー情報を取得するために使用される accessToken ではないことに注意してください。同じものとの対話に使用される別のアクセス トークン。
accessToken は GET リクエストを使用して取得できます。curl または file_get_contents を使用できます。リクエストのアドレスは:
リーリーここで注意すべき点の 1 つは、WeChat が発作を起こし、注文決済ページを連続して複数回要求する場合があり、その結果、accessToken が無効になり、特別な処理が必要になるということです。
ここでの署名の生成は、WeChat Pay の署名とは異なり、文字列を暗号化するだけです: accesstoken=ACCESSTOKEN&appid=APPID&noncestr=32 桁のランダムな文字列×tamp=timestamp&url=URL。次に、文字列に対して sha1 暗号化を実行します。
アドレスを取得する機能を実現するには、フロントエンド ページで一連のパラメーター、つまり appID、scope (デフォルトは jsapi_address)、signType (デフォルトは sha1)、addrSign (上記の sha1 によって暗号化された文字列) を使用する必要があります。 、timeStamp (上記と同じ) タイムスタンプ)、nonceStr (上記と同じランダムな文字列)。
3. フロントエンド ページで、次の js 関数を使用してユーザー アドレスを取得する操作を完了します。 リーリー リーリー リーリー
この時点で、WeChat を使用してユーザーの共有アドレスを取得する開発は完了しました。ご質問がございましたら、QQ:97695870までご連絡ください http://www.bkjia.com/PHPjc/1059476.html