oneafricamedia/omnipay-pesapal

Pesapal支付网关用于Omnipay支付处理库

3.0.4 2021-06-01 12:05 UTC

This package is not auto-updated.

Last update: 2024-10-02 11:00:33 UTC


README

Omnipay PHP支付处理库的Pesapal驱动程序

Maintainability Test Coverage Style CI Scrutinizer Code Quality

Omnipay 是一个不依赖于框架的多网关支付处理库。本包实现了Omnipay对Pesapal的支持。https://www.pesapal.com/ 这里提供了API文档: http://developer.pesapal.com/

安装

通过Composer

$ composer require oneafricamedia/omnipay-pesapal

基本用法

获取Pesapal iframe/重定向URL

use Omnipay\Omnipay;


$url = Omnipay::create('Pesapal')
    ->setCredentials(
        'your_key', 
        'your_secret'
    )
    ->setCallbackUrl('https://example.com/callback')
    ->getUrl(
        'test@example.com',
        'my_reference',
        'description',
        100
    );

检查交易状态(来自pesapal ipn)

  1. 配置并设置一个端点以接收来自pesapal的ipn消息
  2. 监听消息并使用 getTransactionStatus(请相应地处理http GET变量)
use Omnipay\Omnipay;


$status = Omnipay::create('Pesapal')
    ->setCredentials(
        'your_key', 
        'your_secret'
    )
    ->getTransactionStatus(
        $_GET['pesapal_notification_type'],
        $_GET['pesapal_transaction_tracking_id'],
        $_GET['pesapal_merchant_reference']
    );
    
  1. $status 将会是 PENDINGCOMPLETEDFAILEDINVALID。根据您的应用程序工作流程相应地处理这些状态。

待办事项

  1. 测试覆盖率
  2. 添加 QueryPaymentStatusByMerchantRef 支持
  3. 添加 QueryPaymentDetails 支持