1. Go to this page and download the library: Download rikudou/skqrpayment library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
rikudou / skqrpayment example snippets
use rikudou\SkQrPayment\QrPayment;
use Rikudou\Iban\Iban\IBAN;
use rikudou\SkQrPayment\Iban\IbanBicPair;
// without IBANs
$payment = new QrPayment();
// one IBAN
$payment = new QrPayment(new IBAN('SK1234567890123456'));
// multiple IBANs, there can be as many as you want
$payment = new QrPayment(
new IBAN('SK1234567890123456'),
new IBAN('SK1234567890123456'),
new IbanBicPair('SK1234567890123456', 'BANKBIC')
);
use rikudou\SkQrPayment\QrPayment;
$payment = QrPayment::fromIBAN('SK1234567890123456');
use rikudou\SkQrPayment\QrPayment;
use Rikudou\Iban\Iban\IBAN;
use rikudou\SkQrPayment\Iban\IbanBicPair;
$payment = new QrPayment();
$iban1 = new IBAN('SK1234567890123456');
$iban2 = new IBAN('SK6543210987654321');
$payment
->addIban($iban1)
->addIban($iban2);
// object now contains both IBANs
$payment
->removeIban($iban2);
// only the first IBAN is now present in the object
// You don't have to store the object, the ibans are considered the same if the string representation is the same:
$payment
->removeIban(new IbanBicPair('SK1234567890123456'));
// the object now doesn't contain any IBAN
$payment->setIbans([
$iban1,
$iban2
]);
use rikudou\SkQrPayment\QrPayment;
use rikudou\SkQrPayment\Payment\QrPaymentOptions;
use Rikudou\Iban\Iban\IBAN;
$payment = new QrPayment();
$payment->setOptions([
QrPaymentOptions::AMOUNT => 100,
QrPaymentOptions::COMMENT => 'payment',
QrPaymentOptions::CONSTANT_SYMBOL => 123,
QrPaymentOptions::COUNTRY => 'SK',
QrPaymentOptions::CURRENCY => 'EUR',
QrPaymentOptions::DUE_DATE => new DateTime('+1 week'),
QrPaymentOptions::INTERNAL_ID => '456',
QrPaymentOptions::PAYEE_NAME => 'John Doe',
QrPaymentOptions::SPECIFIC_SYMBOL => 789,
QrPaymentOptions::VARIABLE_SYMBOL => 012,
QrPaymentOptions::XZ_PATH => '/path/to/xz',
QrPaymentOptions::IBANS => [
new IBAN('SK1234567890123456')
]
]);
use rikudou\SkQrPayment\QrPayment;
use Rikudou\Iban\Iban\IBAN;
$payment = new QrPayment();
$payment
->setAmount(100)
->setComment('payment')
->setConstantSymbol('123')
->setCountry('SK')
->setCurrency('EUR')
->setDueDate(new DateTime('+1 week'))
->setInternalId('456')
->setPayeeName('John Doe')
->setSpecificSymbol('789')
->setVariableSymbol('012')
->setXzBinary('/path/to/xz')
->setIbans([
new IBAN('SK01234567890123456')
]);
use rikudou\SkQrPayment\QrPayment;
use Endroid\QrCode\QrCode;
$payment = new QrPayment(...);
$qrCode = $payment->getQrCode();
// get the raw image data and display them in the browser
header('Content-Type: image/png');
echo $qrCode->getRawString();
// use in an img html tag
echo "<img src='{$qrCode->getDataUri()}'>";
// write to a file
$qrCode->writeToFile('/tmp/some-file.png');
// get the raw object from the underlying system
$raw = $qrCode->getRawObject();
// let's assume we're using endroid/qr-code v4
assert($raw instanceof QrCode);
// do some custom transformations
$raw->setLabelFontSize(15);
// the object is still referenced by the adapter, meaning we can now render it the same way as before
echo "<img src='{$qrCode->getDataUri()}'>";
use rikudou\SkQrPayment\QrPayment;
use Rikudou\Iban\Iban\IBAN;
$payment = new QrPayment(new IBAN('SK6807200002891987426353'));
$payment
->setAmount(500)
->setVariableSymbol('123456')
->setDueDate(new DateTime('+1 week'))
;
$qrString = $payment->getQrString();
// $qrString now holds the string to embed inside the QR code, in this example:
// 0004U0001M8GLP3E8KPT058IQ99QISMB02IH36MOD4BCKQQGVDE4641AOA2NURPCOPSALFG0LPG1C6N0E2JMC7RG2F4L2E57OCSHOUROGHOC8VTTPHHRFHU6VFTM8N80
$qrCode = $payment->getQrImage();
// send to browser
header('Content-Type: ' . $qrCode->getContentType());
echo $qrCode->writeString();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.