ホームページ WeChat アプレット WeChatの開発 WeChat パブリック アカウント開発のための WeChat 支払い

WeChat パブリック アカウント開発のための WeChat 支払い

Feb 22, 2017 pm 04:02 PM
WeChatの公開アカウント

数日前、会社のプロジェクトの要件により、WeChat を使用してオンライン リチャージするための機能を作成したいと思いました。これは、WeChat ブラウザーで Web ページをクリックして WeChat 支払いを呼び出すものです。次に、開発プロセスについて簡単に説明します。 WeChat 支払いの 公式アカウント支払い :

まず第一に、あなたの公式アカウントは 認定されたサービス アカウントである必要があり、コードを開発して記述する前に、WeChat 支払いの許可が有効化されている必要があります。支払いを設定する必要があります。その後の操作を容易にするための関連情報 有効化後、公式アカウント販売者プラットフォームのバックグラウンド ログインに関連する情報が含まれる電子メールが送信されます。 販売者プラットフォームにログインした後、キーを設定します。 ->アカウント設定->APIセキュリティ、これは後で使用されます

微信公众号开发之微信支付 アカウントパラメータの説明


メール内のパラメータAPPIDWeChat決済加盟店番号APIキーAppsecret
APIパラメータ名 詳細説明
appid appid パブリックプラットフォームでパブリックアカウントを申請した後、またはオープンプラットフォームでAPPアカウントを申請した後の、WeChatパブリックアカウントまたはオープンプラットフォームAPPの一意の識別子です。 , WeChat はアプリケーションを識別するために、対応する appid を自動的に割り当てます。このフィールドの値は、販売者の WeChat Payment 承認メールにも含まれます。
mch_id 加盟店がWeChatペイメントを申請した後、WeChatペイメントによって割り当てられる加盟店の支払いアカウント。
key 取引プロセス中の署名によって生成されたキーは、販売者システムとWeChat支払いのバックグラウンドにのみ保持され、ネットワーク内に拡散することはありません。マーチャントは、キーが漏洩しないように、キーを適切に保管し、ネットワーク上で送信したり、他のクライアントに保管したりしないようにする必要があります。販売者は、設定する電子メールのプロンプトに従って WeChat 販売者プラットフォームにログインできます。
secret AppSecret は、APPID に対応するインターフェースのパスワードであり、インターフェース呼び出し資格情報 access_token を取得するために使用されます。 WeChat 支払いでは、最初に OAuth2.0 インターフェイスを通じてユーザーの openid が取得され、この openid は WeChat 内の Web 支払いモードの注文インターフェイスによって使用されます。開発モードで AppSecret を取得します (開発者になり、アカウントに異常がない状態)。


これらを完了したら、公式アカウントの支払いのビジネスプロセスも理解する必要があります:

微信公众号开发之微信支付

主要な加盟店システムとWeChat支払いシステムアクション:

1. マーチャントサーバーは、統合注文インターフェースを呼び出して注文をリクエストします。API については、前払い注文をリクエストする前に、WeChat OAuth2.0 Web ページを呼び出す必要があります。ユーザーがユーザーの WeChat OpenId を取得するためのコードです。ここでは詳しく説明しません。以下は、前払い注文のコード実装です。

string timeStamp = TenPayUtil.GetTimestamp();
                string nonceStr = TenPayUtil.GetNoncestr();
                string paySign = string.Empty;

                //创建支付应答对象
                var packageReqHandler = new RequestHandler(null);

                string spbill_create_ip = Request.UserHostAddress;

                //初始化
                //packageReqHandler.Init();
                //packageReqHandler.SetKey(TenPayInfo.Key);
                //设置package订单参数
                packageReqHandler.SetParameter("appid", appID); //公众账号ID
                packageReqHandler.SetParameter("body", StrUtil.GetCutString(productName, 100)); //不能超过127个字符
                packageReqHandler.SetParameter("mch_id", mchid); //商户号
                packageReqHandler.SetParameter("nonce_str", nonceStr.ToLower()); //随机字符串
                packageReqHandler.SetParameter("notify_url", notifyUrl); //接收财付通通知的URL
                packageReqHandler.SetParameter("openid", openId); //openid
                packageReqHandler.SetParameter("out_trade_no", sp_billno); //商家订单号
                // packageReqHandler.SetParameter("attach", "");          //附加数据  未来可用于区分不同微信支付业务
                packageReqHandler.SetParameter("spbill_create_ip", spbill_create_ip); //用户的公网ip,不是商户服务器IP
                packageReqHandler.SetParameter("total_fee", (onlinePayMoney * 100).ToString("0")); //商品金额,以分为单位(money * 100).ToString()
                packageReqHandler.SetParameter("trade_type", "JSAPI"); //交易类型

                //获取package包
                string sign = packageReqHandler.CreateMd5Sign("key", TenPayInfo.Key);
                packageReqHandler.SetParameter("sign", sign); //交易类型
                string data = packageReqHandler.ParseXML();
                LoggerHelper.Log(data);
                
                //调用统一下单接口请求订单
                var result = TenPayV3Service.Unifiedorder(data);
                LoggerHelper.Log(result);

                var res = XDocument.Parse(result);

                string prepayId = string.Empty;
                if (res.Element("xml").Element("return_code").Value == "SUCCESS")
                {
                    prepayId = res.Element("xml").Element("prepay_id").Value;
                }

                string package = string.Format("prepay_id={0}", prepayId);
                timeStamp = TenPayUtil.GetTimestamp();

                //设置支付参数
                var paySignReqHandler = new RequestHandler(null);
                paySignReqHandler.SetParameter("appId", appID);
                paySignReqHandler.SetParameter("timeStamp", timeStamp);
                paySignReqHandler.SetParameter("nonceStr", nonceStr);
                paySignReqHandler.SetParameter("package", package);
                paySignReqHandler.SetParameter("signType", "MD5");
                paySign = paySignReqHandler.CreateMd5Sign("key", TenPayInfo.Key);

                //将信息传递给支付页面
                ViewBag.appId = appID;
                ViewBag.timeStamp = timeStamp;
                ViewBag.nonceStr = nonceStr;
                ViewBag.package = package;
                ViewBag.paySign = paySign;
ログイン後にコピー

2. 加盟店サーバーは支払い通知を受け取り、API はパブリック API【支払い結果通知 API】にあります

<script type="text/javascript">        // 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。
        document.addEventListener(&#39;WeixinJSBridgeReady&#39;, function onBridgeReady() {
            $(function () {                //公众号支付
                jQuery(&#39;#getBrandWCPayRequest&#39;).click(function (e) {
                    WeixinJSBridge.invoke(&#39;getBrandWCPayRequest&#39;, {                        "appId": "@ViewBag.appId", //公众号名称
                        "timeStamp": "@ViewBag.timeStamp", //时间戳
                        "nonceStr": "@ViewBag.nonceStr", //随机串
                        "package": "@Html.Raw(ViewBag.package.ToString())",//扩展包
                        "signType": "MD5", //微信签名方式
                        "paySign": "@ViewBag.paySign" //微信签名                    }, function (res) {                        if (res.err_msg == "get_brand_wcpay_request:ok") {                            //alert("微信支付成功!");
                            window.location.href = "@WxPaySettingConfig.WmallURL/Wmall/TradePay/Success/@ViewBag.ShopId/?orderNo=@orderNoMark";
                        }                        else if (res.err_msg == "get_brand_wcpay_request:cancel") {                            //alert("用户取消支付!");                        }                        else {
                            window.location.href = "/wxpay/jsapi/error/?isPayFail=1&csid=@ViewBag.ShopId&orderNo=@orderNoMark&biztype=1";    
                        }                        // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。                        //因此微信团队建议,当收到ok返回时,向商户后台询问是否收到交易成功的通知,若收到通知,前端展示交易成功的界面;若此时未收到通知,商户后台主动调用查询订单接口,查询订单的当前状态,并反馈给前端展示相应的界面。                    });
                });
            });            //WeixinJSBridge.log(&#39;yo~ ready.&#39;);
        }, false);    </script>
ログイン後にコピー

WeChat パブリック アカウント開発に関する WeChat 支払い関連記事の詳細はこちら、PHP 中国語 Web サイトに注意してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Scrapy は WeChat パブリック アカウント記事のクロールと分析を実装します Scrapy は WeChat パブリック アカウント記事のクロールと分析を実装します Jun 22, 2023 am 09:41 AM

Scrapy は記事のクローリングと WeChat パブリックアカウントの分析を実装します 近年人気のソーシャルメディアアプリケーションである WeChat で運用されているパブリックアカウントも非常に重要な役割を果たしています。誰もが知っているように、WeChat の公開アカウントは記事、グラフィック メッセージ、その他の情報を公開できるため、情報と知識の海です。この情報は、メディア報道、学術研究など、さまざまな分野で広く使用できます。そこで、この記事では、Scrapy フレームワークを使用して WeChat パブリック アカウントの記事をクロールおよび分析する方法を紹介します。 Scr

WeChat公式アカウント認証と非認証の違いは何ですか? WeChat公式アカウント認証と非認証の違いは何ですか? Sep 19, 2023 pm 02:15 PM

WeChat パブリック アカウント認証と非認証の違いは、認証ロゴ、機能権限、プッシュ頻度、インターフェイス権限、およびユーザーの信頼にあります。詳細な紹介: 1. 認証ロゴ. 認証されたパブリック アカウントは、青い V ロゴである公式認証ロゴを取得します. このロゴは、パブリック アカウントの信頼性と権威を高め、ユーザーが本物の公式パブリック アカウントを識別しやすくします。 ; 2. 機能の権限: 認証されたパブリック アカウントには、非認証のパブリック アカウントよりも多くの機能と権限があります。たとえば、認証されたパブリック アカウントは、オンライン決済や商用操作などを実現するための WeChat 支払い機能の有効化を申請できます。

Python での実践的なクローラー戦闘: WeChat パブリック アカウント クローラー Python での実践的なクローラー戦闘: WeChat パブリック アカウント クローラー Jun 10, 2023 am 09:01 AM

Python は、強力なデータ処理機能と Web クローリング機能を備えたエレガントなプログラミング言語です。デジタル時代において、インターネットには大量のデータが溢れており、クローラはデータを取得する重要な手段となっており、Python クローラはデータ分析やマイニングに広く使用されています。この記事では、Python クローラーを使用して WeChat 公開アカウントの記事情報を取得する方法を紹介します。 WeChat 公式アカウントは、オンラインで記事を公開するための人気のソーシャル メディア プラットフォームであり、多くの企業やセルフメディアのプロモーションとマーケティングのための重要なツールです。

Laravel を使用して WeChat パブリック アカウントに基づいたオンライン注文システムを開発する方法 Laravel を使用して WeChat パブリック アカウントに基づいたオンライン注文システムを開発する方法 Nov 02, 2023 am 09:42 AM

Laravel を使用して WeChat 公式アカウントをベースにしたオンライン注文システムを開発する方法 WeChat 公式アカウントの普及に伴い、ますます多くの企業がオンライン マーケティングの重要なチャネルとして使用し始めています。ケータリング業界では、WeChat パブリック アカウントに基づいたオンライン注文システムを開発することで、企業の効率と売上を向上させることができます。この記事では、Laravel フレームワークを使用してそのようなシステムを開発する方法と、具体的なコード例を紹介します。プロジェクトの準備 まず、Laravel フレームワークがローカル環境にインストールされていることを確認する必要があります。わかりました

公式アカウントは1日1記事しか投稿できないのでしょうか? 公式アカウントは1日1記事しか投稿できないのでしょうか? Jun 16, 2023 pm 02:04 PM

公開アカウントでは、1 日に 1 つの記事を投稿できるだけでなく、一度に最大 8 つの記事を公開することができます 複数の記事を公開する方法: 1. 左側の「素材管理」をクリックし、「新しいグラフィックとテキスト素材」をクリックします。編集を開始します。最初の記事; 2. 最初の記事を編集したら、左側の最初の記事の下にある + 記号をクリックし、「画像とテキストメッセージ」をクリックして 2 番目の記事を編集します; 3. 複数の画像とテキストが完了したら、 をクリックします「保存して一括送信」で複数記事の公開が完了します。

PHP を使用して WeChat パブリック アカウント API インターフェイスを構築する PHP を使用して WeChat パブリック アカウント API インターフェイスを構築する May 13, 2023 pm 12:01 PM

今日のインターネット時代において、WeChat 公式アカウントはますます多くの企業にとって重要なマーケティング チャネルとなっています。 WeChat 公式アカウントにさらに多くの機能を実装したい場合は、多くの場合、対応するインターフェイスを作成する必要があります。この記事では、例として PHP 言語を使用して、WeChat パブリック アカウント API インターフェイスを構築する方法を紹介します。 1. 準備 WeChat パブリック アカウント API インターフェイスを作成する前に、開発者は WeChat パブリック アカウントを取得し、WeChat パブリック プラットフォームで開発者インターフェイスの権限を申請する必要があります。アプリケーションが成功すると、関連する開発者の AppID と AppSe を取得できます。

PHP および WeChat パブリック アカウント開発ガイド PHP および WeChat パブリック アカウント開発ガイド Jun 11, 2023 pm 03:31 PM

ソーシャル ネットワークで WeChat パブリック アカウントが徐々に普及するにつれて、ますます多くの開発者が WeChat パブリック アカウント開発の分野に関与し始めています。その中で、PHP は一般的なバックエンド プログラミング言語として、WeChat 公開アカウントの開発にも広く使用され始めています。この記事では、WeChat パブリック アカウント開発における PHP の基礎知識と一般的なテクニックを紹介します。 1. PHP および WeChat パブリック アカウント開発の基本 WeChat パブリック アカウントの開発 WeChat パブリック アカウントとは、情報プッシュなどのさまざまな種類のサービスやコンテンツをユーザーに提供できる、WeChat プラットフォームに基づくインターネット アプリケーションを指します。

Go 言語フレームワークを使用して WeChat パブリック アカウント アプリケーションを構築する Go 言語フレームワークを使用して WeChat パブリック アカウント アプリケーションを構築する Jun 04, 2023 am 10:40 AM

インターネットの普及とモバイルデバイスの普及により、WeChat 公式アカウントは企業のマーケティングに欠かせないものになりました。 WeChat パブリック アカウントを通じて、企業はユーザーと簡単に対話し、製品やサービスを宣伝し、ブランド認知度を高めることができます。 WeChat パブリック アカウント アプリケーションをより適切に開発するために、Go 言語を使用して WeChat パブリック アカウント アプリケーションを構築することを選択する開発者や企業がますます増えています。 Go 言語は Google によって開発されたプログラミング言語であり、その構文は簡潔であり、高性能で同時実行性の高いリアルタイム アプリケーションの構築に適しています。使いやすさの面でも、

See all articles