Fork me on GitHub

Banklink

Banklink is a PHP library that makes integrating various internet bank services ("bank links") easy, fast and reliable.

Download See how it works

About

Banklink a is simple to use, powerful and reliable PHP library for all your banking integration needs.

Open source

Banklink is distributed with MIT license. This means that you're free to use it, copy it, modify it at no cost.

Documentation

Banklink functionality is well-documented with both real-life examples and PHPDoc blocks.

Modern

Banklink is built with the help of modern technologies and services, such as GitHub, Travis CI, Composer.

Architecture

Banklink is built with OOP architecture in mind. It's not only easy to use, but also easy to extend.

Test coverage

Banklink code stability is backed up by numerous passing tests.

Standards compliant

Banklink is compliant with PSR-0/1/2 standards.


Support status

Banklink is a constantly evolving project, so if something you need isn't supported, please come back in a few weeks - chances are it will be then.
If you need a feature that isn't listed below or find a bug, please open a ticket on GitHub.

Bank Payments Authentication
Swedbank Yes No
LHV Yes No
SEB Yes No
Nordea Yes No
EstCard No No
Sampo Yes No
Krediidipank Yes No

Download

The recommended way to install Banklink is through Composer. Just create a composer.json file with contents below and run the php composer.phar install command to install it:

{
    "require": {
        "inori/banklink" : "~0.2"
    }
}

Alternatively you can either clone the latest version with git: git clone git//github.com/Inori/Banklink.git or simply download it directly on GitHub downloads page.


Examples

Below is a demo application that shows you how Banklink applications work, requests go to Pangalink service. Code is available on github.

# Name Quantity Price / item Price total
1 Guinness Original/Extra Stout 5 2 € 10 €
1 The Shawshank Redemption (Blu-Ray Disc) 1 15 € 15 €
Total: 25 €
To start the payment simply click on suitable Bank name below
Swedbank LHV SEB Danskebank Krediidipank Nordea SEB (SEB-i testkond)

Below is a simple code sample you can copy to your controller/template and see in action:

// get Banklink instances for banks you want to support
// Protip: use DIC like Pimple to handle Banklink classes instantiation
$protocol = new \Banklink\Protocol\iPizza(
    'uu11223344',
    'Banklink',
    '119933113300',
    __DIR__.'/../data/Swedbank/private_key.pem',
    __DIR__.'/../data/Swedbank/public_key.pem',
    'http://banklink.inoryy.com/banklink/swedbank'
);
$swedbank = new \Banklink\Swedbank($protocol);

// Prepare requests with desired parameters, then pass them to your templates
$swedbankRequest = $swedbank->preparePaymentRequest(1, 25, $message = 'Beer + Movie');
<form action="<?php echo $swedbankRequest->getRequestUrl() ?>" method="post">
    <?php echo $swedbankRequest->buildRequestHtml() ?>
    <input type="submit" value="Swedbank" />
</form>