1. Go to this page and download the library: Download latysh/aba-bundle 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/ */
latysh / aba-bundle example snippets
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Latysh\AbaBundle\LatyshAbaBundle(),
);
// ...
}
// ...
}
use Latysh\AbaBundle\Model\Aba;
// ...
/**
* @Route("/aba_test", name="aba_test")
*/
public function abaAction() {
$params = array(
'bsb' => '123-123',
'accountNumber' => '12345678',
'bankName' => 'CBA',
'userName' => 'Some name',
'remitterName' => 'From some guy',
'directEntryUserId' => '999999',
'description' => 'Payroll'
);
$t1 = new Aba\DetailRecord();
$t1->setAccountName('John Smith');
$t1->setAccountNumber('098765');
$t1->setBsb('234-456');
$t1->setAmount(345);
$t1->setRemitter('Pepperstone');
$t1->setTransactionCode(Aba\TransactionCode::EXTERNALLY_INITIATED_DEBIT);
$t1->setReference('A direct debit');
$t2 = new Aba\DetailRecord();
$t2->setAccountName('Mary Jane');
$t2->setAccountNumber('67832');
$t2->setBsb('123-456');
$t2->setAmount(8765);
$t2->setRemitter('Hitachi');
$t2->setTransactionCode(Aba\TransactionCode::EXTERNALLY_INITIATED_CREDIT);
$t2->setReference('For dinner');
$t3 = new Aba\DetailRecord();
$t3->setAccountName('Borris Becker');
$t3->setAccountNumber('84736');
$t3->setBsb('098-765');
$t3->setAmount(7546);
$t3->setRemitter('Panasonic');
$t3->setTransactionCode(Aba\TransactionCode::PAYROLL_PAYMENT);
$t3->setReference('Your salary');
$t4 = new Aba\DetailRecord();
$t4->setAccountName('Some Dude');
$t4->setAccountNumber('123456789');
$t4->setBsb('888-888');
$t4->setAmount(123456);
$t4->setRemitter('Sony');
$t4->setTransactionCode(Aba\TransactionCode::PAYROLL_PAYMENT);
$t4->setReference('Your salary');
$fd = fopen('php://temp/maxmemory:4048576', 'w');
if ($fd === false) {
die('Failed to open temporary file');
}
$abaString = $this->get('latysh_aba_file_generator')->generate($params, [$t1, $t2, $t3, $t4]); // $transaction could also be an array here
fwrite($fd, $abaString);
rewind($fd);
$content = stream_get_contents($fd);
$response = new Response();
$response->headers->set('Content-Type', 'text/plain');
$response->headers->set('Content-Disposition', "attachment;filename=test.aba");
$response->setContent($content);
return $response;
}
use Latysh\AbaBundle\Model\NabInt;
// ...
/**
* @Route("/nab_aba_test", name="nab_aba_test")
*/
public function intAbaAction() {
$p1 = new NabInt\PaymentRecord();
$p1->setPayCurrencyCode('AUD');
$p1->setValueDate(new \DateTime());
$p1->setReference('123456 WD');
$p1->setBeneficiaryName('Altynbek Usenov');
$p1->setBeneficiaryAddress1('Lenina 100 unit 109');
$p1->setBeneficiaryAddress2('Naryn, Kyrgyzstan');
$p1->setBeneficiaryAddress3('KG');
$p1->setBeneficiaryAccountNumber('123456789');
$p1->setBeneficiaryBankName('DEMIRBANK');
$p1->setOverseasBankCharges('B');
$p1->setRemitterName('Latysh and Co');
$p1->setRefinanceDate(new \DateTime());
$p1->setAdditionalBeneficiaryInstructions1('Please send money asap');
$p1->setBeneficiaryBicAddress('DEMIKG22');
$pd1 = new NabInt\PaymentDetailRecord();
$pd1->setPaymentMethod('NFA');
$pd1->setPaymentLegCurrencyCode('AUD');
$pd1->setPaymentLegAmount(100.11);
$pd1->setDebitAccountBsb('111222');
$pd1->setDebitAccountNumber('123456789');
$pd1->setDebitCurrencyCode('AUD');
$pd1->setDebitAmount(100.11);
$pd1->setRefinanceIndicator('0');
$pd2 = new NabInt\PaymentDetailRecord();
$pd2->setPaymentMethod('NFA');
$pd2->setPaymentLegCurrencyCode('AUD');
$pd2->setPaymentLegAmount(200.22);
$pd2->setDebitAccountBsb('333444');
$pd2->setDebitAccountNumber('123456789');
$pd2->setDebitCurrencyCode('AUD');
$pd2->setDebitAmount(200.22);
$pd2->setRefinanceIndicator('0');
$p1->setPaymentDetailRecords([$pd1, $pd2]);
$p2 = new NabInt\PaymentRecord();
$p2->setPayCurrencyCode('BHD');
$p2->setValueDate(new \DateTime());
$p2->setReference('654321 WD');
$p2->setBeneficiaryName('Marlon Peiris');
$p2->setBeneficiaryAddress1('Random address 222');
$p2->setBeneficiaryAddress2('Buhra, Sri Lanka');
$p2->setBeneficiaryAddress3('SR');
$p2->setBeneficiaryAccountNumber('987654321');
$p2->setBeneficiaryBankName('SRIBANK');
$p2->setOverseasBankCharges('B');
$p2->setRemitterName('Butterfly hunter');
$p2->setRefinanceDate(new \DateTime());
$p2->setAdditionalBeneficiaryInstructions1('Please send money to best designer');
$p2->setBeneficiaryBicAddress('SRISSR55');
$pd3 = new NabInt\PaymentDetailRecord();
$pd3->setPaymentMethod('NFA');
$pd3->setPaymentLegCurrencyCode('BHD');
$pd3->setPaymentLegAmount(50.65);
$pd3->setDebitAccountBsb('444555');
$pd3->setDebitAccountNumber('987654321');
$pd3->setDebitCurrencyCode('BHD');
$pd3->setDebitAmount(50.65);
$pd3->setRefinanceIndicator('0');
$p2->setPaymentDetailRecords($pd3);
$fd = fopen('php://temp/maxmemory:4048576', 'w');
if ($fd === false) {
die('Failed to open temporary file');
}
$abaString = $this->get('latysh_nab_aba_file_generator')->generate([$p1, $p2]); // $transaction could also be an array here
fwrite($fd, $abaString);
rewind($fd);
$content = stream_get_contents($fd);
$response = new Response();
$response->headers->set('Content-Type', 'text/plain');
$response->headers->set('Content-Disposition', "attachment;filename=nabtest.aba");
$response->setContent($content);
return $response;
}