ホームページ >バックエンド開発 >PHPチュートリアル >WeChat決済開発(6) 受信アドレス共有インターフェース、WeChat決済インターフェース開発_PHPチュートリアル

WeChat決済開発(6) 受信アドレス共有インターフェース、WeChat決済インターフェース開発_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:55:561256ブラウズ

WeChat決済開発(6) 受信アドレス共有インターフェース、WeChat決済インターフェース開発

キーワード: WeChat決済受信アドレス共有
著者: Fangbei Studio
原文: http://www.cnblogs.com/ txw1958/p/ weixin-editAddress.html

この記事では、WeChat決済における配送先住所共有インターフェースの開発プロセスを紹介します。

1. はじめに

WeChat の配送先アドレスの共有とは、ユーザーが WeChat ブラウザで Web ページを開いてアドレスを入力することを意味し、その後の手順を入力することなくすぐに選択でき、追加や編集も可能です。このアドレスはユーザー属性であり、さまざまな販売者の Web ページで共有できます。住所を入力するネイティブ コントロールをサポートすると、住所データが販売者に渡されます。

アドレス共有はWeChat JavaScript APIに基づいており、WeChat内蔵ブラウザでのみ使用できます。他のブラウザからの通話は無効です。同時に、これをサポートするには WeChat バージョン 5.0 が必要です。アドレス インターフェイスを呼び出す前に、ユーザー エージェントを使用してユーザーの現在のバージョン番号を確認することをお勧めします。 iPhone のバージョンを例に挙げると、useragent を通じて次の WeChat バージョンのサンプル情報を取得できます。「Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS」。ユーザーがインストールした WeChat のバージョン番号については、販売者が判断できます。バージョン番号は 5.0 以上です。

アドレス形式
WeChat アドレス共有に使用されるデータ フィールドは次のとおりです:

  • 荷受人名
  • 地域、県、市レベル 3
  • 詳しい住所
  • 郵便番号
  • 連絡先番号

その中で、この地域は「広東省-広州市-天河区」などの国家標準の3段階市外局番に対応しており、対応する郵便番号は510630です。詳細は参考リンク:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201401/t20140116_501070.html

2.OAuth2.0認証

配送先アドレスを取得する前に、ログイン認証インターフェースを呼び出してOAuth2.0アクセストークンを取得する必要があります。したがって、承認は一度行う必要があり、この承認では確認ボックスは表示されません。
本質は、ユーザーが訪問するときです

リーリー

のときに

にジャンプ リーリー

これを使用してコードパラメータを取得し、コードに基づいて認可されたaccess_tokenとopenidを取得します。このアクセストークンは配送先アドレス共有インターフェースに使用されます。

実装の詳細なプロセスについては、WeChatパブリックプラットフォーム開発(71)OAuth2.0 Web認可を参照してください

2. ランダムな文字列を取得します

ランダムな文字列を生成する方法は以下の通りです

3. 署名を生成します

addrSign 署名に参加するフィールドには、appId、url (JavaScript API を呼び出す Web ページ URL)、タイムスタンプ、noncestr、accessToken が含まれます
フィールド名の ASCII コードに従って署名されるすべてのパラメーターを小さいものから大きいもの (辞書編集順) に並べ替えた後)、URL キーを使用します。値のペアの形式 (つまり、key1=value1&key2=value2...) は文字列 string1 に連結されます。
ここで、署名プロセス中のすべてのパラメーター名は小文字であることに注意してください。たとえば、並べ替え後の appId 文字列は appid です。
string1 には署名アルゴリズムが使用され、フィールド名とフィールド値は元の文字列を使用します。 URL エスケープなしの値。特定の署名アルゴリズムは addrSign = SHA1(string1) です。 addrSign を生成する具体的な例をここに示します:

リーリー

i: プロセスを通じてキーと値のペアを並べ替えた後、string1 が取得されます:

リーリー

ii: b プロセスを通じて署名すると、次のものを取得できます:

リーリー

実装コードは以下の通りです

4. 配送先住所を取得します

ユーザーの配送先住所の editAddress インターフェイスを編集して取得し、Web ページのフロントエンドで呼び出します。
パラメータリスト:

パラメータ 必須 説明
アプリID はい パブリックアカウントのappID
スコープ はい 「jsapi_address」を入力してアドレス編集の許可を取得します
署名タイプ はい 署名方法、現在は SHA1 のみをサポートしています
addrSign はい 署名、すべてのパラメータが署名の生成に関与します
タイムスタンプ はい タイムスタンプ
nonceStr はい ランダムな文字列

呼び出し方法は以下の通りです

パラメータの戻り値:

戻り値 説明
err_msg edit_address: ok 編集された配送先住所を正常に取得しました
edit_address:fail 配送先住所の編集を取得できませんでした
ユーザー名 荷受人名
電話番号 荷受人の電話番号
住所郵便番号 郵便番号
proviceFirstStageName 全国標準の配送先住所の第 1 レベルの住所
住所都市第二段階名 全国標準配送先住所第二層住所
住所郡第 3 ステージ名 全国標準配送先住所の第3レベル住所
住所詳細情報 配送先住所の詳細情報
国家コード 配送先住所の国コード

5. 例

www.bkjia.com本当http://www.bkjia.com/PHPjc/1114989.html技術記事 WeChat 決済開発 (6) 受信アドレス共有インターフェイス、WeChat 決済インターフェイス開発キーワード: WeChat 決済受信アドレス共有 著者: Fangbei Studio 原文: http://www.cnblogs.com/txw1958/...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。