Omnipay: Wirecard
Wirecard driver for the Omnipay PHP payment processing library, (*1)
, (*2)
, (*3)
Omnipay is a framework agnostic, multi-gateway payment
processing library for PHP 5.3+. This package implements Wirecard support for Omnipay., (*4)
This library only supports Wirecard Checkout Page payment yet. You can read more about the Checkout Page solution here., (*5)
Installation
Omnipay is installed via Composer. To install, simply add it
to your composer.json file:, (*6)
{
"require": {
"dercoder/omnipay-wirecard": "~1.0"
}
}
It will also install the Omnipay package if it's not available in the autoload., (*7)
Basic usage
The following gateways are provided by this package:, (*8)
- Wirecard (Wirecard Checkout Page)
For general usage instructions, please see the main Omnipay
repository., (*9)
Firstly create the gateway:, (*10)
$gateway = Omnipay\Omnipay::create('Wirecard');
$gateway->setCustomerId('D200001'); // this is a valid demo customer id
$gateway->setShopId('3D'); // this is optional
$gateway->setSecret('B8AKTPWBRMNBV455FG6M2DANE99WU2'); // this is also valid for developing
Secondly prepare the required parameters:, (*11)
$parameters = [
'paymentType' => 'CCARD', // optional, default SELECT
'transactionId' => 'TX54434',
'currency' => 'EUR',
'description' => 'Awesome Product',
'language' => 'EN',
'returnUrl' => 'http://your-website.com/response?type=success',
'cancelUrl' => 'http://your-website.com/response?type=cancel',
'pendingUrl' => 'http://your-website.com/response?type=pending',
'notifyUrl' => 'http://your-website.com/response?type=notify',
'serviceUrl' => 'http://your-website.com/response?type=service',
'imageUrl' => 'http://your-website.com/logo.png', // optional
'amount' => '100.00'
];
If any required parameter is missing you will get an InvalidRequestException when you create the request:, (*12)
$request = $gateway->purchase($parameters);
Send the request:, (*13)
$response = $request->send();
Lastly handle the response:, (*14)
if ($response->isRedirect()) {
$response->redirect(); // redirect the browser to the Wirecard Checkout Page
} else {
echo 'Error: ' . $response->getMessage();
}
If you would like to handle return urls from the Checkout page use this on your response page:, (*15)
$gateway = Omnipay\Omnipay::create('Wirecard');
$gateway->setCustomerId('D200001');
$gateway->setSecret('B8AKTPWBRMNBV455FG6M2DANE99WU2');
$request = $gateway->completePurchase();
$response = $request->send();
if ($response->isSuccessful()) {
echo 'Succesful payment!';
} else if ($response->isCancelled()) {
echo 'Payment has been cancelled.';
} else if ($response->isPending()) {
echo 'Your payment is in pending status.';
} else {
echo $response->getMessage();
}
The getMessage() and getData() methods are available in the response object for further actions., (*16)
List of available payment types
Payment type is highly depended on your contract with Wirecard, but these are the currently available values:, (*17)
| Type |
Description |
| BANCONTACT_MISTERCASH |
Bancontact/Mister Cash |
| C2P |
CLICK2PAY |
| CCARD |
Credit Card |
| CCARD-MOTO |
Credit Card Mail Order, Telephone Order |
| EKONTO |
eKonto |
| SEPA-DD |
SEPA Direct Debit |
| EPS |
EPS |
| GIROPAY |
giropay |
| IDL |
iDEAL |
| INSTALLMENT |
Installment |
| INVOICE |
Invoice |
| MAESTRO |
Maestro SecureCode |
| MONETA |
moneta.ru |
| MPASS |
mpass |
| PRZELEWY24 |
Przelewy24 |
| PAYPAL |
PayPal |
| PBX |
Paybox |
| POLI |
POLi payments |
| PSC |
Paysafecard |
| QUICK |
@Quick |
| SKRILLDIRECT |
Skrill Direct |
| SKRILLWALLET |
Skrill Digital Wallet |
| SOFORTUEBERWEISUNG |
sofort.com |
| TRUSTLY |
Trustly |