renekorss / banklink
PHP banklink library to easily integrate Baltic banklinks.
Installs: 25 610
Dependents: 1
Suggesters: 0
Security: 0
Stars: 36
Watchers: 10
Forks: 19
Open Issues: 3
Requires
- php: >=7.2
- ext-mbstring: *
- lib-openssl: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- php-coveralls/php-coveralls: ^2.5
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ^9.4
- squizlabs/php_codesniffer: ^3.3
This package is auto-updated.
Last update: 2024-11-18 03:30:29 UTC
README
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
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
orwww
).If you store keys as strings in database, then they should be accessible only over HTTPS protocol.
Payment
<?php 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 ]); ?> <form method="POST" action="<?php echo $request->getRequestUrl(); ?>"> <?php echo $request->getRequestInputs(); ?> <input type="submit" value="Pay with SEB!" /> </form>
Authentication
<?php 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(); ?> <form method="POST" action="<?php echo $request->getRequestUrl(); ?>"> <?php echo $request->getRequestInputs(); ?> <input type="submit" value="Authenticate with SEB!" /> </form>
Response from provider
<?php 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 checkscomposer test
- run testscomposer format
- format code against standardscomposer docs
- build API documentationcomposer phpmd
- run PHP Mess Detectorcomposer phpcs
- run PHP CodeSniffer
License
Licensed under MIT