aurimasniekis/gmo-aozora-simple-client

A simple client for accessing your bank information from https://gmo-aozora.com/

1.0.0 2020-03-20 13:19 UTC

This package is auto-updated.

Last update: 2024-10-20 23:13:14 UTC


README

Latest Version on Packagist Software License Build Status Total Downloads

Email

A simple client for accessing your bank information from https://gmo-aozora.com/ based on aurimasniekis/gmo-aozora-client

Install

Via Composer

$ composer require aurimasniekis/gmo-aozora-simple-client

Configuration

There are two ways to define a configuration, one is statically defining values and another is loading from JSON config file which will be updated with authentication token and device token. Device token is required to be preserved to prevent giving notification from a new login.

Static Configuration:

<?php

use AurimasNiekis\GmoAozoraClient\Configuration;

$config = new Configuration(
    string $username,
    string $password,
    string $deviceToken = null,
    string $faToken = null,
    string $serviceType = self::SERVICE_TYPE, // https://bank.gmo-aozora.com/v1
    string $ssoDomain = self::SSO_DOMAIN,     // https://sso.gmo-aozora.com
    string $apiDomain = self::API_DOMAIN      // https://bank.gmo-aozora.com/v1
);

JSON Config File:

<?php

use AurimasNiekis\GmoAozoraClient\JsonFileConfiguration;

$config = new JsonFileConfiguration(
    string $configFile
);
{
    "username": "1233456",
    "password": "1233456"
}

Available options:

Usage

<?php

use AurimasNiekis\GmoAozoraSimpleClient\SimpleClient;
use AurimasNiekis\GmoAozoraClient\JsonFileConfiguration;


$config    = new JsonFileConfiguration(__DIR__ . '/config.json');
$client    = new SimpleClient($config);

To get account details

$accountDetails = $client->accountDetails();
^ AurimasNiekis\GmoAozoraClient\Model\AccountDetails^ {#9
  -raw: array:27 [
   ...
  ]
  -customerName: null
  -customerType: null
  -lastLoginDatetime: DateTimeImmutable @1584736703 {#10
    date: 2020-03-20 20:38:23.626 UTC (+00:00)
  }
  -queryDatetime: DateTimeImmutable @1584738476 {#11
    date: 2020-03-20 21:07:56.664 UTC (+00:00)
  }
  -isLock: null
  -rankName: "1テックま君"
  -rankLogoUrl: null
  -atmFeeFreeCount: 2
  -transferFeeFreeCount: 1
  -transferLimitAmount: "500000000000"
  -oneDayTransferLimitAmount: "500000000000"
  -lastDayTotalBalance: "9999999"
  -totalBalance: "9999999"
  -ordinaryDepositTotalBalance: "9999999"
  -sweepTotalBalance: ""
  -lastDaySweepTotalBalance: ""
  -termDepositTotalBalance: ""
  -fcyOrdinaryDepositTotalJpyBalance: ""
  -uncollectedAmount: "0"
  -uncollectedDeducationBalance: null
  -branchCode: "123"
  -branchName: "..."
  -accountNumber: "1234567"
  -debitPlanList: []
  -rateList: array:8 [
    0 => array:16 [
      "customerRateId" => "1212321"
      "currency" => "USD"
      "ttb" => "110.07"
      "tts" => "110.11"
      "ttbRiseOrFall" => "1"
      "ttmRiseOrFall" => "1"
      "ttsRiseOrFall" => "1"
      "isServiceTime" => "1"
      "isValidRate" => "1"
      "currencyName" => "米ドル"
      "displayFractionLength" => 2
      "orderFractionLength" => 2
      "currencyServiceStatus" => "1"
      "validSeconds" => 10
      "generatedAt" => "20200320210755456"
      "ttm" => "110.09"
    ]
    ...
  ]
  -authorityList: []
  -statementList: array:5 [
    0 => AurimasNiekis\GmoAozoraClient\Model\PaymentStatementEntry^ {#14
      -raw: array:7 [
        ...
      ]
      -data: DateTimeImmutable @1584706076 {#13
        date: 2020-03-20 12:07:56.0 UTC (+00:00)
      }
      -remark: "Visa"
      -memo: null
      -amount: "400"
      -balance: "123456789"
      -accountEntryNumber: "123456"
      -creditDebitType: "2"
    }
    1 => AurimasNiekis\GmoAozoraClient\Model\IncomeStatementEntry^ {#14
      -raw: array:7 [
        ...
      ]
      -data: DateTimeImmutable @1584706076 {#13
        date: 2020-03-20 12:07:56.0 UTC (+00:00)
      }
      -remark: "Visa"
      -memo: null
      -amount: "123456789"
      -balance: "123456789"
      -accountEntryNumber: "123456"
      -creditDebitType: "1"
    }
    ...
  ]
}

Statements

Ordinary Deposit Statements:

$statements = $client->ordinaryDepositStatement(
   DateTimeInterface $toDate = null,
   DateTimeInterface $fromDate = null,
   int $perPage = 2000
)

Foreign Currency Ordinary Deposit Statements:

$statements = $client->foreignOrdinaryDepositStatement(
   DateTimeInterface $toDate = null,
   DateTimeInterface $fromDate = null,
   int $perPage = 2000
)

Term Deposit Statements:

$statements = $client->termDepositStatement(
   DateTimeInterface $toDate = null,
   DateTimeInterface $fromDate = null,
   int $perPage = 2000
)

Sweep Account Statements:

$statements = $client->sweepAccountStatement(
   DateTimeInterface $toDate = null,
   DateTimeInterface $fromDate = null,
   int $perPage = 2000
)

Raw statement:

$statements = $client->rawStatement(
    string $type,
    array $options,
    DateTimeInterface $toDate = null,
    DateTimeInterface $fromDate = null,
    int $offset = 0,
    int $limit = 20
)

Raw statements with all pages fetched:

$statements = $client->rawStatementAll(
   string $type,
   array $options,
   DateTimeInterface $toDate = null,
   DateTimeInterface $fromDate = null,
   int $perPage = 2000
)

Results for these functions are the same:

array:100 [
    0 => AurimasNiekis\GmoAozoraClient\Model\PaymentStatementEntry^ {#14
      -raw: array:7 [
        ...
      ]
      -data: DateTimeImmutable @1584706076 {#13
        date: 2020-03-20 12:07:56.0 UTC (+00:00)
      }
      -remark: "Visa"
      -memo: null
      -amount: "400"
      -balance: "123456789"
      -accountEntryNumber: "123456"
      -creditDebitType: "2"
    },
    ...
]

Visa Statements:

$statements = $client->visaStatement(
   DateTimeInterface $toDate = null,
   DateTimeInterface $fromDate = null,
   int $perPage = 2000
)
array:100 [
   0 => AurimasNiekis\GmoAozoraClient\Model\VisaStatementEntry^ {#21
    -raw: array:9 [
      ...
    ]
    -date: DateTimeImmutable @1584274771 {#22
      date: 2020-03-15 12:19:31.0 UTC (+00:00)
    }
    -usage: "AMAZON.CO.JP"
    -amount: "1234"
    -status: "1"
    -localCurrencyAmount: "0.0"
    -atmUseFee: null
    -currency: null
    -conversionRate: null
    -approvalNumber: "12345"
  }
  ...
]

Testing

Run PHP style checker

$ composer cs-check

Run PHP style fixer

$ composer cs-fix

Contributing

Please see CONTRIBUTING and CONDUCT for details.

License

Please see License File for more information.