kadekjayak/bca-parser

KlikBCA 的抓取器

v1.0 2022-09-25 05:53 UTC

This package is not auto-updated.

Last update: 2024-09-22 15:22:15 UTC


README

此类用于获取 KlikBCA (m.klikbca.com) 的账户变动和余额数据

安装

使用 composer 安装

composer require kadekjayak/bca-parser

需求

  • PHP cURL
  • PHP OpenSSL

示例

初始化

use BCAParser\BCAParser;

$Parser = new BCAParser('username', 'password');

此插件使用 ipfy.org 服务来查找您的公网 IP。如果您有静态的公网 IP,请在第三个参数中设置。

$Parser = new BCAParser('username', 'password', "192.168.1.1");

获取账户变动

可以通过 getMutasiRekening 方法获取账户变动,需要指定交易日期范围 getMutasiRekening(dari, sampai)。例如

$Html = $Parser->getMutasiRekening('2016-08-1', '2016-08-12');

此方法返回包含交易列表的 HTML 元素 <table>

如果需要以数组格式获取结果,请使用 getListTransaksi(dari, sampai) 方法,请参考其源代码。

获取信用账户变动

要获取账户中(信用)的收入交易历史,可以使用 getTransaksiCredit 方法,需要指定交易日期范围 getTransaksiCredit(dari, sampai)。例如

$Html = $Parser->getTransaksiCredit('2016-11-20', '2016-11-27');

生成的数组结构大致如下,注意不同类型的交易之间的值差异

Array
(
    [3] => Array
        (
            [date] => 2016-11-22
            [description] => Array
                (
                	//Transaksi Antar Rekening
                    [0] => TRSF E-BANKING CR 
                    [1] => 11/22 33223       
                    [2] => Komentar              
                    [3] => Kadek Jayak
                    [4] => 0000
                    [5] => 20,000.00 //Jumlah Transfer
                )

            [flows] => CR
        )

    [4] => Array
        (
            [date] => 2016-11-25
            [description] => Array
                (
                	//Transaksi Antar BANK
                    [0] => SWITCHING CR      
                    [1] => TRANSFER   DR 013 
                    [2] => Kadek Jayak
                    [3] => Nama BANK
                    [4] => 0999
                    [5] => 200,000.00
                )

            [flows] => CR
        )

)

获取借记账户变动

要获取账户中(借记)的支出交易历史,可以使用 getTransaksiDebit 方法,需要指定交易日期范围 getTransaksiDebit(dari, sampai)。例如

$Html = $Parser->getTransaksiDebit('2016-11-20', '2016-11-27');

生成的数组结构大致如下,注意每种交易类型的值差异

Array
(
	[0] => Array
		(
			[date] => 2019-02-18
			[description] => Array
				(
					[0] => SWITCHING DB
					[1] => TANGGAL :16/02
					[2] => TRANSFER   KE 000
					[3] => KADEK JAYAK
					[4] => M-BCA
					[5] => 0000
					[6] => 2,275,000.00
				)

			[flows] => DB
		)

	[1] => Array
		(
			[date] => 2019-02-18
			[description] => Array
				(
					[0] => TARIKAN ATM 16/02
					[1] => 0000
					[2] => 200,000.00
				)

			[flows] => DB
		)

	[2] => Array
		(
			[date] => 2019-02-18
			[description] => Array
				(
					[0] => BYR VIA E-BANKING
					[1] => 18/02  WSID000000
					[2] => 00000 MERCHANT
					[3] => 55100000000
					[4] => KADEK JAYAK
					[5] => 0000
					[6] => 850,272.00
				)

			[flows] => DB
		)

	[3] => Array
		(
			[date] => 2019-02-19
			[description] => Array
				(
					[0] => TRSF E-BANKING DB
					[1] => 00000/FTFVA/WS00000
					[2] => 00000/MERCHANT
					[3] => -
					[4] => -
					[5] => 0105000000
					[6] => 0000
					[7] => 125,987.00
				)

			[flows] => DB
		)

)

检查余额

获取余额信息,感谢 @jojoarianto

$Parser->getSaldo();

生成的数组结构如下

Array
(
	[0] => Array
		(
			[rekening] => 6110000000	// Nomor Rekening
			[saldo] => 12,123,551.15	// Saldo
		)

)

注销

可以通过调用方法 logout() 来注销,确保在获取交易数据后注销,如果不这样做,您可能需要等待 10 分钟才能通过 KlikBCA 网站登录。

注意

要调试或显示 CURL 的响应,只需将此类中的 BCA_PARSER_DEBUG 的值更改为 true。银行限制每 10 分钟登录一次,如果想要创建“自动检查”脚本,请确保检查间隔时间超过 10 分钟!。

更新

  • 在从 KlikBCA 获取交易数据后进行注销,这样您就不需要等待 10 分钟才能进行后续操作了 *需要测试