2017 © Pedro Peláez
 

library bsqr

By Square document encoding, parsing and rendering utilities

image

peterbodnar.com/bsqr

By Square document encoding, parsing and rendering utilities

  • Tuesday, March 21, 2017
  • by peterbodnar.com
  • Repository
  • 3 Watchers
  • 3 Stars
  • 92 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 4 Forks
  • 0 Open issues
  • 3 Versions
  • 8 % Grown

The README.md

BySquare

By Square document encoding, rendering and parsing utilities., (*1)

Only PayBySquare document type is currently supported., (*2)

Requirements

This library uses xz system executable (/usr/bin/xz) for lzma compression/decompression.
Any suggestions how to remove this dependency are welcome., (*3)

Instalation

composer require peterbodnar.com/bsqr, (*4)

Define a PayBySquare document

use com\peterbodnar\bsqr;

$document = (new bsqr\model\Payment())
    ->setDueDate("0000-00-00") // YYYY-MM-DD
    ->setAmount(123.45, "EUR") // amount, currency code
    ->setSymbols("1234567890", "308") // variable, constant symbol
    ->addBankAccount("SK3112000000198742637541", "XXXXXXXXXXX") // iban, bic/swift
    ->createPayDocument();

According to the specification, document can contain invoice ID, multiple payments, payments can contain multiple bank accounts, extensions, etc., (*5)

use com\peterbodnar\bsqr;

$document = (new bsqr\model\Pay())
    ->setInvoiceId("1234567890")
    ->addPayment(
        (new bsqr\model\Payment())
        ->setDueDate("0000-00-00")
        ->setAmount(123.45, "EUR")
        ->setSymbols("1234567890", "308")
        ->addBankAccount("SK3112000000198742637541", "XXXXXXXXXXX")
        ->addBankAccount("SK3112000000198742637542", "XXXXXXXXXXX")
        ->addBankAccount("SK3112000000198742637543", "XXXXXXXXXXX")
        // ->setNote("Payment note")
        // ->setOriginatorsReferenceInformation("Originators Reference Information")
        // ->setDirectDebitExt( /* Direct Debit Extension */ )
        // ->setStandingOrderExt( /* Standing Order Extension */ )
    )
    ->addPayment( /* 2nd payment */ )
    ->addPayment( /* 3rd payment */ );

Render document to svg including BySqure logo and border

use com\peterbodnar\bsqr;

$bysquare = new bsqr\BySquare();

$svg = (string) $bysquare->render($document);

Get bsqr data only

use com\peterbodnar\bsqr;

$bsqrCoder = new bsqr\utils\BsqrCoder();

$bsqrData = $bsqrCoder->encode($document);

Use any qr-code library to encode/render data to qr matrix/image., (*6)

Parse bsqr data

use com\peterbodnar\bsqr;

$bsqrCoder = new bsqr\utils\BsqrCoder();

$document = $bsqrCoder->parse($bsqrData);
  • https://www.sbaonline.sk/projekt/projekty-z-oblasti-platobnych-sluzieb/
  • https://bsqr.co/schema/
  • http://www.bysquare.com/

The Versions

21/03 2017

dev-master

9999999-dev

By Square document encoding, parsing and rendering utilities

  Sources   Download

GPL-3.0 BSD-3-Clause GPL-2.0

The Requires

 

The Development Requires

bysquare paybysquare

21/03 2017

1.1.0

1.1.0.0

By Square document encoding, parsing and rendering utilities

  Sources   Download

GPL-3.0 BSD-3-Clause GPL-2.0

The Requires

 

The Development Requires

bysquare paybysquare

08/07 2016

1.0.0

1.0.0.0

By Square document encoding, parsing and rendering utilities

  Sources   Download

GPL-3.0 BSD-3-Clause GPL-2.0

The Requires

 

The Development Requires

bysquare paybysquare