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

Social Card of Laravel Zain Package

使用 Laravel 集成 Zain DSP API

Latest Version MIT Licensed

介绍

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,并使用它进行每个请求的动作 initiateverify 等。

如果您想缓存令牌并用于后续请求,您可以像这样请求 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 Zain 是开源软件,许可协议为 MIT 许可证