2017 © Pedro Peláez
 

library bank-mails-parser

Slovak banks mail parse

image

tomaj/bank-mails-parser

Slovak banks mail parse

  • Thursday, January 25, 2018
  • by tomaj
  • Repository
  • 2 Watchers
  • 2 Stars
  • 5,052 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 5 Forks
  • 1 Open issues
  • 6 Versions
  • 8 % Grown

The README.md

BANK MAILs Parser

Library for processing bank confirmation emails. Currently supports: - TatraBanka - Two email formats (TatraBankaMailParser, TatraBankaSimpleMailParser, TatraBankaStatementMailParser) - ČSOB CZ - Czech ČSOB emails (CsobMailParser)
- ČSOB SK - Slovak ČSOB emails (SkCsobMailParser), (*1)

Build Status Test Coverage Code Climate, (*2)

Latest Stable Version Latest Unstable Version License, (*3)

Installation

Install package via composer:, (*4)

``` bash $ composer require tomaj/bank-mails-parser, (*5)


Usage ----- ### TatraBanka parsers Basic usage with TatraBanka parser: ``` php use Tomaj\BankMailsParser\Parser\TatraBanka\TatraBankaMailParser; $tatraBankaMailParser = new TatraBankaMailParser(); $mailContent = $tatraBankaMailParser->parse('mail content'); echo $mailContent->getKs() . "\n"; echo $mailContent->getSs() . "\n"; echo $mailContent->getVs() . "\n"; echo $mailContent->getReceiverMessage() . "\n"; echo $mailContent->getDescription() . "\n"; echo $mailContent->getCurrency() . "\n"; echo $mailContent->getTransactionDate() . "\n"; echo $mailContent->getAccountNumber() . "\n"; echo $mailContent->getAmount() . "\n"; echo $mailContent->getAccountNumber() . "\n"; echo $mailContent->getTxn() . "\n";

With TatraBankaSimpleMailParser you can parse comforpay emails. There are other getters like CID for reccurent payments., (*6)

``` php echo $mailContent->getCid() . "\n"; echo $mailContent->getSign() . "\n"; echo $mailContent->getRes() . "\n";, (*7)


With *TatraBankaStatementMailParser* you can parse encrypted PGP emails containing payment statements: ``` php use Tomaj\BankMailsParser\Parser\TatraBanka\TatraBankaStatementMailParser; use Tomaj\BankMailsParser\Parser\TatraBanka\TatraBankaMailDecryptor; $decryptor = new TatraBankaMailDecryptor('/path/to/private-key.asc', 'passphrase'); $parser = new TatraBankaStatementMailParser($decryptor); $mailContents = $parser->parseMulti('encrypted mail content'); foreach ($mailContents as $mailContent) { echo $mailContent->getVs() . "\n"; echo $mailContent->getAmount() . "\n"; echo $mailContent->getCurrency() . "\n"; }

ČSOB parsers

For Czech ČSOB emails:, (*8)

``` php use Tomaj\BankMailsParser\Parser\Csob\CsobMailParser;, (*9)

$csobMailParser = new CsobMailParser(); $mailContents = $csobMailParser->parseMulti('mail content');, (*10)

foreach ($mailContents as $mailContent) { echo $mailContent->getVs() . "\n"; echo $mailContent->getKs() . "\n"; echo $mailContent->getAmount() . "\n"; echo $mailContent->getCurrency() . "\n"; echo $mailContent->getAccountNumber() . "\n"; echo $mailContent->getSourceAccountNumber() . "\n"; }, (*11)


For Slovak ČSOB emails: ``` php use Tomaj\BankMailsParser\Parser\Csob\SkCsobMailParser; $skCsobMailParser = new SkCsobMailParser(); $mailContents = $skCsobMailParser->parseMulti('mail content'); foreach ($mailContents as $mailContent) { echo $mailContent->getVs() . "\n"; echo $mailContent->getKs() . "\n"; echo $mailContent->getAmount() . "\n"; echo $mailContent->getCurrency() . "\n"; echo $mailContent->getAccountNumber() . "\n"; }

Upgrade from 2.* to 3.*

For using version 3 you will need at least php 7.1. There were introduced multiple breaking changes: 1. Tomaj\BankMailsParser\Parser\ParserInterface will no return false anymore, only ?MailContent 2. Introduced strict types for whole project declare(strict_types=1); 3. All Tatrabanka related code was moved under TatraBanka folder with proper namespace 4. Added strict types to all methods and params 5. Upgrade phpunit to version 9, (*12)

Upgrade from 1.* to 2.*

There is one breaking change in version 2.0 - parser returns MailContent always when email is parsed. In version 1.0 - parser returns MailContent only when response from bank was OK. In version 2 you can read also FAIL emails., (*13)

Usage with imap mail downlaoder

Example how to use with imap mail downloader:, (*14)

``` php use Tomaj\ImapMailDownloader\Downloader; use Tomaj\ImapMailDownloader\MailCriteria; use Tomaj\ImapMailDownloader\Email; use Tomaj\BankMailsParser\Parser\TatraBanka\TatraBankaMailParser;, (*15)

$downloader = new Downloader('imap host', port, 'username', 'password');, (*16)

$criteria = new MailCriteria(); $criteria->setFrom('some@email.com'); $downloader->fetch($criteria, function(Email $email) { $tatraBankaMailParser = new TatraBankaMailParser(); $mailContent = $tatraBankaMailParser->parse($email->getBody());, (*17)

// process $mailContent data...

return true;

}); ```, (*18)

Note: You have to include package imap-email-downloader: composer require tomaj/imap-email-downloader, (*19)

TODO

Add parsers for other banks confirmation emails. Feel free to fork and create pull requests with other banks parsers., (*20)

Available parsers: - ✅ TatraBanka (Slovakia) - TatraBankaMailParser, TatraBankaSimpleMailParser, TatraBankaStatementMailParser - ✅ ČSOB CZ (Czech Republic) - CsobMailParser - ✅ ČSOB SK (Slovakia) - SkCsobMailParser, (*21)

The Versions

25/01 2018

dev-master

9999999-dev

Slovak banks mail parse

  Sources   Download

LGPL LGPL-2.0-or-later

The Requires

  • php >= 5.3.7

 

The Development Requires

16/05 2017

2.2.0

2.2.0.0

Slovak banks mail parse

  Sources   Download

LGPL

The Requires

  • php >= 5.3.7

 

The Development Requires

24/03 2017

2.1.0

2.1.0.0

Slovak banks mail parse

  Sources   Download

LGPL

The Requires

  • php >= 5.3.7

 

The Development Requires

27/11 2016

2.0.0

2.0.0.0

Slovak banks mail parse

  Sources   Download

LGPL

The Requires

  • php >= 5.3.7

 

The Development Requires

31/08 2015

1.1.0

1.1.0.0

Slovak banks mail parse

  Sources   Download

LGPL

The Requires

  • php >= 5.3.7

 

The Development Requires

02/02 2015

1.0.0

1.0.0.0

Slovak banks mail parse

  Sources   Download

LGPL

The Requires

  • php >= 5.3.7

 

The Development Requires