semyonchetvertnyh/omnipay-paysera

Paysera gateway for Omnipay payment processing library

This package's canonical repository appears to be gone and the package has been frozen as a result.

v0.1.0 2019-03-13 14:16 UTC

This package is auto-updated.

Last update: 2024-03-17 09:56:18 UTC


README

Paysera gateway driver for the Omnipay PHP payment processing library

Latest Version on Packagist Software License Build Status StyleCI Quality Score Code Coverage Total Downloads

Omnipay is a framework agnostic, multi-gateway payment processing library for PHP 5.3+. This package implements Paysera support for Omnipay.

Installation

Omnipay is installed via Composer. To install, require league/omnipay and semyonchetvertnyh/omnipay-paysera with Composer:

composer require league/omnipay semyonchetvertnyh/omnipay-paysera

For general usage instructions, please see the main Omnipay repository.

Requirements

  • PHP 7.0+
  • Omnipay v3+
  • ext-openssl

Basic Usage

The following gateways are provided by this package:

  • Paysera

For general usage instructions, please see the main Omnipay repository.

Code Example

use Omnipay\Omnipay;

// Setup payment gateway
$gateway = Omnipay::create('Paysera');
$gateway->setProjectId('123456');
$gateway->setPassword('abcde12345');

// Optionally to determine which order has been paid
$orderId = 1;

// Example card (actually customer) data
$card = [
    'email' => 'john.doe@example.com',
    'billingFirstName' => 'John',
    'billingLastName' => 'Doe',
    'billingPhone' => '+372 12345678',
    'billingCompany' => 'Good Workers Ltd.',
    'billingAddress1' => 'Viru valjak 24',
    'billingCity' => 'Tallinn',
    'billingPostcode' => '123456',
    'billingCountry' => 'EE',
];

// Send purchase request
$response = $gateway->purchase(
    [
        'language' => 'ENG',
        'transactionId' => $orderId,
        'paymentMethod' => 'hanzaee',
        'amount' => '10.00',
        'currency' => 'EUR',
        'returnUrl' => "https://example.com/paysera/return/{$orderId}",
        'cancelUrl' => "https://example.com/paysera/cancel/{$orderId}",
        'notifyUrl' => "https://example.com/paysera/notify/{$orderId}",
        'card' => $card,
    ]
)->send();

if ($response->isRedirect()) {
    return $response->redirect();
}

You should also implement method for notifyUrl. After successful charging, Paysera sends a request to this URL.

use Omnipay\Omnipay;

// Setup payment gateway
$gateway = Omnipay::create('Paysera');
$gateway->setProjectId('123456');
$gateway->setPassword('abcde12345');

// Accept the notification
$response = $gateway->acceptNotification()
    ->send();
    
if ($response->isSuccessful()) {
    // Mark the order as paid

    return true;
}

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

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