Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

renekorss/Banklink

Repository files navigation

PHP Payment library

PHP payment library to easily integrate Baltic banklinks, E-commerce gateaway (Estcard, Nets Estonia), Liizi Payment Link and Pocopay.

View API documentation at https://renekorss.github.io/Banklink/

Install

composer require renekorss/banklink

Supported providers

Country / Provider Payment Authentication
Estonia
Danskebank
Coop Pank
LHV
SEB
Swedbank
Luminor
Nordea
Pocopay does not apply
Estcard does not apply
Liisi Payment Link does not apply
Lithuania
SEB does not apply
Swedbank does not apply
Luminor does not apply
Siauliu does not apply
Estcard does not apply

How to use?

For more information, please visit Wiki. Basic example is below.

SECURITY WARNING

Never keep your private and public keys in publicly accessible folder. Instead place keys under root folder (usually public_html or www).

If you store keys as strings in database, then they should be accessible only over HTTPS protocol.

Payment

getPaymentRequest(123453, 150, 'Test makse', 'EST'); // You can also add custom request data and/or override request data // Optional $request = $seb->getPaymentRequest(123453, 150, 'Test makse', 'EST', 'EUR', [ 'VK_REF' => 'my_custom_reference_number', // Override reference number 'INAPP' => true // Pocopay specific example ]); ?>
getRequestInputs(); ?>
">
require __DIR__ . '/vendor/autoload.php';

use RKD\Banklink;

// Init protocol
$protocol = new Banklink\Protocol\IPizza(
'uid100010', // seller ID (VK_SND_ID)
__DIR__ . '/../keys/seb_user_key.pem', // private key
'', // private key password, leave empty, if not needed
__DIR__ . '/../keys/seb_bank_cert.pem', // public key
'http://localhost/banklink/SEB.php' // return url
);

// Init banklink
$seb = new Banklink\EE\SEB($protocol);

// Set payment data and get payment request object
// orderId, sum, message, language
$request = $seb->getPaymentRequest(123453, 150, 'Test makse', 'EST');

// You can also add custom request data and/or override request data
// Optional
$request = $seb->getPaymentRequest(123453, 150, 'Test makse', 'EST', 'EUR', [
'VK_REF' => 'my_custom_reference_number', // Override reference number
'INAPP' => true // Pocopay specific example
]);
?>


echo $request->getRequestInputs(); ?>

Authentication

getAuthRequest(); ?>
getRequestInputs(); ?>
">
require __DIR__ . '/vendor/autoload.php';

use RKD\Banklink;

// Init protocol
$protocol = new Banklink\Protocol\IPizza(
'uid100010', // seller ID (SND ID)
__DIR__ . '/../keys/seb_user_key.pem', // private key
'', // private key password, leave empty, if not needed
__DIR__ . '/../keys/seb_bank_cert.pem', // public key
'http://localhost/banklink/SEB.php' // return url
);

// Init banklink
$seb = new Banklink\EE\SEB($protocol);

// Get auth request object
$request = $seb->getAuthRequest();
?>


echo $request->getRequestInputs(); ?>

Response from provider

handleResponse($_POST); // Successful if ($response->wasSuccessful()) { // Get whole array of response $responseData = $response->getResponseData(); // User prefered language $language = $response->getLanguage(); // Only for payment data $orderId = $response->getOrderId(); $sum = $response->getSum(); $currency = $response->getCurrency(); $sender = $response->getSender(); $transactionId = $response->getTransactionId(); $transactionDate = $response->getTransactionDate(); $message = $response->getMessage(); $automatic = $response->isAutomatic(); // true if response was sent automatically by bank // Only for auth data $userId = $response->getUserId(); // Person ID $userName = $response->getUserName(); // Person name $country = $response->getUserCountry(); // Person country $authDate = $response->getAuthDate(); // Authentication response datetime // Method used for authentication // Possible values: ID Card, Mobile ID, One-off code card, PIN-calculator, Code card or unknown $authMethod = $response->getAuthMethod(); // Failed } else { // Payment data $orderId = $response->getOrderId(); // Order id to cancel order etc. } ?> ">
require __DIR__ . '/vendor/autoload.php';

use RKD\Banklink;

// Init protocol
$protocol = new Banklink\Protocol\IPizza(
'uid100010', // seller ID (SND ID)
__DIR__ . '/../keys/seb_user_key.pem', // private key
'', // private key password, leave empty, if not needed
__DIR__ . '/../keys/seb_bank_cert.pem', // public key
'http://localhost/banklink/SEB.php' // return url
);

// Init banklink
$seb = new Banklink\EE\SEB($protocol);

// Get response object
$response = $seb->handleResponse($_POST);

// Successful
if ($response->wasSuccessful()) {
// Get whole array of response
$responseData = $response->getResponseData();

// User prefered language
$language = $response->getLanguage();

// Only for payment data
$orderId = $response->getOrderId();
$sum = $response->getSum();
$currency = $response->getCurrency();
$sender = $response->getSender();
$transactionId = $response->getTransactionId();
$transactionDate = $response->getTransactionDate();
$message = $response->getMessage();
$automatic = $response->isAutomatic(); // true if response was sent automatically by bank

// Only for auth data
$userId = $response->getUserId(); // Person ID
$userName = $response->getUserName(); // Person name
$country = $response->getUserCountry(); // Person country
$authDate = $response->getAuthDate(); // Authentication response datetime

// Method used for authentication
// Possible values: ID Card, Mobile ID, One-off code card, PIN-calculator, Code card or unknown
$authMethod = $response->getAuthMethod();

// Failed
} else {
// Payment data
$orderId = $response->getOrderId(); // Order id to cancel order etc.
}
?>

Tasks

  • composer build - build by running tests and all code checks
  • composer test - run tests
  • composer format - format code against standards
  • composer docs - build API documentation
  • composer phpmd - run PHP Mess Detector
  • composer phpcs - run PHP CodeSniffer

License

Licensed under MIT

About

PHP payment library to easily integrate Baltic banklinks (supports old and new iPizza protocol), E-commerce gateaway (Estcard, Nets Estonia), Liisi Payment Link and Pocopay.

Topics

Resources

Readme

License

MIT license

Code of conduct

Code of conduct

Stars

Watchers

Forks

Packages

Contributors

Languages