rawahamid/laravel-fib-integration

v1.0.3 2024-08-13 07:41 UTC

This package is auto-updated.

Last update: 2024-09-13 07:47:23 UTC


README

Laravel 对第一伊拉克银行的支付集成

功能

  • 身份验证
  • 创建支付
  • 检查支付状态
  • 取消支付

安装

您可以通过 Composer 安装此包

composer require rawahamid/laravel-fib-integration

然后使用 vendor publish 命令发布包的配置文件

php artisan vendor:publish --tag="fib"

配置变量

剩下的工作是在 .env 文件中定义四个环境配置变量

FIB_ENVIRONMENT="stage"
FIB_CALLBACK_URL="https://:8000/fib-callback-url"
FIB_CLIENT_ID="client-id"
FIB_CLIENT_SECRET="client-secret"
  • FIB_ENVIRONMENT 此值是您希望为 FIB 集成选择的环境
  • FIB_CALLBACK_URL 当创建的支付状态更改时,FIB 将向此回调 URL 发送 POST 请求
  • FIB_CLIENT_ID 您用于认证请求的账户客户端 ID 决定了请求是实时模式还是测试模式
  • FIB_CLIENT_SECRET 您用于认证请求的账户客户端密钥 决定了请求是实时模式还是测试模式

用法

创建支付

use Rawahamid\FibIntegration\Payments\FibPayment;

$response = FibPayment::create(100);

响应结构

{
    "paymentId": "string",
    "readableCode": "string",
    "qrCode": "base64 string",
    "validUntil": "datetime",
    "personalAppLink": "link",
    "businessAppLink": "link",
    "corporateAppLink": "link"
}
  • paymentId 付款的唯一标识符,稍后用于检查状态。
  • readableCode 用户可以手动输入的付款码,以防他无法扫描 QR 码。
  • qrCode 用户可以使用 FIB 移动应用程序扫描的 QR 码图像的 base64 编码的数据 URL。
  • validUntil 表示付款到期时间的 ISO-8601 格式的日期时间字符串
  • personalAppLink 用户可以点击手机上的链接以进入 FIB 个人应用程序中的相应付款屏幕
  • businessAppLink 用户可以点击手机上的链接以进入 FIB 商业应用程序中的相应付款屏幕
  • corporateAppLink 用户可以点击手机上的链接以进入 FIB 企业应用程序中的相应付款屏幕

支付状态

use Rawahamid\FibIntegration\Payments\FibPayment;

$response = FibPayment::status('payment-uuid');

响应结构将是

{
  "paymentId": "string",
  "status": "string",
  "validUntil": "string",
  "amount": {
    "amount": "number",
    "currency": "string"
  },
  "decliningReason": "string",
  "declinedAt": "string",
  "paidBy": {
    "name": "string",
    "iban": "string"
  }
}
  • paymentId 付款的唯一标识符,稍后用于检查状态。
  • status 这其中之一: PAID | UNPAID | DECLINED
  • validUntil 表示付款到期时间的 ISO-8601 格式的日期时间字符串
  • amount 包含付款金额和货币
  • decliningReason 可以是可空的或这些值之一 SERVER_FAILURE | PAYMENT_EXPIRATION | PAYMENT_CANCELLATION
  • declinedAt 表示付款拒绝时间的 datetime
  • paidBy 如果付款尚未支付,则为可空的 object,如果已支付,则包含用户的名称和 iban

取消支付

use Rawahamid\FibIntegration\Payments\FibPayment;

$response = FibPayment::cancel('payment-uuid');

如果成功,则响应将为空

重要提示**

在这些请求的每个请求中,如果响应为 500,则表示创建、状态或取消请求出现了一些问题

许可证

FIB 集成包是开源软件,许可协议为MIT 许可

贡献

欢迎贡献!

报告 & 反馈

如果您遇到任何问题,请随时联系我 :) rawahamid