From 8999fc47600af53022120449f74ce7b8647ec339 Mon Sep 17 00:00:00 2001 From: Jose Marchant Date: Tue, 31 Mar 2026 12:38:49 -0300 Subject: [PATCH 1/4] feat: add account_statements resource under v2 accounts Add AccountStatement resource and AccountStatementsManager to support the new GET /v2/accounts/{account_id}/account_statements endpoint. --- src/lib/managers/v2/accountStatementsManager.ts | 7 +++++++ src/lib/managers/v2/accountsManager.ts | 3 +++ src/lib/managers/v2/index.ts | 1 + src/lib/resources/v2/accountStatement.ts | 4 ++++ src/lib/resources/v2/index.ts | 1 + 5 files changed, 16 insertions(+) create mode 100644 src/lib/managers/v2/accountStatementsManager.ts create mode 100644 src/lib/resources/v2/accountStatement.ts diff --git a/src/lib/managers/v2/accountStatementsManager.ts b/src/lib/managers/v2/accountStatementsManager.ts new file mode 100644 index 0000000..a29d63c --- /dev/null +++ b/src/lib/managers/v2/accountStatementsManager.ts @@ -0,0 +1,7 @@ +import { ManagerMixin } from '../../mixins'; +import { AccountStatement } from '../../resources/v2/accountStatement'; + +export class AccountStatementsManager extends ManagerMixin { + static resource = 'account_statement'; + static methods = ['list']; +} diff --git a/src/lib/managers/v2/accountsManager.ts b/src/lib/managers/v2/accountsManager.ts index f568fb5..eef8726 100644 --- a/src/lib/managers/v2/accountsManager.ts +++ b/src/lib/managers/v2/accountsManager.ts @@ -2,16 +2,19 @@ import { Client } from '../../client'; import { ManagerMixin } from '../../mixins'; import { Account } from '../../resources/v2/account'; +import { AccountStatementsManager } from './accountStatementsManager'; import { MovementsManager } from './movementsManager'; export class AccountsManager extends ManagerMixin { static resource = 'account'; static methods = ['list', 'get', 'create', 'update']; + accountStatements: AccountStatementsManager; movements: MovementsManager; constructor(path: string, client: Client) { super(path, client); + this.accountStatements = new AccountStatementsManager('/v2/accounts/{account_id}/account_statements', client); this.movements = new MovementsManager('/v2/accounts/{account_id}/movements', client); } } diff --git a/src/lib/managers/v2/index.ts b/src/lib/managers/v2/index.ts index 13b568b..d69b966 100644 --- a/src/lib/managers/v2/index.ts +++ b/src/lib/managers/v2/index.ts @@ -11,3 +11,4 @@ export * from './checkoutSessionsManager'; export * from './paymentIntentsManager'; export * from './paymentMethodsManager'; export * from './subscriptionsManager'; +export * from './accountStatementsManager'; diff --git a/src/lib/resources/v2/accountStatement.ts b/src/lib/resources/v2/accountStatement.ts new file mode 100644 index 0000000..a68f704 --- /dev/null +++ b/src/lib/resources/v2/accountStatement.ts @@ -0,0 +1,4 @@ +import { ResourceMixin } from '../../mixins/resourceMixin'; + +export class AccountStatement extends ResourceMixin { +} diff --git a/src/lib/resources/v2/index.ts b/src/lib/resources/v2/index.ts index 53fe445..7bcb400 100644 --- a/src/lib/resources/v2/index.ts +++ b/src/lib/resources/v2/index.ts @@ -10,3 +10,4 @@ export * from './customer'; export * from './paymentIntent'; export * from './paymentMethod'; export * from './subscription'; +export * from './accountStatement'; From 25b92352ae3774b0fb01004403bd8c181bde6f02 Mon Sep 17 00:00:00 2001 From: Jose Marchant Date: Tue, 31 Mar 2026 12:51:53 -0300 Subject: [PATCH 2/4] test: add integration test for account_statements Add test for v2 accounts.accountStatements.list() endpoint. --- src/spec/integration.spec.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/spec/integration.spec.ts b/src/spec/integration.spec.ts index 22fc4bb..6664a91 100644 --- a/src/spec/integration.spec.ts +++ b/src/spec/integration.spec.ts @@ -1059,6 +1059,24 @@ test('fintoc.v2.accounts.movements.get()', async (t) => { t.is(movement.params.account_id, accountId); }); +test('fintoc.v2.accounts.accountStatements.list()', async (t) => { + const ctx: any = t.context; + const accountId = 'acc_12345'; + const accountStatements = await ctx.fintoc.v2.accounts.accountStatements.list({ + account_id: accountId, + }); + + let count = 0; + for await (const accountStatement of accountStatements) { + count += 1; + t.is(accountStatement.method, 'get'); + t.is(accountStatement.url, `v2/accounts/${accountId}/account_statements`); + t.is(accountStatement.params.account_id, accountId); + } + + t.true(count > 0); +}); + test('fintoc.v2.accounts.update()', async (t) => { const ctx: any = t.context; const entityId = 'entity_123'; From 0db9d909fdd8608fa91e5605e0ee5bfd34f28b11 Mon Sep 17 00:00:00 2001 From: Simon Oyaneder Date: Tue, 31 Mar 2026 11:20:08 -0300 Subject: [PATCH 3/4] feat(account-numbers/v2): add delete method --- src/lib/managers/v2/accountNumbersManager.ts | 2 +- src/spec/integration.spec.ts | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/managers/v2/accountNumbersManager.ts b/src/lib/managers/v2/accountNumbersManager.ts index ac2034f..8768222 100644 --- a/src/lib/managers/v2/accountNumbersManager.ts +++ b/src/lib/managers/v2/accountNumbersManager.ts @@ -3,5 +3,5 @@ import { AccountNumber } from '../../resources/v2/accountNumber'; export class AccountNumbersManager extends ManagerMixin { static resource = 'account_number'; - static methods = ['list', 'get', 'create', 'update']; + static methods = ['list', 'get', 'create', 'update', 'delete']; } diff --git a/src/spec/integration.spec.ts b/src/spec/integration.spec.ts index 22fc4bb..d4dff16 100644 --- a/src/spec/integration.spec.ts +++ b/src/spec/integration.spec.ts @@ -940,6 +940,14 @@ test('fintoc.v2.accountNumbers.update()', async (t) => { t.is(accountNumber.json.status, updateData.status); }); +test('fintoc.v2.accountNumbers.delete()', async (t) => { + const ctx: any = t.context; + const accountNumberId = 'acno_Kasf91034gj1AD'; + const deletedIdentifier = await ctx.fintoc.v2.accountNumbers.delete(accountNumberId); + + t.is(deletedIdentifier, accountNumberId); +}); + test('fintoc.v2.transfers.return()', async (t) => { const ctx: any = t.context; const returnData = { From 1c69566b13c6ca55871b09e67ec540da54e053b0 Mon Sep 17 00:00:00 2001 From: Jose Marchant Date: Wed, 8 Apr 2026 11:52:35 -0400 Subject: [PATCH 4/4] pre-release: prepare 1.16.0 release --- package.json | 2 +- src/lib/version.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f6882ef..e19a1fe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fintoc", - "version": "1.15.0", + "version": "1.16.0", "description": "The official Node client for the Fintoc API.", "main": "build/main/index.js", "typings": "build/main/index.d.ts", diff --git a/src/lib/version.ts b/src/lib/version.ts index afe33e9..d9ff4ea 100644 --- a/src/lib/version.ts +++ b/src/lib/version.ts @@ -1,3 +1,3 @@ -export const versionInfo = [1, 15, 0]; +export const versionInfo = [1, 16, 0]; export const version = versionInfo.join('.');