Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Omnipay: Pesapal

Pesapal driver for the Omnipay PHP payment processing library

Maintainability Test Coverage Style CI Scrutinizer Code Quality

Omnipay is a framework agnostic, multi-gateway payment processing library for PHP. This package implements Pesapal support for Omnipay. https://www.pesapal.com/ refer to the API docs here: http://developer.pesapal.com/

Install

Via Composer

$ composer require oneafricamedia/omnipay-pesapal

Basic Usage

Get the pesapal iframe/redirect 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
    );

Check transaction status (from the pesapal ipn)

  1. configure & setup an endpoint to receive the ipn message from pesapal
  2. listen for the message and use getTransactionStatus (please handle the http GET vars accordingly)
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 will be either PENDING, COMPLETED, FAILED or INVALID. Handle these statuses in your application workflow accordingly.

TODO

  1. Test coverage
  2. add QueryPaymentStatusByMerchantRef support
  3. add QueryPaymentDetails support

About

Pesapal driver for the Omnipay PHP payment processing library

Topics

Resources

Contributing

Stars

4 stars

Watchers

29 watching

Forks

Releases

Packages

Used by

Contributors

Languages