Skip to content

[cifrabank-ru] add Cifra Bank (Russia) plugin#1069

Open
BadCoder1337 wants to merge 2 commits into
zenmoney:masterfrom
BadCoder1337:cifrabank-ru
Open

[cifrabank-ru] add Cifra Bank (Russia) plugin#1069
BadCoder1337 wants to merge 2 commits into
zenmoney:masterfrom
BadCoder1337:cifrabank-ru

Conversation

@BadCoder1337

Copy link
Copy Markdown

Summary

  • New plugin cifrabank-ru that syncs accounts and operations from Цифра Банк (Russia) via the mobile API used by com.bankffin.portfolio.
  • Auth: SMS login (/ncs-mobile/rest/v2/auth/pass-request + /ncs-mobile/rest/v3/auth/logon-request), then GET /ncs-mobile/rest/v2/auth/refresh-token to skip the SMS step on subsequent syncs. A stable per-install deviceId is generated on first run and persisted alongside the refresh token.
  • Accounts list comes from GET mo.ffinpay.ru/ncs-mobile/rest/v1/accounts (plus /cards/related to enrich CARD accounts with the masked card number used as a syncId). Card sub-accounts use /card/sca-operations/, current accounts use /accounts/statement/. Numeric ISO-4217 currency codes (810/840/978) are mapped via the existing codeToCurrencyLookup.

Test plan

  • tsc --noEmit, ts-standard, jest src/plugins/cifrabank-ru all green
  • Converter tests cover MULTI_CARD with 3 currency sub-accounts + CURRENT account, plus EXPENSE/INCOME operations on RUB/USD with numeric currency codes
  • End-to-end smoke test against the live API on a real account: SMS login → accounts + cards loaded → card and current-account operations synced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant