shaqi-labs/pay-bridge

PHP library for integrating multiple payment gateways

Maintainers

Package info

github.com/shaqilabs/pay-bridge

pkg:composer/shaqi-labs/pay-bridge

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-03-18 22:31 UTC

This package is auto-updated.

Last update: 2026-03-18 22:33:33 UTC


README

Pay Bridge is a PHP library that provides a consistent way to integrate multiple payment gateways (Pakistan-focused). Each gateway has its own *Client (configuration + HTTP) and *API (operations) class.

Table of Contents

Requirements

  • PHP ^8.0
  • Extensions: ext-curl, ext-json, ext-openssl

Installation

To install Pay Bridge, you can use Composer. Run the following command:

composer require shaqi-labs/pay-bridge

Quick Start

Every gateway follows the same pattern:

  1. Create a *Client with your credentials/config
  2. Create a *API using that client
  3. Call the API methods

Example (AbhiPay):

<?php
require __DIR__ . '/vendor/autoload.php';

use ShaqiLabs\AbhiPay\AbhiPayAPI;
use ShaqiLabs\AbhiPay\AbhiPayClient;

$client = new AbhiPayClient([
    'merchant_id' => 'YOUR_MERCHANT_ID',
    'secret_key' => 'YOUR_SECRET_KEY',
    'return_url' => 'https://example.com/return',

    // Optional network hardening (defaults are already set)
    'timeout' => 30,
    'connect_timeout' => 10,
]);

$api = new AbhiPayAPI($client);

$result = $api->createCheckoutLink([
    'amount' => 25.30,
    'description' => 'Test order',
], 'url'); // url / response / redirect

var_dump($result);

Examples

Examples live in examples/ and use placeholder credentials (replace with your sandbox/production values).

composer install
php examples/AbhiPay.php

Gateways

Provider Usage Guide Type API Doc
Safe Pay Safe Pay Usage Guide Hosted Safe Pay API Docs
Safe Pay Embedded Safe Pay Embedded Usage Guide Embedded Safe Pay Embedded API Docs
UBL UBL Usage Guide Hosted UBL API Docs
PayFast PayFast Usage Guide Hosted PayFast API Reference
Alfalah IPG Alfalah IPG Usage Guide Hosted Alfalah IPG API Docs
Alfalah APG Alfalah APG Usage Guide Hosted Alfalah APG API Docs
JazzCash JazzCash Usage Guide Both JazzCash API Docs
EasyPaisa EasyPaisa Usage Guide Both EasyPaisa Merchant Portal
AbhiPay AbhiPay Usage Guide Hosted AbhiPay API Docs
BaadMay BaadMay Usage Guide Hosted BaadMay API Docs

Docs

Configuration

  • Most clients accept:
    • environment (usually sandbox / production, where supported)
    • timeout (seconds) and connect_timeout (seconds)
  • Where supported, prefer returning data/URL and handle redirects in your application:
    • AbhiPay: createCheckoutLink($order, 'url' | 'response' | 'redirect')
    • BaadMay: createCheckoutLink($order, 'url' | 'response' | 'redirect')

Error Handling

  • Each gateway throws its own exception class (e.g. ShaqiLabs\AbhiPay\AbhiPayException).
  • Network layer throws on:
    • cURL errors
    • HTTP status >= 400
    • Unparsable JSON responses (where JSON is expected)

Security Notes

  • Never commit real merchant credentials / API keys into the repository.
  • Use environment variables or a secrets manager in production.
  • Avoid automatic redirects inside libraries when building APIs/CLI apps; return URLs/data and redirect at the application layer.

License

MIT