alkhatibdev / laravel-zain
Zain DSP API 集成
v1.0.0
2022-07-15 12:56 UTC
This package is auto-updated.
Last update: 2024-09-12 12:30:07 UTC
README
使用 Laravel 集成 Zain DSP API
介绍
Laravel Zain 是 Laravel 的 Zain DSP API 集成,旨在简化流程和 API 调用,让开发者能够专注于其他集成部分和逻辑。参见 Laravel Sudani。
安装
要求
- PHP >=
7.4.x
- Laravel >=
7.x
通过 composer 安装
composer require alkhatibdev/laravel-zain
发布配置
php artisan vendor:publish --tag=laravel-zain-config
一个 laravel-zain.php
配置文件将发布到您的 configs
目录,内容如下
<?php return [ 'base_url' => env('ZAIN_SERVER_BASE_API_URL'), 'product_code' => env('ZAIN_PRODUCT_CODE'), 'username' => env('ZAIN_USERNAME'), 'password' => env('ZAIN_PASSWORD'), 'remember_token' => env('ZAIN_REMEMBER_TOKEN', false), 'enable_logging' => false, ];
别忘了在您的 .env
文件中设置所有这些变量
ZAIN_SERVER_BASE_API_URL=https://test.zaindsp.com:3030/api/v1/json/ ZAIN_PRODUCT_CODE=xxxxxx ZAIN_USERNAME=xxxxx ZAIN_PASSWORD=xxxxx ZAIN_REMEMBER_TOKEN=false
使用方法
初始支付/订阅
use AlkhatibDev\LaravelZain\Facades\Zain; // Initiate payment request $response = Zain::initiate($phone)
当成功发送 initiate
支付请求时,会向 $phone
手机号码发送一条包含 OTP
码的短信,并且 $response
将包含一个 subscribe_request_id
,您应该将其保存到下一步的 verify
中。
验证支付/订阅
$response = Zain::verify($otp, $requestId)
检查订阅
$response = Zain::checkSubscription($phone)
取消订阅
$response = Zain::unsubscribe($phone) // cacheToken($response['token'])
登录并缓存 DSP 令牌
默认情况下,该包将自动登录并获取 token
,并使用它进行每个请求的动作 initiate
、verify
等。
如果您想缓存令牌并用于后续请求,您可以像这样请求 token
$token = Zain::token()
您可以将其缓存并用于每个请求,有效期为 24 小时。如果设置了 ZAIN_REMEMBER_TOKEN=true
,令牌将在 30 天后过期。
使用缓存令牌的示例
// $token = getCachedToken() $response = Zain::withToken($token)->initiate($phone) $response = Zain::withToken($token)->verify($phone) ...
日志记录
您可以通过包配置文件启用日志记录
'enable_logging' => true,
其他包
-
Laravel Sudani SPay API 集成
许可证
Laravel Zain 是开源软件,许可协议为 MIT 许可证。