jagdish-j-p / billdesk
用于集成 BillDesk 支付网关的 Laravel 包
v1.0.1
2022-06-04 11:28 UTC
Requires
- laravelcollective/html: ^6.2
This package is auto-updated.
Last update: 2024-09-03 16:07:26 UTC
README
此仓库已开发,以集成 Laravel 中的 BillDesk 支付网关。
此仓库目前正在开发中。可能会有一些异常。
安装
您可以通过 composer 安装此包
composer require jagdish-j-p/billdesk
然后运行发布命令以发布配置文件、支持控制器和视图
php artisan billdesk:publish
这将生成以下文件
- 默认设置供您覆盖的配置文件
billdesk.php
- 将接收支付响应和任何主机到主机事件的控制器
Http/Controllers/Billdesk/Controller.php
- 公共目录中的资产。
- 默认 HTML 视图文件供您覆盖
payment.blade.php
。注意不要更改表单操作 URLbilldesk.payment.auth.request
。
设置
- 将您的响应 URL 以及您的商户 ID、安全 ID 和校验和密钥添加到
.env
文件中。
BILLDESK_RESPONSE_URL=https://app.test/billdesk/payments/callback BILLDESK_RESPONSE_PATH=billdesk/payments/callback BILLDESK_WEBHOOK_URL=https://app.test/billdesk/payments/webhook BILLDESK_WEBHOOK_PATH=billdesk/payments/webhook BILLDESK_MERCHANT_ID= BILLDESK_SECURITY_ID= BILLDESK_CHECKSUM_KEY= BILLDESK_UAT_PREFIX="test-prefix"
- 运行迁移以添加事务表
php artisan migrate
用法
-
您可以访问 http://app.test/billdesk/initiate/payment 以查看 Web 集成支付流程演示。
-
在
Http/Controllers/Billdesk/Controller.php
中处理支付响应
/** * This will be called after the user approve the payment * on the bank side * * @param Request $request * @return Response */ public function callback(Request $request) { $response = $request->handle(); if ($response['response_format'] == 'JSON') return response()->json(['response' => $response, 'billdesk_response' => $request->all()]); dd($response, $request); // Remove this line and modify as per your needs. // Update your order status } /** * This will handle any direct call from BillDesk * * @param Request $request * @return string */ public function webhook(Request $request) { $response = $request->handle(); // Update your order status return 'OK'; }
- 使用命令检查所有挂起事务的状态
php artisan billdesk:payment-status
- 使用命令检查特定事务的状态,通过逗号分隔的订单参考 ID。
php artisan billdesk:payment-status reference_id1,reference_id2,reference_id3
- 从控制器中检查事务状态
use JagdishJP/Billdesk/Billdesk; /** * Returns status of transaction * * @param string $reference_id reference order id * @return array */ $status = Billdesk::getTransactionStatus($reference_id);
您还可以通过自定义设计覆盖 payment.blade.php
以与您的布局集成,但不要更改 HTML 控件的 name
属性和表单的 action
URL。
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
贡献
欢迎贡献者,并将给予全面认可。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 jagdish.j.ptl@gmail.com 而不是使用问题跟踪器。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件
Packagify
此包使用 Packagify 生成。