Сервис (03) · Кошельки

Баланс в точности,
которую вы задали

У каждого потребителя свой кошелёк. Сколько знаков после запятой — решаете при создании счёта. Списания идут с ключом идемпотентности, возвраты и холды — проводками.

Кошелёк · cust_01jc7 RUB

4 ,87 ₽
req_77f2−0,13452264 ₽ req_77f1−0,09120448 ₽ пополнение+5 000,00 ₽

Валюты проекта

RUB · 8 знаковосновная GEM · 0 знаков1 GEM = 2,50 ₽
8знаков — потолка нет
1кошелёк на потребителя и валюту
0списаний без ключа
Что умеет

Возможности

(01)

Точность счёта

Точность задаётся при создании: два знака для обычных платежей, восемь — для цены токена. Сумма округляется ровно до неё, один раз.

(02)

Свои валюты

Код, название, точность. Курсы к другим валютам задаёте сами, обмен — по котировке. Подходит и для игровых кристаллов.

(03)

Списание с ключом

Каждое списание несёт ключ идемпотентности, который включает владельца. Повтор того же ключа не спишет второй раз.

(04)

Холды

Платёж счёта пополнения идёт под холдом: деньги зарезервированы, пока платёж не завершён.

(05)

Возвраты

Повтор после завершённого возврата не оставляет висячий холд — возврат либо проведён, либо нет.

(06)

Пополнение с чеком

Счёт на пополнение выставляется, только когда готов фискальный чек. Нет готовности — 503, счёта нет.

Как подключить

Четыре шага

01

Потребитель появляется

Через виджет или провижининг — одним путём, без дублей.

02

Кошелёк создаётся

В валюте и точности проекта.

03

Пополнение

Счёт под фискальный чек, деньги через мерчанта проекта.

04

Списания

Только посчитанное движком, с ключом идемпотентности.

API

Маршруты

POST/internal/customers/provisionпотребитель и его кошелёк
POST/internal/usage/chargeсписание за период
POST/api/internal/…кошельки — сервис wallet-api
POST /internal/customers/provision
{ "external_id": "u_8841",
  "email": "dev@example.com" }

→ 201  cust_01jc7…
→ кошелёк RUB создан, 8 знаков
Вопросы

Коротко о главном

Почему у одного человека не будет двух кошельков?

Потребитель заводится одним путём — resolveCustomer — и для виджета, и для провижининга. Ищется по external_id, потом по почте.

Что, если сумма точнее кошелька?

SDK отказывает, если знаков больше, чем держит кошелёк. Сумма периода округляется до точности кошелька на границе.

Пополнение без чека возможно?

Только для тестовых проектов из GENESIS_TOPUP_FISCAL_EXEMPT_PROJECTS. В остальных счёт без готового чека не выставляется.

Платформа

Другие сервисы

(01)Тарифы и расчёт(02)Учёт потребления(04)Платежи(05)Промо и партнёрка(06)Инвойсинг(07)payswitch
Связаться

Посчитаем
ваш продукт

Панель
app.gnzs.pro ↗

Расскажите о проекте

Где каждая копейка посчитана. Выбирайте Genesis.