Перейти к содержимому

Платёжные системы

GET /api/fin/sber/{pay_slug}/pay/proto2/

  • pay_slug required, maxLength: 32, pattern: ^[a-zA-Z0-9]{3,32}$
  • command required, string(query) Может быть check или pay
  • account required, string(query)
  • hash required string(query)

Подпись(хеш) Сбер тоже , почему-то, не смог отправлять в заголовке…

pay_slug = default

GET /api/fin/sber/{pay_slug}/pay/proto2/?command=check&account=123123&hash=c01178d1f588e06a9d8d432af0e8e3b2

<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>0</result>
<comment>account exists</comment>
<fio>Полное имя абонента</fio>
<balance>123.45</balance>
</response>

POST /api/fin/sber/{pay_slug}/pay/proto2/?command=pay&txn_date=20250902000001&account=123123&txn_id=123125172635761&sum=10.0&hash=c01178d1f588e06a9d8d432af0e8e3b2

Тело запроса пустое

<?xml version="1.0" encoding="UTF-8"?>
<response>
<ext_id>123123</ext_id>
<reg_date>20250902000001</reg_date>
<sum>10.0</sum>
<result>0</result>
<comment>payment successful</comment>
</response>

Предлагается хешировать имена и значения агрументов запроса, отсортированные по возрастанию имён параметров + секрет. Передавать его так же параметром hash. Хэш md5. (SHA-* Сбер использовать почему-то отказался).

Например: запрос command=check&txn_id=1&account=49578&sum=1.00 сортируем, хешируем, исключаем hash параметр, получится:

>>> md5("account=49578&command=check&sum=1.00&txn_id=1&secret=SecretWord")
"9eacf62d29c062bef583964461300862"