asci / omnipay-sofort
SOFORT Überweisung gateway for Omnipay payment processing library
Installs: 125 417
Dependents: 1
Suggesters: 0
Security: 0
Stars: 20
Watchers: 2
Forks: 17
Open Issues: 5
Requires
- omnipay/common: ~2.0
Requires (Dev)
- omnipay/tests: ~2.0
This package is not auto-updated.
Last update: 2024-11-18 16:20:51 UTC
README
SOFORT Überweisung gateway for awesome Omnipay library.
Important Note: Omnipay 1.x Users
If you are using Omnipay 1.x versions please use 1.x tree. For detailed information you can check Omnipay's 2.0 release notes.
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": { "asci/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( 'transactionId' => $transactionReference, ))->send(); if ($response->isSuccessful()) { // payment was successful print_r($response); } else { // payment failed: display message to customer echo $response->getMessage(); }