Сервисы и суммы
Что такое сервис, что попадает в список сервисов и как в API записаны деньги.
Сервис это один способ принять платёж: способ оплаты, валюта и то, как проходит оплата. У каждого сервиса есть код, например pix_brl_requisite. Список сервисов отвечает на вопрос, с которого начинается интеграция: чем мерчант может принять деньги прямо сейчас и какие данные плательщика для этого нужны.
Запрос, все поля и пример ответа: список сервисов в справочнике.
Что попадает в список
Только сервисы, готовые к работе целиком в контуре вашего ключа. Сервис, которому чего-то не хватает на нашей стороне, в списке отсутствует, а не помечен «недоступен». Поэтому:
- пустой список это не ошибка: мерчанту пока ничего не включено;
- у тестового и боевого ключа список может различаться;
- список меняется, когда администратор включает или выключает сервис. Запрашивайте его перед показом способов оплаты плательщику и не храните дольше нескольких минут.
Если ожидаемого сервиса в списке нет, это вопрос к администратору Plutera, а не к вашему коду.
Суммы
Правило одно на весь API: сумма это целое число минорных единиц валюты, записанное строкой.
"10000"приminorUnitравном100это 100.00.minorUnitэто число минорных единиц в одной единице валюты: у бразильского реала 100, у иены 1. Берите его из ответа, а не из своего справочника валют.- Сумма приходит строкой, потому что большие целые в числах JSON теряют точность у части клиентов.
Чтобы показать сумму человеку, разделите её на minorUnit целочисленно и допишите остаток после точки. Через дробные числа с плавающей точкой суммы не проводите ни на одном шаге: 0.1 + 0.2 в них уже не равно 0.3.
Поля плательщика
У каждого сервиса свой набор данных плательщика. Проверяйте значение на своей стороне до отправки, чтобы плательщик увидел ошибку сразу. Регулярное выражение из pattern применяется к значению целиком, от первого знака до последнего.