alkhatibdev/laravel-sudani

Sudani SPay API 集成

v1.0.0 2022-07-15 13:17 UTC

This package is auto-updated.

Last update: 2024-09-23 07:43:14 UTC


README

Social Card of Laravel Sudani Package

使用 Laravel 集成 Sudani SPay API

Latest Version Packagist Downloads (custom server) MIT Licensed

简介

Laravel Sudani 是 Laravel 和 Sudani SPay API 的集成,旨在简化过程和 API 调用,让开发者专注于其他集成部分和逻辑。另请参阅 Laravel Zain

安装

要求

  • PHP >= 7.4.x
  • Laravel >= 7.x

通过 composer 安装

composer require alkhatibdev/laravel-sudani

发布配置

php artisan vendor:publish --tag=laravel-sudani-config

一个 laravel-sudani.php 配置文件将被发布到您的 configs 目录,内容如下

<?php

return [

    'base_url' => env('SUDANI_SERVER_BASE_API_URL'),

    'provider_key' => env('SUDANI_PROVIDER_KEY'),

    'service_code' => env('SUDANI_SERVICE_CODE'),

    'username' => env('SUDANI_USERNAME'),

    'password' => env('SUDANI_PASSWORD'),

    'enable_logging' => false,

];

请勿忘记在您的 .env 文件中设置所有这些变量

SUDANI_SERVER_BASE_API_URL=http://196.1.241.110/SPayAPI/Service/
SUDANI_PROVIDER_KEY=xxxxxxxx
SUDANI_SERVICE_CODE=xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
SUDANI_USERNAME=xxxxxx
SUDANI_PASSWORD=xxxxxx

用法

初始支付/订阅

use AlkhatibDev\LaravelSudani\Facades\Sudani;

// Initiate payment request
$response = Sudani::initiate($phone)

initiate 支付请求成功发送后,将向 $phone 电话号码发送带有 OTP 码的短信,并且 $response 将包含一个 requestId,您应将其保存到下一步 verify

验证支付/订阅

$response = Sudani::verify($otp, $requestId)

检查订阅

$response = Sudani::checkSubscription($phone)

取消订阅

$response = Sudani::unsubscribe($phone)

登录并缓存 SPay 令牌

默认情况下,该包将加密密码并自动登录,获取 token 并用于每个请求的动作 initiateverify 等。如果您想缓存令牌并用于后续请求,您可以像这样请求一个 token

$token = Sudani::token()

并且您可以将其缓存并用于每个请求,例如,下一次 24 小时内

// $token = getCachedToken()

$response = Sudani::withToken($token)->initiate($phone)
$response = Sudani::withToken($token)->verify($phone)
...

日志记录

您可以通过包配置文件启用日志记录

'enable_logging' => true,

其他包

许可

Laravel Sudani 是开源软件,受 MIT 许可证 许可。