Giter Site home page Giter Site logo

bankly-php's Introduction

Bankly (Acesso)

Unnofficial PHP class to access Bankly (by Acesso) API.

API Docs here.

Javascript port here.

Usage

Authentication and token refreshing is handled by the class itself.

Start by including the class and creating an instance supplying your client_id and client_secret provided by Acesso.

composer require jesobreira/bankly
use BanklyPHP\Bankly;
use BanklyPHP\BankAccount;
$bankly = new Bankly('client_id', 'client_secret');

Getting account balance

Provide the branch and account number (without hyphen) to get the balance.

$bankly->getBalance('0001', '1234');

This method returns a JSON object.

Getting account statement

Provide:

  • Branch (string)
  • Account number (string)
  • Offset (number, starts at 0)
  • Limit (number, > 0)
  • Details (optional, boolean, default true)
  • DetailsLevelBasic (optional, boolean, default true)
$bankly->getStatement('0001', '1234', 0, 10);

This method returns a JSON object.

Getting account events

Provide:

  • Branch (string)
  • Account number (string)
  • Page (number, starts at 1)
  • Pagesize (number, > 0)
  • IncludeDetails (optional, boolean, default true)
$bankly->getEvents('0001', '1234', 1, 10);

This method returns a JSON object.

Performing transfers

Note: this method causes subtraction of real money.

In order to specify an origin and destination bank account, you must create two BankAccount objects.

A bank account instance must be created receiving an object with the following properties:

  • branch (string): account branch
  • account (string): account number (no hyphen)
  • document (string): account holder's CPF or CNPJ (numbers only)
  • name (string): account holder name
  • bankCode (string, optional): bank code (see below, defaults to Acesso's 332)

Then you will use the transfer() method to perform the actual transfer, providing:

  • The amount in centavos (1 BRL = 100 centavos)
  • Reference or description (human-readable string)
  • Sender (a BankAccount object)
  • Recipient (a BankAccount Object)

Example:

$from = new BankAccount;
$from->branch = '0001';
$from->account = '1234';
$from->document = '00000000000000';
$from->name = 'Company LTDA';

$to = new BankAccount;
$to->bankCode = '123';
$to->branch = '1234';
$to->account = '12345';
$to->document = '00000000000';
$to->name = 'John Doe';

// transfer BRL 5 (R$ 5)
$bankly->transfer(500, 'test', $from, $to);

This method returns an object. This object contains an "authenticationCode" property with a string, with a reference code for the transaction that you will use to check its status later.

Getting transfer status

Use the following method to retrieve a transaction's status. You will need to provide:

  • The origin branch
  • The origin account number
  • The AuthenticationId (that you receive as authenticationCode from the transfer method)
$bankly->getTransferStatus('0001', '1234', 'AuthenticationId');

This method returns a JSON object.

Getting banks list

You can get a list of banks and payment institutions with respective codes from the Central Bank (Bacen). No authentication is needed. You can either call this getter from your instance:

$banks = bankly->bankList;

Or use this static method directly (no class instancing needed):

$banks = Bankly::bankList();

This returns a JSON array. You can also perform this request using your browser by clicking here.

Debugging

You can define a function that receives debug logs (as strings) from your instance of the class.

$bankly.debug = function ($msg) {
	echo $msg . "\r\n";
};

bankly-php's People

Contributors

jesobreira avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.