femlabs / laravel-dpo
用于通过 DPO Group 进行在线支付的包
V1.0.0
2022-09-17 03:34 UTC
README
Femlabs DPO 包可以帮助您轻松地将 DPO 支付 API 添加到 Laravel 应用程序中,操作简单。
包的工作原理
1. Create payment token
2. Verify payment token
3. Redirect to payment page
4. Fetch response
安装
composer require femlabs/laravel-dpo
发布所需文件
php artisan vendor:publish --provider="Femlabs\Dpo\DpoServiceProvider"
运行迁移
php artisan migrate
环境变量
DPO_COMPANY_TOKEN ="9F416C11-127B-4DE2-AC7F-D5710E4C5E0A"
DPO_SERVICE_TYPE = "3854"
DPO_SERVICE_DESCRIPTION = "Test Product"
DPO_LIVE_MODE = true
DPO_DEFAULT_CURRENCY = "TZS"
DPO_DEFAULT_COUNTRY = "Tanzania"
DPO_BACK_URL ="/cancel"
DPO_REDIRECT_URL = "/callback"
使用方法
在您的控制器中使用以下依赖项
use Femlabs\Dpo\Dpo;
包的工作原理
=> 在控制器中创建您的订单的数组数据
$data['companyRef'] = 'ORD' . '' . time(); //$params['invoiceid']; (On this line you can put uniq id of your service)
$data['paymentAmount'] = 100;
$data['customerFirstName'] = 'Filbert';
$data['customerLastName'] = 'Msaki';
$data['customerAddress'] = 'Ubungo Kibangu';
$data['customerCity'] = 'Dar Es Salaam';
$data['customerPhone'] = '07********';
$data['customerEmail'] = 'filymsaki@gmail.com';
$data['customerCountry'] = 'TZ'; //ISO 2 letter code
$data['customerZip'] = '0000';
$data['serviceDescription'] = 'Test Order';
=> 调用 DPO 函数
$dpo =new Dpo();
您可以选择将响应保存到数据库中,或者直接在 DPO 包中进行支付
=> 直接跳转到 DPO 支付页面
return $dpo->directPaymentPage($data);
=> 如果您希望保存详细信息,请按照以下步骤操作。
1. 首先创建支付令牌,然后将用户重定向到支付页面
$token = $dpo->createToken($data);
-
检查令牌响应并将其保存到数据库中
if ($token['success'] === true) { $data['TransToken'] = $token['TransToken']; //Here you can save token details to database $verify = $dpo->verifyToken($data); if ($verify['success'] === true) { //Here you can save token details and verified data to database //Get payment url $payment_url = $dpo->getPaymentUrl($token); //redirect to payment page return redirect()->$payment_url; } }
许可证
此项目采用 MIT 许可证。