プロジェクトにおける一般的な支払い方法
注: この記事ではフロントエンドの観点からのみ説明します Alipay決済プロジェクトの難易度: このページは h5 ウェブページです。Alipay で支払うには、Alipay の承認を取得し、Alipay の API を呼び出す必要があります。 (認証方法については、「Alipay APIの呼び出し」を参照してください) Alipay 支払いの一般的なプロセスは次のとおりです。 注文インターフェースを呼び出して、注文番号、支払い金額などを取得します。 支払い手続き: 次の図はインターフェース文書、支払いインターフェースです Alipay を選択すると、radio=1 になります。 支払う(){ スイッチ(this.radio){ ケース '3': this.yuer(); 壊す; ケース '1': this.zhifubao(); ケース '0': this.getWechatCode(); } }, 志福宝(){ 支払いByZhifubao( { OutTradeNo:'Oct20200909095646265303127', // 販売者の注文番号。販売者の Web サイトの注文システムで唯一の注文番号です。必須です。販売者側は一意である必要があります。 件名:「モバイル ウェブサイト支払いテスト」、//トピック製品コード:「QUICK_WAP_WAY」、 body: "モバイル ウェブサイトの支払い説明情報", //製品の説明、オプション TotalAmount: 20 //支払い金額、必須} ).then(res=>{ コンソールログ(res); (res.code === 201)の場合{ // vuex にデータを保存します // this.$store.dispatch('addAliFrom', res.data.data) this.html = res.data; var フォーム = res.data; div 要素を document.createElement("div"); div.innerHTML = form; //ここでformはバックグラウンドによって返されるデータです。document.body.appendChild(div); ドキュメント.フォーム[0].送信(); //これを返します。$router.push('/aliPay') } それ以外 { アラート(res.data.msg)を返します。 } }) }, 微信ペイステップ: <div id="wechatcode" v-loading="読み込み中" element-loading-text="読み込み中" 要素読み込みスピナー="el-icon-loading" 要素読み込み背景="rgba(0, 0, 0, 0.8)"> </div> モジュールのインポート import QRCode from 'qrcodejs2' // qrcodeをインポート 以下はインターフェースデータ取得と操作QRコードです 取得Wechatコード() { モデル .getModel("wechatpay") 。得る({ 注文ID:this.注文ID }) .then(res => { (res.data.code == 200){ this.wechatPayUrl = res.data.resultData if(!this.flag){ // 重要なポイントはここにあり、残りはスイッチングビジネスロジックとインターフェース用です。let wechatcode = new QRCode('wechatcode', { 幅: 200, 高さ: 200, text: this.wechatPayUrl, // QRコードアドレス colorDark: "#000", カラーライト: "#fff", }) } this.flag = true this.loading = false this.isWechatCodeShow = true } }) }, WeChat がスキャンして支払いを済ませた後、バックエンド スタッフは支払い成功の結果を取得し、フロントエンド スタッフに返すことができます。その後、フロントエンド スタッフはインターフェイスを呼び出し続けて、支払いが行われたかどうかを確認するだけです。ここでは、ライフサイクルを使用してポーリングを行うことができ、ジャンプアウト後に破棄する必要があります。 マウント() { this.getWechatCode() //ポーリングを実装する this.interval = window.setInterval(() => { タイムアウトを設定します(this.getOrderStatus(), 0); }, 3000); }, 破棄する前に() { // ポーリングをクリアする clearInterval(this.interval) this.interval = null }, ここでの`getOrderStatus()メソッドは、バックエンドの支払いステータスを照会するためのものです。支払いページに正常にジャンプした場合は、If elseの判断を行うだけです。 これで、vueプロジェクトの支払い機能(WeChat支払いとAlipay支払い)の実装に関するこの記事は終了です。より関連性の高いvueプロジェクトの支払いコンテンツについては、123WORDPRESS.COMで以前の記事を検索するか、次の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMを応援してください。 以下もご興味があるかもしれません:
|
<<: ホバー画像のポップアウトポップアップ効果を実現するための純粋な CSS のサンプルコード
>>: HTML で複数のフォームのテキスト ボックスを揃える方法
目次配列をフラット化する方法1.flat() の使用2. 正規表現を使用する3.reduce()+c...
JSON 文字列を JSON オブジェクトに変換するにはどうすればいいですか? JSON.parse...
一番外側の boxF は 120 度回転し、2 番目の boxS は -60 度回転し、3 番目の ...
目次ネイティブJS GETリクエストの送信方法投稿リクエストの送信方法パラメータ付きのGETリクエス...
ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...
開発中に、非常に単純なテキストバブル効果に遭遇しました。これは、おおよそ次のようになります。 うーん...
ショートハンドプロパティは、複数のプロパティに同時に値を割り当てるために使用されます。たとえば、fo...
プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...
Linux はオープン システムです。インターネット上には、既成のプログラムやツールが多数存在します...
目次1. gojsの紹介2. Gojsのアプリケーションシナリオ3. gojs を選ぶ理由: 4. ...
Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...
書き方1: sas_order_supply_month_pay セットを更新 RECEIVE_TI...
この記事では、簡単なパズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な...
DOCTYPE 宣言 作成するすべてのページの先頭に、ドキュメント宣言が必要です。はい、そうでしょう...
このアイデアを改善し、より良い意見を得られることを期待して、議論を刺激するためにいくつかの値を大まか...