Menu

7.5. 订单的微信支付

微信支付

接下来我们来实现微信支付的入口。

1. 控制器

接下来我们来实现微信支付的入口,与支付宝类似,在 PaymentController 中新增一个 payByWechat() 方法:

app/Http/Controllers/PaymentController.php

.
.
.
    public function payByWechat(Order $order, Request $request) {
        // 校验权限
        $this->authorize('own', $order);
        // 校验订单状态
        if ($order->paid_at || $order->closed) {
            throw new InvalidRequestException('订单状态不正确');
        }
        // scan 方法为拉起微信扫码支付
        return app('wechat_pay')->scan([
            'out_trade_no' => $order->no,  // 商户订单流水号,与支付宝 out_trade_no 一样
            'total_fee' => $order->total_amount * 100, // 与支付宝不同,微信支付的金额单位是分。
            'body'      => '支付 Laravel Shop 的订单:'.$order->no, // 订单描述
        ]);
    }
    .
    .
    ....

本文章首发在 Laravel China 社区

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
刻意练习,每日精进。
5
点赞
1827
浏览
4
讨论