paynl/omnipay-paynl

Pay.nl driver for the Omnipay payment processing library

5.0.0 2023-12-04 10:46 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
  1. Create a new php file
  2. 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');
  1. Enter the TokenCode, API token and serviceID (these can be found in the PAY. Admin Panel --> https://admin.pay.nl/programs/programs
  2. Save the file
  3. 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

https://www.pay.nl

Contact us: support@pay.nl