国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Laravel教程: 3分鐘實現小程序微信支付接入(上)——喚起支付

Miracle_lihb / 3171人閱讀

摘要:微信支付的接入,如果不使用成熟的開發包,將是巨大的工作量。回調處理請見下文教程分鐘實現小程序微信支付接入下回調發貨邏輯已知異常如果你不添加,可能會報容器找不到這個應用的報錯。

微信支付的接入,如果不使用成熟的開發包,將是巨大的工作量。

依賴 EasyWechat

先在 laravel 項目中依賴 easywechat 這個包

composer require "overtrue/laravel-wechat":"^4.0"

配置
在 .env 中添加微信支付的 key 配置

WECHAT_PAYMENT_SANDBOX=false
WECHAT_PAYMENT_APPID=wx64c***
WECHAT_PAYMENT_MCH_ID=150***
WECHAT_PAYMENT_KEY=ZZDDD***
WECHAT_PAYMENT_CERT_PATH=/home/secret/apiclient_cert.pem
WECHAT_PAYMENT_KEY_PATH=/home/secret/apiclient_key.pem
WECHAT_PAYMENT_NOTIFY_URL=https://www.mysite.com/gateway/wxpay/callback

如果你需要額外的配置,可以運行 php artisan vendor:publish --provider="OvertrueLaravelWeChatServiceProvider" ,然后在 config/wechat.php 中可以看到 easywecaht 可以支持的全部配置。

編寫接口邏輯

新建一個 App/Repositories/PayRepository.php

wxpay = app("easywechat.payment");

        $unify = $this->wxpay->order->unify([
            "body" => $this->transfer->name . " " . $this->tickets->count() . "張票",
            "out_trade_no" => "訂單號",
            "total_fee" => bcmul("價格:單位元", 100),
            "trade_type" => "JSAPI",
            "openid" => $user->openid, // 用戶的openid
        ]);

        if ($unify["return_code"] === "SUCCESS" && !isset($unify["err_code"])) {
            $pay = [
                "appId" => config("wechat.payment.default.app_id"),
                "timeStamp" => (string) time(),
                "nonceStr" => $unify["nonce_str"],
                "package" => "prepay_id=" . $unify["prepay_id"],
                "signType" => "MD5",
            ];

            $pay["paySign"] = generate_sign($pay, config("wechat.payment.default.key"));

            return $pay;
        } else {
            $unify["return_code"] = "FAIL";
            return $unify;
        }
    }
}

新建一個 App/Http/Controllers/PayController.php

pay_repository = $pay_repository;
    }

    /**
     * 微信支付
     *
     * @return Response
     */
    public function pay()
    {
        $user = auth()->user();

        $pay = $this->pay_repository->pay($user);
        return Response::success(["pay" => $pay]);
    }
}

綁定路由 routes/api.php

name("pay");
編寫JS邏輯

在頁面 JS 里面編輯支付邏輯

    onPay: function (e) {
        wx.request({
            url: "/api/buy/pay",
            method: "POST",
            success: (res) => {
                if (res.data.pay.result_code != "SUCCESS") {
                    return wx.showModal({
                        content: res.data.pay.return_msg + res.data.pay.err_code_des,
                        showCancel: false
                    });
                }
                res.data.pay.success = (res) => {
                    wx.showModal({
                        content: "您已成功支付",
                        showCancel: false
                    });
                };

                res.data.pay.fail = (res) => {
                    if (res.errMsg == "requestPayment:fail cancel") {
                        return wx.showToast({
                            icon: "none",
                            title: "用戶取消支付",
                        });
                    }
                };

                wx.requestPayment(res.data.pay);
            }
        });
    },

在頁面按鈕上調用

效果

支付成功回調

關于回調處理請期待下一篇文章。~
回調處理請見下文:Laravel教程: 3分鐘實現小程序微信支付接入(下)——回調發貨邏輯

已知異常

如果你不添加.env,可能會報容器找不到這個應用的報錯。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29337.html

相關文章

  • Laravel教程: 3分鐘實現程序微信支付接入(下)——回調發貨邏輯

    摘要:接上文教程分鐘實現小程序微信支付接入上喚起支付編碼綁定回調路由注意前一篇文章的添加與此處路由的要保持一致。 接上文: Laravel教程: 3分鐘實現小程序微信支付接入(上)——喚起支付 編碼 綁定回調路由 routes/api.php Route::any(/gateway/wxpay/callback, PayController@callback)->name(pay.callb...

    BigTomato 評論0 收藏0
  • 淺析微信支付微信支付簡單介紹(程序、公眾號、App、H5)

    摘要:本文是淺析微信支付系列文章的第二篇,主要講解一下普通商戶接入的支付方式以及其中的不同之處。淺析微信支付前篇大綱微信支付是集成在微信客戶端的支付功能,用戶可以通過手機完成快速的支付流程。目前微信支付支持手機系統有蘋果安卓和。 本文是【淺析微信支付】系列文章的第二篇,主要講解一下普通商戶接入的支付方式以及其中的不同之處。 上篇文章講了本系列的大綱,沒有看過的朋友們可以看一下。 淺析微信支...

    shadowbook 評論0 收藏0
  • 淺析微信支付:前篇大綱

    摘要:淺析微信支付前篇大綱本文是淺析微信支付系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經驗,與君共勉。下面講一下我是如何去學習微信支付的。 淺析微信支付:前篇大綱 本文是【淺析微信支付】系列文章的第一篇,主要會介紹一下為何寫下這個系列以及對于微信支付的一點小經驗,與君共勉。 以下會分幾個步驟講一下我學習微信支付的過程,也是一部辛酸史,也是希望朋友們不要再次跌進...

    mayaohua 評論0 收藏0
  • 快應用微信H5支付

    摘要:快應用微信支付首先是服務端完成支付服務端的接入,接入完成以后,服務器要完成的工作是接收來自客戶端的支付請求,然后生成一個訂單,之后把訂單傳給微信的服務器,微信會返回一個,服務器需要把這個返回給客戶端完成一個中間跳轉頁面,中間頁需要在加載 快應用微信H5支付 1.首先是服務端完成支付服務端的接入,接入完成以后,服務器要完成的工作是接收來自客戶端的支付請求,然后生成一個訂單,之后把訂單傳給...

    ysl_unh 評論0 收藏0

發表評論

0條評論

Miracle_lihb

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<