sykez/betterpay

PHP package for Betterpay payment gateway solution API

v1.1.1 2024-04-22 08:51 UTC

This package is auto-updated.

Last update: 2024-04-22 08:59:46 UTC


README

Latest Stable Version License PHP Version Require Total Downloads

PHP package for Betterpay (previously known as QlicknPay) payment gateway solution API.

Register for sandbox account to start testing.

Contents

Supported Features

  • Tokenization - MasterCard Payment Gateway Service (MPGS)

To-do

  • Standard Payment Gateway
  • Direct Payment
  • Recurring Payment - Direct Debit
  • Refund

Installation

Install package via Composer:

composer require sykez/betterpay

Laravel Setup

Add the environment variables to your .env:

BETTERPAY_API_KEY=
BETTERPAY_MERCHANT_ID=
BETTERPAY_CALLBACK_URL=https://example.com/callback
BETTERPAY_SUCCESS_URL=https://example.com/success
BETTERPAY_FAIL_URL=https://example.com/fail

Usage

Create verification link for Tokenization:

use Sykez\Betterpay\Betterpay;

$bp = new Betterpay($api_key, $merchant_id, $api_url, $callback_url, $success_url, $fail_url);
$response = $bp->createTokenizationUrl($reference_id); // unique $reference_id
header('Location: '.$response['credit_card_verification_url']); // redirect to payment gateway

Token is returned to your callback/success URL upon success.

Charge card:

$token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // token returned from verification
$bp->charge($token, $invoice, $amount);

Laravel: Charge card:

This package includes Laravel's Service Provider, which injects the dependencies.

use Sykez\Betterpay\Betterpay;

public function charge(Betterpay $bp, Request $request)
{
    $invoice = bin2hex(random_bytes(5));
    $token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    $amount = 10.5;
    return $bp->charge($token, $invoice, $amount);
}

Related Resources

Contributing

Contributions are welcome 😄

License

The MIT License (MIT). Please see License File for more information.