Menu

5.9. 退款处理

退款处理

在之前的章节里我们已经实现了微信和支付宝还款的功能,接下来我们将要实现分期付款功能的最后一个重要功能:退款。

1. 实现方案

在上一本课程中,我们的退款操作是同步的,当运营人员点击同意退款之后,后端接口会直接调用对应支付网关的退款接口,然后将退款结果返回给浏览器。

但是对于分期付款来说,由于有多笔支付,如果仍然采用同步的方式退款,一是可能耗时比较长;二是假如中途某笔退款失败,我们很难决定这个分期付款的退款到底是成功还是失败。

我们可以参考一下微信支付的思路,我们在做微信退款时,调用的微信支付接口并不会告诉我们退款成功没有,只是告诉我们退款申请收到了,等微信处理好之后再把结果通过后端回调告诉我们。

因此我们这边可以用一个异步队列来实现这个退款操作。

2. 创建异步任务

现在通过 make:job 命令创建一个任务:

$ php artisan make:job RefundInstallmentOrder

首先实现基本的逻辑:

app/Jobs/RefundInstallmentOrder.php

<...

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

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

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 5

uasemax
老师,请问关联关系什么时候加括号?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
张汉为
Jovi
队列有问题,望大佬科普下
0 个点赞 | 1 个回复 | 教程 | 课程版本 5.7
18874127314
老师,这里用常量是不是更合适
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
Flourishing
老师,像这种有一笔没有退款成功的怎么处理呢?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
刻意练习,每日精进。
1
点赞
453
浏览
5
讨论

作者
leo