Онлайн-поповнення з телефона

Гравець поповнює баланс сам, не відходячи від ПК — а каса працює далі так само, навіть коли інтернет ліг.

Що це дає клубу

Гравець, у якого закінчився час, зазвичай іде до каси. Якщо ви ввімкнете онлайн-поповнення, він поповнить баланс зі свого телефона — у кабінеті /my/, за пів хвилини, не встаючи. Черга на касі коротшає рівно на цих людей.

Це додатковий шлях, а не заміна касі. Немає інтернету, ліг платіжний сервіс, скінчився ключ — кнопки просто немає, і гравець поповнює на касі, як завжди. Каса не залежить від платіжного сервісу ніколи.

Як увімкнути

Потрібен акаунт у платіжному сервісі. Наразі підтримано LiqPay (ПриватБанк) — найпоширеніший в українських клубах. У налаштуваннях сервера (appsettings.json, секція Club):

"LiqPayPublicKey": "i00000000",
"LiqPayPrivateKey": "ваш приватний ключ",
"LiqPaySandbox": false

Ключі — секрет. Тримайте їх лише у файлі поруч із сервером; у листуванні, у месенджері й у git їм не місце. Порожні ключі означають «онлайн-оплата вимкнена», і жоден гравець кнопки не побачить.

LiqPaySandbox: true — режим перевірки: увесь ланцюг проходить по-справжньому, але гроші не списуються. Саме з нього варто почати.

Що бачить гравець

У кабінеті на головному екрані — «Поповнити з телефона», швидкі суми (100, 200, 500, 1000 ₴) або своя. Далі відкривається сторінка банку. Після оплати баланс поповнюється навіть якщо гравець закриє вкладку: гроші зараховує підтвердження від банку, а не повернення на сторінку.

Бонус за поповнення, якщо він у вас налаштований, нараховується так само — гравцеві однаково, де він поповнив.

Як це виглядає у звітах

Онлайн-оплата — окремий рядок, не «картка». Різниця принципова:

  • картка — це термінал на касі, гроші проходять через вашу касову зміну;
  • онлайн — гроші йдуть на ваш рахунок у платіжному сервісі, у касі їх немає.

Тому онлайн-оплати входять у виторг, але не змінюють очікувану готівку. Касир, рахуючи касу в кінці зміни, не має шукати ці гроші в шухляді.

Чому подвійного зарахування не буває

Платіжні сервіси повторюють підтвердження при кожному сумніві: не дочекались відповіді, сервер перезавантажився, мережа моргнула. Наївна система за десять повторів зарахувала б 2000 ₴ замість 200 ₴.

У Cord Arena гроші зараховує лише перехід «очікує» → «оплачено», і сама проводка має ключ конкретного платежу. Скільки б підтверджень не прийшло — у книзі буде один запис. Перевірено на живому сервері: п’ять повторів поспіль лишають баланс незмінним.

Ще три правила, які працюють мовчки:

  • підпис перевіряється завжди. Підтвердження без правильного підпису приватним ключем не доходить до грошей — це головний захист адреси, відкритої в інтернет;
  • сума звіряється з нашою. Якщо сервіс каже про іншу суму, ніж ми виставили, гроші не зараховуються, а розбіжність іде в журнал: це привід покликати людину, а не «довіритись»;
  • оплачений платіж не стає неоплаченим. Пізнє «скасовано» вже зарахованих грошей не забирає.

Повернення

Через платіжний сервіс повернень немає — свідомо. Повернення в клубі роблять на касі: під правом, із причиною і слідом у журналі. Інакше «повернути на картку» стало б тихим способом виводити гроші з клубу.