eav93/sbp

List of Russian SBP (Fast Payment System) member banks

Maintainers

Package info

github.com/eav93/sbp

pkg:composer/eav93/sbp

Statistics

Installs: 7

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-04-28 04:19 UTC

This package is auto-updated.

Last update: 2026-04-28 04:19:19 UTC


README

English | Русский

eav93/sbp

PHP & JS/TS library providing an up-to-date list of Russian SBP (Fast Payment System) member banks, auto-updated daily via GitHub Actions.

Data source: nspk.ru

Installation

PHP (Composer)

composer require eav93/sbp

JS/TS (npm)

npm install @eav93/sbp

Go

go get github.com/eav93/sbp

Python — copy src/banks.py into your project.

Ruby — copy src/banks.rb into your project.

Usage

PHP

use Eav93\Sbp\Banks;

// All banks
$banks = Banks::getBanks();

foreach ($banks as $bank) {
    echo $bank->id;               // "100000000111"
    echo $bank->name;             // "Сбербанк"
    echo $bank->logo;             // "https://qr.nspk.ru/..."
    echo $bank->schema;           // "bank100000000111"
    echo $bank->package;          // "ru.sberbankmobile"
    echo $bank->isDrActive;       // true
    echo $bank->isWebClientActive;// false
    echo $bank->webClientUrl;     // null
}

// Find by id
$bank = Banks::getBankById('100000000111');

// Data version info
$meta = Banks::getMeta();
// ['version' => '1.0', 'updatedAt' => '2026-04-19T03:00:00.000Z']

JavaScript (ESM)

import { getBanks, getBankById, getMeta } from '@eav93/sbp';

const banks = getBanks();
const bank = getBankById('100000000111');
const meta = getMeta();

JavaScript (CommonJS)

const { getBanks, getBankById, getMeta } = require('@eav93/sbp');

const banks = getBanks();

TypeScript

import { getBanks, getBankById, Bank, Meta } from '@eav93/sbp';

const banks: Bank[] = getBanks();
const bank: Bank | null = getBankById('100000000111');

Python

from src.banks import get_banks, get_bank_by_id, get_meta

banks = get_banks()
bank  = get_bank_by_id('100000000111')
meta  = get_meta()

Go

import "github.com/eav93/sbp"

banks := sbp.GetBanks()
bank  := sbp.GetBankByID("100000000111")
meta  := sbp.GetMeta()

Ruby

require_relative 'src/banks'

banks = Eav93::Sbp.get_banks
bank  = Eav93::Sbp.get_bank_by_id('100000000111')
meta  = Eav93::Sbp.get_meta

Bank object

Field Type Description
id string Numeric bank ID from schema
name string Bank name
logo string | null Logo URL
schema string | null Deep link schema (bank1000...)
package string | null Android package name
isDrActive bool Direct payment supported
isWebClientActive bool Web payment supported
webClientUrl string | null Web payment URL

Data updates

Banks data is fetched from NSPK daily at 03:00 UTC via GitHub Actions and committed to data/banks.json. Each update is tagged data-YYYY-MM-DD.

To update manually:

node scripts/fetch.js

License

MIT