承接 sevaske/payfort-api 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sevaske/payfort-api

Composer 安装命令:

composer require sevaske/payfort-api

包简介

README 文档

README

Latest Version on Packagist Total Downloads PHPUnit PHPStan

Payfort API PHP Client

A simple and extensible PSR-18 compatible PHP client for working with Amazon Payment Services (Payfort).

Note:

  1. This version is currently in beta. Use at your own risk.
  2. This package requires a PSR-18 compatible HTTP client and PSR-17 factories. For example, you can use Guzzle:
composer require guzzlehttp/guzzle nyholm/psr7

Features

  • PSR-18 HTTP client support
  • PSR-7 request/response
  • Signature verification
  • Custom command support
  • Exception handling with context
  • Easily debug request/response payloads

Requirements

  • PHP ^8.1
  • PSR-18 HTTP client (psr/http-client)
  • PSR-7 HTTP messages (psr/http-message)
  • PSR-17 HTTP factories (optional, if required by your HTTP client)

Installation

Install via Composer:

composer require sevaske/payfort-api

Usage

use Sevaske\PayfortApi\Credential;
use Sevaske\PayfortApi\Merchant;
use Sevaske\PayfortApi\Http\Responses\CheckStatusResponse;

// Setup credentials
$credential = new Credential(
    'merchantIdentifier',
    'accessCode',
    'shaRequestPhrase',
    'shaResponsePhrase',
);

// Use any PSR-18 compatible HTTP client
$httpClient = new \GuzzleHttp\Client(); // or any other PSR-18 client

// Create merchant instance
$merchant = new Merchant('sandbox', $httpClient, $credential);

// Simple status check
$response = $merchant->api()->checkStatus('12345'); // CheckStatusResponse

Available API methods

The following methods are available for use:

$merchant->api()->checkStatus(); // Check the status of a transaction
$merchant->api()->recurring(); // Purchase
$merchant->api()->voidAuthorization(); // Void an authorization
$merchant->api()->refund(); // Process a refund
$merchant->api()->createToken(); // Create a new payment token
$merchant->api()->updateToken(); // Update an existing payment token

Debugging with callback

$response = $merchant->api()->checkStatus('12345', callback: function (
    CheckStatusResponse $response,
    array $request
) {
    $request;                      // Raw request data
    $response->jsonSerialize();    // Parsed response as array
    $response->authorizedAmount(); // ?string
    $response->capturedAmount();   // ?string
    $response->refundedAmount();   // ?string
    
    return $response;
});

Custom command request

$response = $merchant->api()->request([
    'command' => 'CUSTOM',
]); // Returns generic Response

Error handling

use Sevaske\PayfortApi\Exceptions\PayfortException;
use Sevaske\PayfortApi\Exceptions\PayfortRequestException;
use Sevaske\PayfortApi\Exceptions\PayfortResponseException;
use Sevaske\PayfortApi\Exceptions\PayfortSignatureException;

try {
    $response = $merchant->api()->refund('12345', 1000, 'SAR'); // RefundResponse
} catch (PayfortRequestException $e) {
    // Request could not be sent
} catch (PayfortResponseException $e) {
    // Received an invalid response
} catch (PayfortSignatureException $e) {
    // Signature mismatch
}

// or "catch-all" exception handling
try {
    $response = $merchant->api()->refund('12345', 1000, 'SAR');
} catch (PayfortException $e) {
    $context = $e->context();
}

Future functionality

In the future, you will be able to handle redirection requests:

$merchant->redirection()->...; // Example of future functionality

🧪 Testing

composer test

📜 Changelog

See CHANGELOG.md for recent changes.

⚖ License

MIT. See LICENSE for details.

sevaske/payfort-api 适用场景与选型建议

sevaske/payfort-api 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 166 次下载、GitHub Stars 达 1, 最近一次更新时间为 2025 年 07 月 03 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 sevaske/payfort-api 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 sevaske/payfort-api 我们能提供哪些服务?
定制开发 / 二次开发

基于 sevaske/payfort-api 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 166
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 8
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-07-03