1. JS-SDK
公式アカウントでの WeChat 支払いは JS を通じて実裝する必要があります。 WeChat JS-SDK は、Web 開(kāi)発者向けの WeChat パブリック プラットフォームによって提供される WeChat に基づく Web 開(kāi)発ツールキットです。
1) JS スクリプト ファイルを?qū)毪筏蓼?
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
2) 設(shè)定インターフェイスを通じて権限検証設(shè)定を挿入します
<script> wx.config({ debug: false, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù),可以在pc端打開(kāi),參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。 appId: '', // 必填,公眾號(hào)的唯一標(biāo)識(shí) timestamp: , // 必填,生成簽名的時(shí)間戳 nonceStr: '', // 必填,生成簽名的隨機(jī)串 signature: '',// 必填,簽名 }); </script>
appId はアプリケーションID、wx 文字列から始まり、timestampはphpのtime()を使用して取得され、nonceStrはuniqid()を使用して取得され、signatureは特定のアルゴリズムに従って取得されます。
protected function getJsapiConfig() { $weixin = new Weixin(); $ticketMongo = new WeixinJsapiTicket(); $data = [ 'appId' => $weixin->getAppId(), 'noncestr' => uniqid(), 'jsapi_ticket' => $ticketMongo->getJsapiTicket(), 'timestamp' => time() ]; //拼裝原始待簽名串 $src = [ 'noncestr=' . $data['noncestr'], 'jsapi_ticket=' . $data['jsapi_ticket'], 'timestamp=' . $data['timestamp'] ]; sort($src); $data['signature'] = sha1(implode('&', $src)); return $data; }
「jsapi_ticket」について説明します。 jsapi_ticket は、公式アカウントが WeChat JS インターフェースを呼び出すために使用する一時(shí)的なチケットです。通常の狀況では、access_token を通じて取得される jsapi_ticket の有効期間は 7200 秒です。時(shí)間制限があり、jsapi_ticket を取得するための API 呼び出しの回?cái)?shù)は非常に限られているため、取得した jsapi_ticket を MongoDB に保存します。
/** * 通過(guò)access_token獲取jsapi_ticket * @param $access_token * @return string | null */ public function getJsapiTicket($access_token) { $url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket'; $param = [ 'access_token' => $access_token, 'type' => 'jsapi' ]; $res = $this->request($url, $param); $result = json_decode($res, true); if (isset($result['errcode']) && $result['errcode'] == 0 && isset($result['ticket'])) { return $result; } return null; }
3) 準(zhǔn)備完了インターフェースを介して成功した検証を処理します
1) prepay_id は、ローカルに生成された注文番號(hào)などに基づいて取得されます。注文番號(hào)は要求されるたびに異なり、それ以外の場(chǎng)合はエラーになります報(bào)告されます
2) md5(uniqid('baiaimama'))を使用してnonceStrを取得します
3) MD5をsignTypeに使用します
4) paySignは、コードのパラメータに従ってソートおよび連結(jié)することによって取得されます。
wx.chooseWXPay({ timestamp: 0, // 支付簽名時(shí)間戳,注意微信jssdk中的所有使用timestamp字段均為小寫(xiě)。但最新版的支付后臺(tái)生成簽名使用的timeStamp字段名需大寫(xiě)其中的S字符 nonceStr: '', // 支付簽名隨機(jī)串,不長(zhǎng)于 32 位 package: '', // 統(tǒng)一支付接口返回的prepay_id參數(shù)值,提交格式如:prepay_id=***) signType: '', // 簽名方式,默認(rèn)為'SHA1',使用新版支付需傳入'MD5' paySign: '', // 支付簽名 success: function (res) { // 支付成功后的回調(diào)函數(shù) } });
/** * 生成jsapi需要調(diào)用的參數(shù) */ public function getJsapiParam(){ $param = [ 'appId' => $this->APPID, 'timeStamp' => time(), 'nonceStr' => md5(uniqid('baiaimama')), 'package' => 'prepay_id='.$this->param['prepay_id'], 'signType' => 'MD5' ]; $str = []; foreach($param as $k=>$v){ if(!empty($v)){ $str[] = "{$k}={$v}"; } } sort($str); $unsignKey = join('&', $str).'&key='.$this->KEY; $sign = strtoupper(md5($unsignKey)); $param['paySign'] = $sign; return $param; }
2. 非同期コールバック
非同期コールバックでは、注文ステータスの変更、テキスト メッセージの送信、メッセージのプッシュなどの操作を?qū)g行します。
/** * 微信支付異步回調(diào)API * 微信支付成功,會(huì)收到異步回調(diào) */ public function actionWxpay() { $weixinPay = new WeixinPay(); $weixin = new Weixin(); $xml = file_get_contents('php://input'); $msg = $weixin->parseMsg($xml); //記錄微信推送日志 $notifyMongo = new WeixinPayNotify(); $notifyMongo->logPayNotify($xml); if(!$msg || !is_object($msg)){ $weixinPay->notifyXml('FAIL', '通知不合法'); } if(!isset($msg->return_code) || $msg->return_code != 'SUCCESS'){ $weixinPay->notifyXml('FAIL', '通信失敗'); } if(!isset($msg->result_code) || $msg->result_code != "SUCCESS"){ $weixinPay->notifyXml('FAIL', '交易失敗'); } //簽名驗(yàn)證失敗 if(!$weixinPay->checkSign($msg)){ $weixinPay->notifyXml('FAIL', '簽名驗(yàn)證失敗'); } //$notifyMongo->add($msg); //流程走到這里說(shuō)明已經(jīng)支付成功了,這里無(wú)需更新訂單邏輯 $userOrder = new UserOrder(); //記錄微信訂單號(hào) $userOrder->pay($msg->out_trade_no, $msg->transaction_id); }
デモのダウンロード:
githubアドレス: https://github.com/pwstrick/weixin_demo
CSDNアドレス: http://download.csdn .net/detail/loneleaf1/9045731
WeChat パブリック プラットフォーム開(kāi)発および WeChat 決済関連記事の詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトに注目してください。

ホットAIツール

Undress AI Tool
脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress
リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover
寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版
中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

PHP は、Web 開(kāi)発およびサーバーサイド プログラミング、特に WeChat 開(kāi)発で広く使用されているオープン ソースのスクリプト言語(yǔ)です?,F(xiàn)在、ますます多くの企業(yè)や開(kāi)発者が WeChat 開(kāi)発に PHP を使用し始めています。これは、PHP が本當(dāng)に學(xué)びやすく、使いやすい開(kāi)発言語(yǔ)となっているためです。 WeChat の開(kāi)発では、メッセージの暗號(hào)化と復(fù)號(hào)化はデータのセキュリティに関わるため、非常に重要な問(wèn)題となります。暗號(hào)化と復(fù)號(hào)化の方法を持たないメッセージの場(chǎng)合、ハッカーは簡(jiǎn)単にデータを入手でき、ユーザーに脅威を與える可能性があります。

WeChat パブリック アカウントの開(kāi)発では、投票機(jī)能がよく使用されます。投票機(jī)能はユーザーが気軽に交流に參加できるほか、イベントの開(kāi)催や意見(jiàn)調(diào)査などにも重要なツールです。この記事では、PHPを使用してWeChatの投票機(jī)能を?qū)g裝する方法を紹介します。 WeChat公式アカウントの認(rèn)証を取得する まずはWeChat公式アカウントの認(rèn)証を取得する必要があります。 WeChatパブリックプラットフォームでは、WeChatパブリックアカウント、公式アカウント、およびパブリックアカウントに対応するトークンのAPIアドレスを設(shè)定する必要があります。 PHP言語(yǔ)を使用した開(kāi)発の過(guò)程では、WeChatが公式に提供するPHを使用する必要があります

WeChat の人気に伴い、マーケティング ツールとして WeChat を使用し始める企業(yè)が増えています。 WeChat グループ メッセージング機(jī)能は、企業(yè)が WeChat マーケティングを行うための重要な手段の 1 つです。ただし、手動(dòng)送信のみに頼ると、マーケターにとって非常に時(shí)間と労力がかかる作業(yè)になります。したがって、WeChat マス メッセージング ツールを開(kāi)発することが特に重要です。この記事では、PHP を使用して WeChat マス メッセージング ツールを開(kāi)発する方法を紹介します。 1. 準(zhǔn)備作業(yè) WeChat マス メッセージング ツールを開(kāi)発するには、次の技術(shù)點(diǎn)を習(xí)得する必要があります。 PHP WeChat パブリック プラットフォーム開(kāi)発の基礎(chǔ)知識(shí) 開(kāi)発ツール: Sub

WeChat は現(xiàn)在、世界最大のユーザーベースを持つソーシャル プラットフォームの 1 つであり、モバイル インターネットの普及に伴い、ますます多くの企業(yè)が WeChat マーケティングの重要性を認(rèn)識(shí)し始めています。 WeChat マーケティングを?qū)g施する場(chǎng)合、顧客サービスは重要な部分です。カスタマー サービスのチャット ウィンドウをより適切に管理するために、WeChat 開(kāi)発に PHP 言語(yǔ)を使用できます。 1. PHP WeChat 開(kāi)発の概要 PHP は、Web 開(kāi)発の分野で広く使用されているオープン ソースのサーバー側(cè)スクリプト言語(yǔ)です。 WeChat パブリック プラットフォームが提供する開(kāi)発インターフェイスと組み合わせると、PHP 言語(yǔ)を使用して WeChat を?qū)g行できます。

WeChat パブリック アカウントの開(kāi)発において、ユーザー タグ管理は非常に重要な機(jī)能であり、開(kāi)発者がユーザーをよりよく理解し、管理できるようになります。この記事では、PHPを使用してWeChatのユーザータグ管理機(jī)能を?qū)g裝する方法を紹介します。 1. WeChat ユーザーの openid を取得する WeChat ユーザータグ管理機(jī)能を使用する前に、まずユーザーの openid を取得する必要があります。 WeChat パブリック アカウントの開(kāi)発では、ユーザーの承認(rèn)を通じて openid を取得するのが一般的です。ユーザー認(rèn)証が完了したら、次のコードを通じてユーザーを取得できます。

WeChat が人々の生活においてますます重要なコミュニケーション ツールになるにつれ、その機(jī)敏なメッセージング機(jī)能はすぐに多くの企業(yè)や個(gè)人に支持されるようになりました。企業(yè)にとって、WeChat をマーケティング プラットフォームとして開(kāi)発することがトレンドになっており、WeChat 開(kāi)発の重要性が徐々に顕著になってきています。その中でも、グループ送信機(jī)能はさらに広く使用されているため、PHP プログラマとしてグループ メッセージ送信レコードを?qū)g裝するにはどうすればよいでしょうか?以下に簡(jiǎn)単に紹介します。 1. WeChat パブリック アカウントに関する開(kāi)発知識(shí)を理解する グループ メッセージ送信レコードの実裝方法を理解する前に、

PHP を使用して WeChat 公開(kāi)アカウントを開(kāi)発する方法 WeChat 公開(kāi)アカウントは、多くの企業(yè)にとってプロモーションと交流のための重要なチャネルとなっており、一般的に使用される Web 言語(yǔ)として PHP を使用して WeChat 公開(kāi)アカウントを開(kāi)発することもできます。この記事では、PHP を使用して WeChat 公開(kāi)アカウントを開(kāi)発する具體的な手順を紹介します。ステップ1:WeChat公式アカウントの開(kāi)発者アカウントを取得する WeChat公式アカウントの開(kāi)発を開(kāi)始する前に、WeChat公式アカウントの開(kāi)発者アカウントを申請(qǐng)する必要があります。具體的な登録プロセスについては、WeChat パブリック プラットフォームの公式 Web サイトを參照してください。

インターネットとモバイル スマート デバイスの発展に伴い、WeChat はソーシャルおよびマーケティング分野に欠かせないものになりました。デジタル化が進(jìn)むこの時(shí)代において、WeChat 開(kāi)発に PHP を使用する方法が多くの開(kāi)発者の焦點(diǎn)になっています。この記事では主に、PHP を WeChat 開(kāi)発に使用する方法とそのヒントや注意事項(xiàng)を紹介します。 1. 開(kāi)発環(huán)境の準(zhǔn)備 WeChat を開(kāi)発する前に、まず対応する開(kāi)発環(huán)境を準(zhǔn)備する必要があります。具體的には、PHP オペレーティング環(huán)境と WeChat パブリック プラットフォームをインストールする必要があります。
