目次
PHP を使用した WeChat 決済の開発プロセスについて簡単に説明しましょう php 決済プロセスについて簡単に説明しましょう
ホームページ バックエンド開発 PHPチュートリアル PHP を使用して WeChat 支払いを開発するプロセスに関する簡単な説明、PHP 支払いプロセスに関する簡単な説明_PHP チュートリアル

PHP を使用して WeChat 支払いを開発するプロセスに関する簡単な説明、PHP 支払いプロセスに関する簡単な説明_PHP チュートリアル

Jul 12, 2016 am 09:07 AM
php ウィーチャットペイ

PHP を使用した WeChat 決済の開発プロセスについて簡単に説明しましょう php 決済プロセスについて簡単に説明しましょう

WeChat 決済の開発プロセスを説明するために PHP 言語を例に挙げてみましょう。

1. 注文情報を取得します

2. 注文情報と支払い関連アカウントに基づいて署名を生成し、支払いパラメータを生成します

3. 支払いパラメータ情報をWeChatサーバーに送信し、返品情報を取得します

4. 返された情報に基づいて、対応する支払いコード (WeChat 内) または支払い QR コード (WeChat 内以外) を生成し、支払いを完了します。

それについて段階的に話しましょう:

1. WeChat 支払いに関連する 3 つの必須注文パラメーターがあります。つまり、body (商品名または注文の説明)、out_trade_no (通常は注文番号)、total_fee (注文金額、単位「セント」、単位の問題に注意してください) です。さまざまなアプリケーションの場合、最初に行うことは、注文内の関連情報を取得し、支払いパラメーターの生成の準備をすることです。

2. その他の必要な支払いパラメーターには、appid (WeChat appid)、mch_id (アプリケーションが成功した後に通知されます)、device_info (パラメーターは Web 側と WeChat 側で同じであり、大文字の「WEB」が付きます)、 trade_type ( WeChat の外部では「NATIVE」、WeChat 内部では「JSAPI」です)、nonce_str (32 ビットのランダムな文字列)、spbill_create_ip (支払いを開始する端末の IP、つまりサーバー) も異なります。 IP)、notify_url (支払いコールバック アドレス)、WeChat サーバーが支払いが完了したかどうかを Web サイトに通知、注文ステータスを変更)、sign (署名)、trade_type が JSAPI の場合は、もう 1 つ説明する必要がある点があります。 、openid は必須パラメータです。

署名手順が面倒なため、署名アルゴリズムではエラーが発生しやすくなります。実際、最も重要なことは、署名が署名に関与していないことです。

A: 符号を除く 1 と 2 のパラメータを配列配列に代入し、辞書順に並べ替えます。実際には、キーの値は A ~ Z の順序で並べ替えられます。

B: 配列を k1=v1&k2=v2&...kN=vN の形式の文字列 string に変換します

C: この文字列の後に KEY 値を追加します (WeChat 決済販売者のバックエンドでユーザーによって設定されます)。文字列 = k1=v1&k2=v2&...kN=vN&key=KEY になります。

D:文字列 = md5(文字列)

E: 記号 = strtoupper(文字列)

この時点で、サインが生成されます。

配列配列に符号を追加して新しい配列を生成します。この配列を XML に変換します。この時点で、WeChat決済のパラメータ準備作業は完了です。

3. 2で生成したXMLをPOSTでWeChat(https://api.mch.weixin.qq.com/pay/unifiedorder)に送信し、返されたXML情報を取得して配列に変換します。操作が簡単。返される XML 情報は次のとおりです:

リーリー

trade_type==nativepayment の場合、追加パラメータ code_url が存在します。これは、WeChat スキャン コード支払いのアドレスです。

4.お支払いの流れは以下の通りです。

trade_type==native の場合、いくつかのメソッドを使用して code_url を QR コードに変換し、WeChat を使用してコードをスキャンするだけです。WeChat 内でクリックトゥペイの場合は、WeChat js で関連するものを呼び出す必要があります。 -sdk このステップで最も重要なステップは、json 形式の文字列を生成することです。

まず、json文字列を変換するarray_jsapiを生成します。

A: この配列のパラメータには、appId、timeStamp、nonceStr、package、signType (デフォルトは「MD5」) が含まれます。上記の配列とはケースが異なることに注意してください。

B: この配列を使用して paySign パラメーターを生成します。署名方法は上記と同じです。

C: paySign パラメータを array_jsapi 配列に追加します。

D: json_encode を使用して配列を文字列 js_string にフォーマットします。

上記の作業が完了したら、WeChat内で支払いが可能になります。

以下は関連する支払いのサンプルコードです:

リーリー

コード内の js_string は、私たちが生成した文字列です。

HTML コードで callpay() 関数を呼び出して、支払いを開始します。

これでWeChat Payの支払い作業は完了です。

以下はコールバック作業です。この関数は、注文の支払いが成功した後に正しいステータスがユーザーに表示されるようにします。

支払いが完了すると、WeChat は POST リクエストを使用して支払い結果を Web サイトサーバーにフィードバックし、Web サイトサーバーは POST 情報を取得し、支払いが成功したかどうかに基づいて注文情報を変更するかどうかを決定します。

A: POST パラメーターの記号を削除し、値を記録します。

B: 残りのパラメータに署名します

C: 署名結果を POST の署名と比較します。署名が同じであれば、支払い結果に基づいて注文ステータスを変更します。

E: XML 情報を WeChat に返して、Web サイトが通知を受信したことを WeChat が認識できるようにし、WeChat が再度 POST をプッシュしないようにします。 例は次のとおりです。 リーリー

失敗した場合は返却

リーリー

この時点で、WeChat Payment の開発全体が紹介されます。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1058152.html技術記事 PHP を使用した WeChat 決済の開発プロセスについて簡単に説明しましょう。PHP 言語を例として、WeChat 決済の開発プロセスについて説明します。 1. 注文情報を取得します 2. 注文書に従って...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles