PAY. driver for the Omnipay payment processing library
| Bank Payments | Creditcards | Gift cards & Vouchers | Pay by invoice | Others |
|---|---|---|---|---|
| iDEAL + QR | Visa | VVV Cadeaukaart | AfterPay | PayPal |
| Bancontact + QR | Mastercard | Webshop Giftcard | Achteraf betalen via Billink | WeChatPay |
| Giropay | American Express | FashionCheque | Focum AchterafBetalen.nl | AmazonPay |
| MyBank | Carte Bancaire | Podium Cadeaukaart | Capayable Achteraf Betalen | Cashly |
| SOFORT | PostePay | Gezondheidsbon | in3 keer betalen, 0% rente | Pay Fixed Price (phone) |
| Maestro | Dankort | Fashion Giftcard | Klarna | Instore Payments (POS) |
| Bank Transfer | Cartasi | GivaCard | SprayPay | Przelewy24 |
| Tikkie | De Cadeaukaart | YourGift | Creditclick | Apple Pay |
| Multibanco | Paysafecard | Payconiq | ||
| Huis en Tuin Cadeau |
PHP 5.6 or higher In command line, navigate to the installation directory of Omnipay
Enter the following command:
composer require league/omnipay:^3 paynl/omnipay-paynl The plugin is now installed
- Create a new php file
- Use the following code:
# require autoloader require_once('vendor/autoload.php'); use Omnipay\Omnipay; # Setup payment gateway $gateway = Omnipay::create('Paynl'); $gateway->setApiToken('abcdefgdjwaiodjwaodjaowidwad'); $gateway->setTokenCode('AT-0000-0000'); $gateway->setServiceId('SL-0000-0000'); - Enter the TokenCode, API token and serviceID (these can be found in the PAY. Admin Panel --> https://admin.pay.nl/programs/programs
- Save the file
- Require the file where you wish to use the plugin.
Go to the Manage / Services tab in the PAY. Admin Panel to enable extra payment methods.
In command line, navigate to the installation directory of Omnipay
Enter the following command:
composer update league/omnipay:^3 paynl/omnipay-paynl The plugin has now been updated
PAY. items
# Use PAY. Item class use Omnipay\Paynl\Common\Item; # Add items to transaction $arrItems = array(); $item = new Item(); $item->setProductId('SKU01') ->setProductType('ARTICLE') ->setVatPercentage(21) ->setDescription('Description') ->setName('PAY. article') ->setPrice('10') ->setQuantity(4); $arrItems[] = $item; $item = new Item(); $item->setProductId('SHIP01') ->setProductType('SHIPPING') ->setVatPercentage(21) ->setDescription('Description') ->setName('PAY. shipping') ->setPrice('5') ->setQuantity(1); $arrItems[] = $item; $item = new Item(); $item->setProductId('SKU02') ->setProductType('DISCOUNT') ->setVatPercentage(21) ->setDescription('Description') ->setName('PAY. promotion') ->setPrice('1') ->setQuantity(1); $arrItems[] = $item; Start a transaction
# Send purchase request $response = $gateway->purchase( [ 'amount' => '46.00', 'currency' => 'EUR', 'transactionReference' => 'referenceID1', 'clientIp' => '192.168.192.12', 'returnUrl' => 'http://www.yourdomain.com/return_from_pay.php', 'items' => $arrItems, 'card' => array( 'firstName' => 'Example', 'lastName' => 'User', 'gender' => 'M', 'birthday' => '01-02-1992', 'phone' => '1111111111111111', 'email' => 'john@example.com', 'country' => 'NL', 'shippingAddress1' => 'Shippingstreet 1B', 'shippingAddress2' => '', 'shippingCity' => 'Shipingtown', 'shippingPostcode' => '1234AB', 'shippingState' => '', 'country' => 'NL', 'billingFirstName' => 'Billingexample', 'billingLastName' => 'Billinguser', 'billingAddress1' => 'Billingstreet 1B', 'billingAddress2' => '', 'billingCity' => 'Billingtown', 'billingPostcode' => '1234AB', 'billingState' => '', 'country' => 'NL' ) ] )->send(); # Process response if ($response->isSuccessful()) { # Payment was successful var_dump($response); } elseif ($response->isRedirect()) { # Redirect to offsite payment gateway $response->redirect(); } else { # Payment failed echo $response->getMessage(); } Refund a transaction
$response = $gateway->refund([ 'transactionReference' => "PAY. transactionId", 'amount' => '46.00', 'currency' => 'USD', 'transactionId' => 765897 ])->send(); if ($response->isSuccessful()) { # Refund was successful print_r($response); } else { # Refund failed echo $response->getMessage(); } Capture a transaction
$response = $gateway->capture([ 'transactionReference' => "PAY. transactionId", 'items' => $arrItems ])->send(); if ($response->isSuccessful()) { # Capture was successful print_r($response); } else { # Capture failed echo $response->getMessage(); } Contact us: support@pay.nl
