Skip to content

Paystack driver for the Omnipay PHP payment processing library

License

Notifications You must be signed in to change notification settings

RingierIMU/omnipay-paystack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Omnipay: Paystack

Paystack 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 Paystack support for Omnipay. https://paystack.com/ refer to the API docs here: http://developer.paystack.com/

Install

Via Composer

$ composer require oneafricamedia/omnipay-paystack

Basic Usage

Get the Paystack redirect URL

use Omnipay\Omnipay;

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

Check transaction status (from the Paystack ipn)

  1. Configure & setup an endpoint to receive the ipn message from Paystack
  2. Listen for the message and use getTransactionStatus (please handle the http GET vars accordingly)
use Omnipay\Omnipay;

$status = Omnipay::create('Paystack')
    ->setCredentials(
        'your_key', 
        'your_secret'
    )
    ->getTransactionStatus(
        $_GET['paystack_notification_type'],
        $_GET['paystack_transaction_tracking_id'],
        $_GET['paystack_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

Paystack driver for the Omnipay PHP payment processing library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages