paynl / omnipay-paynl
Pay.nl driver for the Omnipay payment processing library
5.0.0
2023-12-04 10:46 UTC
Requires
- ext-json: *
- omnipay/common: ~3
Requires (Dev)
- monolog/monolog: ^1.23
- omnipay/tests: ~3
- php-coveralls/php-coveralls: ^2.1
This package is auto-updated.
Last update: 2024-12-04 13:03:17 UTC
README
PAY. Omnipay driver
Description
PAY. driver for the Omnipay payment processing library
Available payment methods
Requirements
PHP 5.6 or higher
Installation
Installing
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
Setup
- 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.
Update instructions
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
Usage
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();
}
Support
Contact us: support@pay.nl