susutawar / laravel-duitku
DuitKu Api 对 laravel 的实现
0.0.1
2024-05-15 11:51 UTC
Requires
- php: ^7.0|^8.0
README
DuitKu API 在 laravel 中的实现。最初是为了个人使用而制作的,因此可能存在一定的偏差。
安装
composer install susutawar/duitku-laravel
php artisan vendor:publish --tag="duitku"
配置
将以下内容添加到您的 .env
文件中。
DUITKU_MERCHANT_ID= DUITKU_API_KEY= DUITKU_SANDBOX_MODE= DUITKU_RETURN_URL=
- 填写
DUITKU_MERCHANT_ID
和DUITKU_API_KEY
,这两个凭据可以从 duitku 获取。 - 将
DUITKU_SANDBOX_MODE
设置为1
以使用 DuitKu 的沙盒模式,或设置为0
以在生产模式下使用它。 - 设置
DUITKU_RETURN_URL
为您配置的任何路由。这将被 DuitKu (查看文档) 使用。值可以是路由名称或 URL。
您可以在 config/duitku.php
中查看更多设置/信息。
使用方法
获取支付
从 DuitKu 获取可用的支付方式。 查看文档
use SusuTawar\Facade\Duitku; // ... // the result is a Laravel Collection $paymentMethods = Duitku::getPayments($paymentAmount);
进行交易
使用 DuitKu 开始交易。 查看文档
use SusuTawar\Facade\Duitku; // ... $paymentMethods = Duitku::makeTransaction(/* params */);
返回的对象包含 trx
、url
、qr
和 va
trx
:DuitKu 生成的交易号。将其保存到您的系统中。url
:DuitKu 交易页面的链接。qr
:表示 QRIS 的字符串。您必须自己从这个字符串生成 QR 图像。va
:支持该支付方式的虚拟账户号码。
检查交易
使用您的交易 ID 检查交易状态。 查看文档
use SusuTawar\Facade\Duitku; // ... $checkResult = Duitku::check($yourTransactionId);
错误处理
当发生意外情况时,我们不会返回 false
或 null
,而是抛出一个 Exception
。您可以通过其特定类型捕获异常,或者通过 Exception 捕获所有异常,然后使用提供的信息。
DuitKuAuthException
:当提供的认证凭据无法由 DuitKu 认证时发生。DuitKuBadRequestException
:当提供的参数不符合 DuitKu 时发生。DuitKuNotFoundException
:当指定的资源在 DuitKu 中不可用时发生。DuitKuPaymentException
:当支付过程中出现问题时发生。
回调路由
我们自动注册了 回调 路由。要处理传入的回调,创建一个实现 SusuTawar\Interfaces\DuitKuCallbackInterface
的类,并在 config/duitku.php
下的 routing.callback_handler
中注册它
"routing" => [ // ... "callback_handler" => MyCallbackHandler::class, ]
如果您更喜欢手动设置回调,通过更新配置来禁用此功能
"routing" => [ "enabled" => false, // ... ]
当此功能被禁用时,您需要设置 callback_url
或将 DUITKU_CALLBACK_URL
添加到您的 .env
文件中。否则,callback_url
将默认为 home
或 /
。