7.5. 订单的微信支付

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

微信支付

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

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, // 订单描述
        ]);
    }
    .
    .
    .<...>

本文章首发在 LearnKu.com 网站上。

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 18

Krisji
yansongda/Laravel-pay 微信公众号支付
2 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
xin6841414
Laravel5.8 输出图片到浏览器黑屏
1 个点赞 | 3 个回复 | 问答 | 课程版本 5.8
wesen
微信支付,服务器端回调未验证返回结果
1 个点赞 | 0 个回复 | 问答 | 课程版本 5.7
wesen
老师,微信扫码支付,用户端不能通过回调来检查状态么?
0 个点赞 | 10 个回复 | 问答 | 课程版本 5.5
seeker
通过 Composer 引入 endroid/qr-code 这个库,有好多报错??
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
jingzhongwa
重复支付的问题
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.7
godfyun
"Get Wechat API Error:签名错误" 这个错误是哪里的问题啊?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
_杭城浪子
前端 JS 传参,为啥需要加 [0]
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
liziyu
微信扫码支付成功后,通知付款者支付成功的依据是什么?
0 个点赞 | 2 个回复 | 问答 | 课程版本 8.x
vasar
老师,h5 支付需要怎么配置?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
_杭城浪子
为什么需要加上响应头和状态码
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
cold777
找不到方法
0 个点赞 | 1 个回复 | 问答 | 课程版本 8.x
hiliyipeng
微信支付,使用小程序的 appid,报缺少参数
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
huangdj
微信支付成功后没有回调?
0 个点赞 | 1 个回复 | 分享 | 课程版本 6.x
proHorry
不知道是看漏了还是之前教程忘了说
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.5
DogLoML
2023.6.23 yansongda/pay微信支付配置 新版endroid/qr-code生成二维码
0 个点赞 | 0 个回复 | 分享 | 课程版本 8.x