GitHunt
TE

teamtnt/omnipay-sofort

SOFORT Überweisung gateway for omnipay

SOFORT Überweisung Omnipay gateway

Build Status
Coverage Status
Scrutinizer Code Quality

SOFORT Überweisung gateway for awesome Omnipay library.

API Notes

This gateway only provides 2 methods to place a successful transaction. The first one is authorize which initializes an authorization and returns a redirect url.

The second one is completeAuthorize. This method doesn't actually complete anything. Since SOFORT Überweisung doesn't have a capture functionality, the only way to know about a transaction is checking that transaction details. According to official docs, if there is no any successful or failed transactions, the API will return empty transactions XML object.

Installation

To install, simply add it to your composer.json file:

{
    "require": {
        "aimeoscom/omnipay-sofort": "~2.0"
    }
}

and run composer update

Usage

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

1. Authorize

$gateway = Omnipay::create('Sofort');
$gateway->initialize(array(
    'username' => 'your_account_id',
    'password' => 'password',
    'projectId' => 'sofort_project_id',
    'testMode' => true
));

$response = $gateway->authorize(array(
    'amount' => 199.00,
    'description' => 'Google Nexus 4',
))->send();

$transactionReference = $response->getTransactionReference();

if ($response->isRedirect()) {
    // redirect to offsite payment gateway
    $response->redirect();
} else {
    // payment failed: display message to customer
    echo $response->getMessage();
}

2. Complete Authorize

$gateway = Omnipay::create('Sofort');
$gateway->initialize(array(
    'username' => 'your_account_id',
    'password' => 'password',
    'projectId' => 'sofort_project_id',
    'testMode' => true
));

$response = $gateway->completeAuthorize(array(
    'transactionReference' => $transactionReference,
))->send();

if ($response->isSuccessful()) {
    // payment was successful
    print_r($response);
} else {
    // payment failed: display message to customer
    echo $response->getMessage();
}

Languages

PHP100.0%

Contributors

MIT License
Created January 31, 2021
Updated January 31, 2021
teamtnt/omnipay-sofort | GitHunt