国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ WeChat アプレット WeChatの開発 .NETを利用してWeChat決済を解析する実裝方法

.NETを利用してWeChat決済を解析する実裝方法

Mar 17, 2017 pm 03:21 PM
asp.net ウィーチャットペイ

WeChatの普及に伴い、WeChatをベースに開発された一連の製品も登場していますので、興味のある方はWeChat決済の実裝方法を中心に紹介します。

少し前に WeChat 決済の Web バージョンを作成し、多くの問題に遭遇しましたが、最終的には解決されました。他の人に參考にしてもらうために、開発プロセスと手順をここに記録します。

1.準(zhǔn)備

まず、WeChat決済機(jī)能を有効化する必要があります。以前はWeChat決済を有効化するには30,000のデポジットが必要でしたが、現(xiàn)在は必要なくなりましたので、この機(jī)能が実裝されました。

WeChat 支払いを開発するには、公式アカウントのバックエンドと WeChat 販売者のバックエンドで関連する設(shè)定を行う必要があります。

1. 開発ディレクトリの設(shè)定

WeChat 決済では、公式アカウントのバックエンドに決済承認(rèn)ディレクトリを設(shè)定する必要があります (WeChat 決済 = "開発設(shè)定")。ここでの承認(rèn)されたディレクトリは、オンライン アドレス、つまり、インターネット経由でアクセスできるアドレスである必要があります。WeChat 支払いシステムは、インターネット経由であなたのアドレスにアクセスできる必要があります。

WeChat 承認(rèn)ディレクトリは、第 2 レベルまたは第 3 レベルのディレクトリまで正確である必要があります。例: 支払いを開始するリンクが http://www.hxfspace.net/weixin/WeXinPay/WeXinPayChoose の場合、設(shè)定されたディレクトリは http: //www.hxfspace.net/weixin/WeXinPay/ ここで、http://www.hxfspace.net はドメイン名、weixin はコントローラーである WeXinPay です。関連する支払いリクエストはすべて アクション に含まれます。 WeXinPayで。 U a 2、OAUTH2.0ウェブページ認(rèn)証ドメイン名設(shè)定

.NETを利用してWeChat決済を解析する実裝方法 WeChat決済は決済リクエストに合わせて認(rèn)証コード(CODE)を取得するため、ここで認(rèn)証ドメイン名を設(shè)定する必要があります。もちろん、ここでのドメイン名は、支払い承認(rèn)ディレクトリ內(nèi)のドメイン名と同じである必要があります。これを設(shè)定するのを忘れないでください。私はそれを設(shè)定するのを忘れて、泣きながら原因を探して長い時(shí)間を費(fèi)やしました。


3. 関連パラメータの準(zhǔn)備

WeChat 支払いを呼び出すには、スクリプトを通じて WeChat 支払いシステムへの支払いリクエストが必要です。パラメータの説明については、.NETを利用してWeChat決済を解析する実裝方法WeChat 公式 Web サイトの支払いプラットフォーム
https://pay.weixin を參照してください。 .qq.com/wiki /doc/api/jsapi.php?chapter=7_7&index=6


パッケージと paySign の生成には、開発者キー AppSecret (アプリケーション キー)、WeChat 販売アカウント、および WeChat 支払いキーが必要です

II、開発プロセス

.NETを利用してWeChat決済を解析する実裝方法 早速、整理した後のプロセスについて説明します。

1. WeChat 認(rèn)証コールバックを通じて認(rèn)証コードを取得します

2. Web ページと引き換えに認(rèn)証コードを使用します。 authorization access_token と openid

3 、統(tǒng)合注文インターフェイスを呼び出して prepayId を取得します

4. jsapi WeChat 支払いリクエスト パラメーターを設(shè)定し、支払いを開始します

5. 後続の操作で WeChat 支払いコールバックを受信します


3 . 具體的な開発 (上記のコード)


WeChat 決済はオンライン環(huán)境でのみ実行でき、調(diào)整が非常に不便であるため、開発時(shí)にすべての主要な場所でログを記録することが最善です。


1. WeChat 認(rèn)証コールバックを通じて認(rèn)証コードを取得します

まず、開始支払いアドレスと関連パラメーターを WeChat 支払いインターフェイスに渡します。WeChat 支払いが正常に受信され、確認(rèn)された後、支払いアドレスが再要求されます。認(rèn)証コード付き。

たとえば、私はここに reRroReee


String WeChat Web ページの承認(rèn)された URL メソッド


 //判斷是否網(wǎng)頁授權(quán),獲取授權(quán)code,沒有代表沒有授權(quán),構(gòu)造網(wǎng)頁授權(quán)獲取code,并重新請求
      if (string.IsNullOrEmpty(Request.QueryString["code"]))
      {
        string redirectUrl = _weChatPaySerivce.GetAuthorizeUrl(account.AppId, account.RedquestUrl,
          "STATE" + "#wechat_redirect", "snsapi_base");
        return Redirect(redirectUrl);
      }


2 を使用し、最初のステップから Web ページの Access_token と Openid

を交換して、得る最初のステップから 認(rèn)証コードを取得したら、Web ページの認(rèn)証リクエスト URL を組み合わせて、access_token と openid を取得します


public string GetAuthorizeUrl(string appId, string redirectUrl, string state, string scope)
    {
      string url = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state={3}",
          appId, HttpUtility.UrlEncode(redirectUrl), scope, state);
      /* 這一步發(fā)送之后,客戶會(huì)得到授權(quán)頁面,無論同意或拒絕,都會(huì)返回redirectUrl頁面。
       * 如果用戶同意授權(quán),頁面將跳轉(zhuǎn)至 redirect_uri/?code=CODE&state=STATE。這里的code用于換取access_token(和通用接口的access_token不通用)
       * 若用戶禁止授權(quán),則重定向后不會(huì)帶上code參數(shù),僅會(huì)帶上state參數(shù)redirect_uri?state=STATE
       */
      AppLog.Write("獲取到授權(quán)url:", AppLog.LogMessageType.Debug); 
      return url;
    }


3. 統(tǒng)合注文インターフェイスを呼び出して、前払い ID を取得します

ここでは、 RequestHandler は他のオンライン DLL によってパッケージ化されており、署名の生成と一部??の検証リクエストをカプセル化するのに役立ちます。 DLL は公式 Web サイト http://weixin.senparc.com/


 public Tuple<string, string> GetOpenidAndAccessTokenFromCode(string appId, string code, string appSecret)
    {
      Tuple<string, string> tuple = null;
      try
      {
        string url = string.Format("https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code", appId, appSecret, code);
        string result = WeChatPayHelper.Get(url);
        AppLog.Write("微信支付-獲取openid和access_token 請求Url:" + url + "result:" + result, AppLog.LogMessageType.Debug);
        if (!string.IsNullOrEmpty(result))
        {
          var jd=Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(result);
          tuple = new Tuple<string, string>(jd["openid"],jd["access_token"]);
          AppLog.Write("微信支付-獲取openid和access_token成功", AppLog.LogMessageType.Debug);
        }
      }
      catch (Exception ex)
      {
        AppLog.Write("微信支付:獲取openid和access_tokenu異常", AppLog.LogMessageType.Debug,ex);
      }
      return tuple;
    }


からダウンロードできます。 4. jsapi WeChat 支払いリクエスト パラメーターを設(shè)定し、支払いを開始します

我這里是首先組裝好微信支付所需要的參數(shù),然后再創(chuàng)建調(diào)用js腳本


//生成JsAPI支付參數(shù)
      RequestHandler paySignReqHandler = new RequestHandler(null);
      paySignReqHandler.SetParameter("appId", account.AppId);
      paySignReqHandler.SetParameter("timeStamp", timeStamp);
      paySignReqHandler.SetParameter("nonceStr", nonceStr);
      paySignReqHandler.SetParameter("package", string.Format("prepay_id={0}", prepayId));
      paySignReqHandler.SetParameter("signType", "MD5");
      string paySign = paySignReqHandler.CreateMd5Sign("key", account.PaySignKey);
      WeChatJsPayRequestModel resultModel = new WeChatJsPayRequestModel
      {
        AppId = account.AppId,
        NonceStr = nonceStr,
        TimeStamp = timeStamp,
        Package = string.Format("prepay_id={0}", prepayId),
        PaySign = paySign,
        SignType = "MD5"
      };


創(chuàng)建調(diào)用腳本


private string CreateWeixinJs(WeChatJsPayRequestModel model)
    {
      string js = @"<script type=&#39;text/javascript&#39;>
                callpay();
                function jsApiCall(){
                 WeixinJSBridge.invoke(
                  &#39;getBrandWCPayRequest&#39;, {
                    requestParam
                  },
                  function (res) {
                    if(res.err_msg == &#39;get_brand_wcpay_request:ok&#39; ){
                        window.location.href = &#39;successUrl&#39;;
                    }else{
                        window.location.href = &#39;failUrl&#39;;
                    }
                  }
                 ); 
                }
               function callpay()
                {
                  if (typeof WeixinJSBridge == &#39;undefined&#39;){
                    if( document.addEventListener ){
                      document.addEventListener(&#39;WeixinJSBridgeReady&#39;, jsApiCall, false);
                    }else if (document.attachEvent){
                      document.attachEvent(&#39;WeixinJSBridgeReady&#39;, jsApiCall); 
                      document.attachEvent(&#39;onWeixinJSBridgeReady&#39;, jsApiCall);
                    }
                  }else{
                    jsApiCall();
                  }
                }
            </script>";
      string requestParam = string.Format(@"&#39;appId&#39;: &#39;{0}&#39;,&#39;timeStamp&#39;: &#39;{1}&#39;,&#39;nonceStr&#39;: &#39;{2}&#39;,&#39;package&#39;: &#39;{3}&#39;,&#39;signType&#39;: &#39;{4}&#39;,&#39;paySign&#39;: &#39;{5}&#39;",
        model.AppId, model.TimeStamp, model.NonceStr, model.Package, model.SignType, model.PaySign);
      js = js.Replace("requestParam", requestParam)
        .Replace("successUrl", model.JumpUrl + "&result=1")
        .Replace("failUrl", model.JumpUrl + "&result=0");
      AppLog.Write("生成可執(zhí)行腳本成功", AppLog.LogMessageType.Debug);
      return js;
    }


5、接收微信支付回調(diào)進(jìn)行后續(xù)操作

回調(diào)的時(shí)候首先需要驗(yàn)證簽名是否正確,保證安全性,簽名驗(yàn)證通過之后再進(jìn)行后續(xù)的操作,訂單狀態(tài)、通知啥的。


ResponseHandler resHandler = new ResponseHandler(System.Web.HttpContext.Current);
      bool isSuccess = _weChatPaySerivce.ProcessNotify(resHandler);
      if (isSuccess)
      {
        string result = @"<xml>
                  <return_code><![CDATA[SUCCESS]]></return_code>
                  <return_msg><![CDATA[支付成功]]></return_msg>
                 </xml>";
        HttpContext.Response.Write(result);
        HttpContext.Response.End();
      }
      return new EmptyResult();


這里有一點(diǎn)需要注意,就是微信支付回調(diào)的時(shí)候微信會(huì)通知八次,好像是這個(gè)數(shù)吧,所以你需要在第一次收到通知之后,把收到請求這個(gè)狀態(tài)以xml的格式響應(yīng)給微信支付接口。當(dāng)然你不進(jìn)行這個(gè)操作也是可以的,再回調(diào)的時(shí)候 每次去判斷該訂單是否已經(jīng)回調(diào)成功,回調(diào)成功則不進(jìn)行處理就可以了。


以上が.NETを利用してWeChat決済を解析する実裝方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中國語版

SublimeText3 中國語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

WeChat 支払いのパスワードを忘れた場合、どのように取得すればよいですか? WeChat 支払いのパスワードを忘れた場合、どのように取得すればよいですか? Feb 23, 2024 pm 09:40 PM

WeChat では、ユーザーは支払いパスワードを入力して購入できますが、支払いパスワードを忘れた場合はどうすればよいでしょうか?ユーザーが支払いパスワードを忘れた場合は、[マイサービス] - [ウォレット] - [支払い設(shè)定] - に移動(dòng)して支払いパスワードを回復(fù)する必要があります。決済パスワードを忘れた場合の確認(rèn)方法については、具體的な操作方法を以下で詳しくご紹介しますので、ぜひご覧ください。 WeChat の使い方チュートリアル. WeChat の支払いパスワードを忘れた場合、どのように確認(rèn)しますか? 回答: マイサービス - ウォレット - 支払い設(shè)定 - 支払いパスワードを忘れた場合 具體的な方法: 1. まず、[マイ] をクリックします。 2. 中のサービスをクリックします。 3. 內(nèi)部のウォレットをクリックします。 4. 支払い設(shè)定を見つけます。 5. 「支払いパスワードを忘れた場合」をクリックします。 6. 確認(rèn)のために自分の情報(bào)を入力します。 7. 次に、新しい支払いパスワードを入力して変更します。

WeChat 支払いのパスワードを忘れた場合はどうすればよいですか? WeChat 支払いのパスワードを忘れた場合はどうすればよいですか? Jan 08, 2024 pm 05:02 PM

WeChat 支払いパスワードを忘れた場合の解決策: 1. WeChat アプリを開き、右下隅の「I」をクリックしてパーソナル センター ページに入ります; 2. パーソナル センター ページで、「支払う」をクリックして支払いページに入ります; 3.支払いページで、右上隅の「...」をクリックして支払い管理ページに入ります; 4. 支払い管理ページで、「支払いパスワードを忘れた場合」を見つけてクリックします; 5. ページの指示に従って、個(gè)人情報(bào)を入力します。本人確認(rèn)が完了すると、「顔をスワイプして取得する」または「キャッシュカード情報(bào)を認(rèn)証して取得する」方法からパスワードなどを取得することができます。

Meituan Takeout の WeChat 支払いの設(shè)定方法 WeChat 支払いの設(shè)定方法 Meituan Takeout の WeChat 支払いの設(shè)定方法 WeChat 支払いの設(shè)定方法 Mar 12, 2024 pm 10:34 PM

Meituan テイクアウト アプリには多くの食品や軽食の店があり、すべての攜帯電話ユーザーは自分のアカウントを通じてログインします。個(gè)人の配達(dá)先住所と連絡(luò)先番號を追加して、最も便利なテイクアウト サービスをお楽しみください。ソフトウェアのホームページを開き、製品キーワードを入力し、オンラインで検索すると、対応する製品の結(jié)果が表示されます。上下にスワイプするだけで購入して注文できます。また、プラットフォームは、配達(dá)先住所に基づいて、レビューの高い近くの數(shù)十のレストランを推奨しますユーザーが提供する. ストアはさまざまな支払い方法も設(shè)定できます. ワンクリックで注文を完了できます. ライダーはすぐに配達(dá)を手配でき、配達(dá)速度は非常に速いです. テイクアウト用の赤い封筒もあります. Meituan のテイクアウト ユーザー向けにエディターがオンラインで詳細(xì)に表示され、WeChat 支払いの設(shè)定方法を説明します。 1. 製品を選択した後、注文を送信し、[今すぐ] をクリックします。

Xianyu は WeChat で支払うことができますか? WeChat 支払い方法に変更するにはどうすればよいですか? Xianyu は WeChat で支払うことができますか? WeChat 支払い方法に変更するにはどうすればよいですか? Mar 12, 2024 pm 12:19 PM

誰もが何もすることがないとき、Xianyuプラットフォームを閲覧することを選択します.このプラットフォームには多數(shù)の製品があることがわかり、誰もがさまざまな中古製品を見ることができます.これらの製品は中古品ですが、商品の品質(zhì)には全く問題はございませんので、どなたでも安心してご購入いただけますし、価格も非常にお手頃でありながら、どなたでも気軽に商品を手に取ることができます。コミュニケーションをとり、価格交渉を行います。全員が適切に交渉している限り、取引を行うことを選択できます。ここで全員が支払いをするときに、WeChat 支払いをしたいのですが、プラットフォームでは許可されていないようです。編集者をフォローしてください。具體的にどのような狀況なのかを知るためです。項(xiàng)羽

WeChat 支払いは支払いが成功した後すぐにキャンセルできますか? WeChat 支払いは支払いが成功した後すぐにキャンセルできますか? Nov 29, 2023 pm 02:19 PM

WeChat 支払いは、支払いが成功した後すぐにキャンセルすることはできません。返金は通常、次の條件を満たす必要があります: 1. 販売者の返金ポリシー 販売者は、返金期間、返金金額、返金方法を含む獨(dú)自の返金ポリシーを策定します; 2. 支払時(shí)期、返金には通常、一定の期間內(nèi)に適用する必要があります。 3. 商品またはサービスのステータス ユーザーが商品を受け取った、またはサービスを享受した場合、販売者はユーザーに商品の返品または対応する証拠の提出を要求する場合があります。プロセスなど

Didi Chuxing で WeChat 支払いを設(shè)定する方法 WeChat 支払いを設(shè)定する方法 Didi Chuxing で WeChat 支払いを設(shè)定する方法 WeChat 支払いを設(shè)定する方法 Mar 13, 2024 pm 01:22 PM

Didi Chuxing アプリは、誰もが毎日の旅行をさらに便利にします。どこにでも行きたいところに行くことができ、すべての Didi 車両が待機(jī)しています。心配して待つ必要はもうありません。何十ものタクシー用赤い封筒が無料で入手できます。より速く移動(dòng)できます。ソフトウェアのホームページを開き、個(gè)人の旅程に従って出発地と目的地を入力し、以下のさまざまな価格の車両から自由に選択してください。ワンクリックで注文し、旅程を公開してください。Didi ドライバーは數(shù)秒で注文を受け取り、到著します。指定された場所にできるだけ早く到著します 場所は、バスに乗る前に攜帯電話番號を確認(rèn)するだけです もちろん、運(yùn)賃の支払い方法は WeChat や Alipay などたくさんありますが、通常は誰もが WeChat を使用します。ワンクリックで支払いを簡単に設(shè)定できます。編集者はオンラインで 1 つずつ注意深く滴滴の支払いを行っています。旅行ユーザーが WeChat 支払いの設(shè)定方法を紹介しています。 1. 私たちは攜帯電話を使っています

WeChat Pay で返金を申請する手順を共有する WeChat Pay で返金を申請する手順を共有する Mar 25, 2024 pm 06:31 PM

1. まず、攜帯電話で WeChat アプリを開き、クリックして WeChat アカウントにログインし、WeChat ホームページに入ります。 2. WeChat ホームページの右下隅にある [自分] ボタンをクリックし、[支払い] オプションを選択して、支払いページに入ります。 3. [Payment] ページに入ったら、[Wallet] オプションをクリックして入り、[Wallet] ページの右上隅にある [Bill] をクリックします。

なぜDouyinはWeChatで支払えないのでしょうか? WeChatのログイン許可を取得するにはどうすればよいですか? なぜDouyinはWeChatで支払えないのでしょうか? WeChatのログイン許可を取得するにはどうすればよいですか? Mar 07, 2024 pm 01:07 PM

ソーシャルメディアと電子商取引が急成長する今日の時(shí)代において、Douyin は人気のショートビデオプラットフォームとして數(shù)億人のユーザーの注目を集めています。しかし、便利な支払い方法であるWeChat PayがDouyinではなぜ使えないのか困惑するユーザーもいるかもしれない。この制限の背後にある理由は何ですか?それを掘り下げてみましょう。 1. Douyin では WeChat で支払えないのはなぜですか? Douyin は Tencent と直接関係がないため、その支払いチャネルは特定の制限を受ける可能性があります。 Tencent が所有する決済ツールである WeChat Pay は競合他社との協(xié)力に慎重である可能性があり、その結(jié)果、Douyin で WeChat Pay が利用できなくなる可能性があります。 Tencent と ByteDance (Douyin の親會(huì)社) は、ソーシャル ネットワーキングや電子商取引などの複數(shù)の分野で競合しています。したがって、Douyin でのマイクロブログの使用は制限されています。

See all articles