ユーザーインターフェイスへのエンタープライズ転送のアクティブ化
今回は、エンタープライズユーザーインターフェイスへの転送の有効化について説明します。エンタープライズユーザーインターフェイスへの転送を有効にするための注意事項を紹介します。実際のケースを見てみましょう。
WeChat 公式アカウント支払い API にはそのようなインターフェイスはありません。企業がユーザーに お金を送金したり、ユーザーに現金を引き出すことを許可したり、ユーザーに 赤い封筒を送ったりする必要がある場合。マーチャントプラットフォームの製品センターで個別にオープンされます。
1. 機能の有効化
有効化はワンクリックで非常に簡単です。ただし、ユーザーへの送金をサポートするアカウントとユーザーからの支払いを受け取るアカウントは同じではないことに注意してください。この機能を満たすためには、まず Tenpay でチャージする必要があります (トランザクション センター - 資金管理 -)。 -充電) 。
2. 証明書をダウンロードします
証明書はアカウント センター - API セキュリティでダウンロードされます。携帯電話の 認証コード と販売者プラットフォームのログイン パスワードが必要です。ダウンロード後、Windows にインストールします。インストール用のパスワードは加盟店番号です。
インストール後、次のステップのコードで検証するために証明書を Web サイトのディレクトリに配置します。
3. 転送
現在WeChatで提供されているデモにはこの部分が含まれていません。公式デモをベースにいくつか修正を加えてみましょう。前の例と同様に、パラメーターを操作するには WxPayData オブジェクトを使用する必要があります。 TransfersPay オブジェクトを定義します。
public class TransfersPay { public string openid { get; set; } public int amount { get; set; } public string partner_trade_no { get; set; } public string re_user_name { get; set; } public string spbill_create_ip { get; set; } public WxPayData GetTransfersApiParameters() { WxPayData apiParam = new WxPayData(); apiParam.SetValue("partner_trade_no", partner_trade_no); apiParam.SetValue("openid", openid); apiParam.SetValue("check_name", "NO_CHECK"); apiParam.SetValue("amount", amount); apiParam.SetValue("desc", "提现"); apiParam.SetValue("spbill_create_ip", spbill_create_ip); apiParam.SetValue("re_user_name", re_user_name); return apiParam; } }
公式デモの WxpayApi には、公式アカウントの支払いに関連するメソッドがすでに含まれています。送金するために別の Transfers メソッドを追加します:
public static WxPayData Transfers(WxPayData inputData, int timeOut = 6) { var url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"; inputData.SetValue("mch_appid", WxPayConfig.APPID);//公众账号ID inputData.SetValue("mchid", WxPayConfig.MCHID);//商户号 inputData.SetValue("nonce_str", WxPayApi.GenerateNonceStr());//随机字符串 inputData.SetValue("sign", inputData.MakeSign());//签名 string xml = inputData.ToXml(); var start = DateTime.Now; string response = HttpService.Post(xml, url, true, timeOut); // Portal.MVC.Logger.Info("WxPayApi"+ "UnfiedOrder response : " + response); var end = DateTime.Now; int timeCost = (int)((end - start).TotalMilliseconds); WxPayData result = new WxPayData(); result.FromXml(response); ReportCostTime(url, timeCost, result);//测速上报 return result; }
注意する必要があるのは、いくつかのデフォルト パラメータの名前が、appid や mch_id などの他のメソッドとは異なることです。転送では、これらは mch_appid および mchid であり、赤い封筒では、wxappid および mch_id とも呼ばれます。次に、httpService.post メソッドの 3 番目のパラメータが true であることに注目してください。つまり、証明書が使用されます。投稿メソッドを入力すると、次のことがわかります:
//是否使用证书 if (isUseCert) { string path = HttpContext.Current.Request.PhysicalApplicationPath; X509Certificate2 cert = new X509Certificate2(path + WxPayConfig.SSLCERT_PATH, WxPayConfig.SSLCERT_PASSWORD); request.ClientCertificates.Add(cert); Log.Debug("WxPayApi", "PostXml used cert"); }
ここでは証明書のパスとパスワードが使用されており、パスワードは販売者番号です。すべての準備ができたら、コントローラーで送金できます:
[LoginValid] public ActionResult CashTransfers(string orderNumber) { //var order = new Order(){Amount = 1}; // var openid = "oBSBmwQjqwjfzQlKsFNjxFLSixxx"; var user = _workContext.CurrentUser; var order = _paymentService.GetOrderByOrderNumber(orderNumber); var transfer = new TransfersPay { openid = user.OpenId, amount = (int) order.Amount*100, partner_trade_no = order.OrderNumber, re_user_name = "stoneniqiu", spbill_create_ip = _webHelper.GetCurrentIpAddress() }; var data = transfer.GetTransfersApiParameters(); var result = WxPayApi.Transfers(data); return Content(result.ToPrintStr()); }
結果を取得
このようにして、送金/出金機能が実現されます。
リリース
正式な環境では、最初に独自の注文を作成し、次に WeChat への転送をリクエストし、成功後に注文を処理する必要があります。 CashTransfers メソッドをわずかに調整しました。
[LoginValid] public ActionResult CashTransfers(string orderNumber) { var user = _workContext.CurrentUser; var order = _paymentService.GetOrderByOrderNumber(orderNumber); if (string.IsNullOrEmpty(user.OpenId)) { return Json(new PortalResult("请用微信登录!")); } if (order == null || order.OrderState != OrderState.Padding) { return Json(new PortalResult("订单有误!")); } var transfer = new TransfersPay { openid = user.OpenId, amount = (int) order.Amount*100, partner_trade_no = order.OrderNumber, re_user_name = "stoneniqiu", spbill_create_ip = _webHelper.GetCurrentIpAddress() }; var data = transfer.GetTransfersApiParameters(); var result = WxPayApi.Transfers(data); if (result.GetValue("result_code").ToString() == "SUCCESS") { return Json(new PortalResult(true, "提现成功")); } return Json(new PortalResult(false, result.GetValue("return_msg").ToString())); }
もう 1 つの注意点は、公開後に操作タイムアウト エラーが常に発生することです。タイムアウトを 30 秒に変更することをお勧めします。デフォルトの 6 秒ではタイムアウトが発生する可能性があります。 まとめてご注文の場合も同様となります。
public static WxPayData Transfers(WxPayData inputData, int timeOut = 30)
ビジネスアカウントのお金がなくなった場合は、次のプロンプトが表示されます:
この記事のケースを読んだ後は、この方法を習得したと思います。さらに興味深い情報については、他の関連情報に注意してください。 php 中国語 Web サイトに記事が掲載されました。
推奨読書:
以上がユーザーインターフェイスへのエンタープライズ転送のアクティブ化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











ソーシャルメディアの急速な発展に伴い、Xiaohongshuは最も人気のあるソーシャルプラットフォームの1つになりました。ユーザーは、Xiaohongshu アカウントを作成して自分の個人情報を示し、他のユーザーと通信し、対話することができます。ユーザーの小紅樹番号を見つける必要がある場合は、次の簡単な手順に従ってください。 1. Xiaohonshu アカウントを使用してユーザーを見つけるにはどうすればよいですか? 1. 小紅書アプリを開き、右下隅の「検出」ボタンをクリックして、「メモ」オプションを選択します。 2. ノート一覧で、探したいユーザーが投稿したノートを見つけます。クリックしてノートの詳細ページに入ります。 3. ノートの詳細ページで、ユーザーのアバターの下にある「フォロー」ボタンをクリックして、ユーザーの個人ホームページに入ります。 4. ユーザーの個人ホームページの右上隅にある三点ボタンをクリックし、「個人情報」を選択します。

Ubuntu システムでは、通常、root ユーザーは無効になっています。 root ユーザーをアクティブにするには、passwd コマンドを使用してパスワードを設定し、su-コマンドを使用して root としてログインします。 root ユーザーは、無制限のシステム管理権限を持つユーザーです。彼は、ファイルへのアクセスと変更、ユーザー管理、ソフトウェアのインストールと削除、およびシステム構成の変更を行う権限を持っています。 root ユーザーと一般ユーザーの間には明らかな違いがあり、root ユーザーはシステム内で最高の権限とより広範な制御権限を持ちます。 root ユーザーは、一般のユーザーでは実行できない重要なシステム コマンドを実行したり、システム ファイルを編集したりできます。このガイドでは、Ubuntu の root ユーザー、root としてログインする方法、および通常のユーザーとの違いについて説明します。知らせ

世界最大のショートビデオプラットフォームの 1 つとして、Douyin は多くのブランドや企業の注目を集めています。 Douyin での広告は、多くの企業にとって宣伝とプロモーションの重要な手段です。では、Douyin 広告共有モデルを有効にするにはどうすればよいでしょうか?この問題については以下で説明します。 1.Douyin 広告共有を有効にするにはどうすればよいですか? Douyin 広告共有を有効にするには、次の手順を実行する必要があります。 登録とログイン: Douyin 広告プラットフォームにアカウントを登録し、このアカウントを使用して広告主のバックエンドにログインします。広告プランの作成: 広告主のバックエンドで、広告プランの作成を選択し、広告の種類、配信期間、予算などの関連する広告情報を入力します。ターゲット層の設定:製品やサービスの特性に基づいて、適切なターゲット層を選択し、地域、年齢、性別などのターゲティング条件を設定します。システム

パソコンを組み立てる際、設置作業は簡単ですが、誤ってCPUラジエーターの電源線をSYS_FANに差し込んでしまうなど、配線に問題が発生することが多く、ファンは回転しますが、ファンが回転しない場合があります。コンピュータの電源がオンになると、F1 エラー「CPUFanError」が発生し、CPU クーラーがインテリジェントに速度を調整できなくなります。コンピューターのマザーボード上の CPU_FAN、SYS_FAN、CHA_FAN、および CPU_OPT インターフェイスに関する一般的な知識を共有しましょう。コンピュータのマザーボード上の CPU_FAN、SYS_FAN、CHA_FAN、および CPU_OPT インターフェイスに関する一般科学 1. CPU_FANCPU_FAN は、CPU ラジエーター専用のインターフェイスであり、12V で動作します。

WeChat は Tencent によって開始されたインスタント メッセージング アプリケーションであり、クロスプラットフォームおよびクロスオペレーターのメッセージ送受信をサポートし、音声、ビデオ チャット、モーメントでの共有などの豊富な機能を備えており、大多数のユーザーに深く愛されています。 WeChat Pay は WeChat Wallet の支払い機能であり、ユーザーにより便利な支払い体験を提供します。 WeChat Payを有効にする方法を学びましょう。 WeChat Payをアクティベートするにはどうすればよいですか? WeChat Pay アクティベーション設定 1. 携帯電話で WeChat を開き、右下隅の [Me] をクリックして個人ホームページに入ります。 2. [Service] オプションをクリックします。 3. [ウォレット]アイコンをクリックします。 4. [ウォレット] セクションで [分割支払い] をクリックして紹介ページに入ります。 5. お支払い紹介ページの下部にある [お支払い限度額を表示] ボタンをクリックします。 6. ディストリビューションをよく読んでください

最新の効率的なプログラミング言語である Go 言語には、開発者が高品質で保守可能なコードを作成するのに役立つ豊富なプログラミング パラダイムと設計パターンがあります。この記事では、Go 言語の一般的なプログラミング パラダイムと設計パターンを紹介し、具体的なコード例を示します。 1. オブジェクト指向プログラミング Go 言語では、構造体とメソッドを使用してオブジェクト指向プログラミングを実装できます。構造を定義し、その構造にメソッドをバインドすることにより、データのカプセル化と動作バインディングのオブジェクト指向機能を実現できます。パッケージマイニ

Linux システムにおけるユーザー パスワードの保存メカニズムの分析 Linux システムでは、ユーザー パスワードの保存は非常に重要なセキュリティ メカニズムの 1 つです。この記事では、パスワードの暗号化された保存、パスワード検証プロセス、ユーザー パスワードを安全に管理する方法など、Linux システムにおけるユーザー パスワードの保存メカニズムを分析します。同時に、具体的なコード例を使用して、パスワード保存の実際の操作プロセスを示します。 1. パスワードの暗号化された保管 Linux システムでは、ユーザーのパスワードは平文でシステムに保管されるのではなく、暗号化されて保管されます。 L

Oracle データベースは一般的に使用されるリレーショナル データベース管理システムですが、多くのユーザーはテーブル スペースの使用で問題に遭遇します。 Oracle データベースでは、ユーザーは複数の表スペースを持つことができ、データのストレージと編成をより適切に管理できます。この記事では、ユーザーが Oracle データベース内に複数のテーブルスペースを持つ方法を説明し、具体的なコード例を示します。 Oracle データベースでは、表スペースは、表、索引、ビューなどのオブジェクトを保管するために使用される論理構造です。すべてのデータベースには少なくとも 1 つのテーブルスペースがあります。
