Перейти к содержимому
API-документация

API выпуска виртуальных карт

Выпускайте, пополняйте и закрывайте виртуальные карты Visa и Mastercard в USD из своей системы.

Через API ваша система регистрирует держателей, выпускает карты, пополняет их, читает выписку, получает коды подтверждения и закрывает карты с возвратом остатка. Расчёты идут с вашего предоплаченного баланса в USD.

Базовый URL

https://api.plativputi.com/api/partner/v1

Все запросы — HTTPS, тела — JSON в UTF-8. Каждый запрос подписывается HMAC-SHA256 ключом вашего аккаунта, см. Аутентификация и подпись.

Первый запрос

Проверить ключ и подпись проще всего на балансе:

TS=$(date +%s)
SIG=$(printf '%s\n%s\n%s\n%s' "$TS" "GET" "/api/partner/v1/balance" "" \
  | openssl dgst -sha256 -hmac "$PP_SECRET" -hex | awk '{print $NF}')

curl -sS "https://api.plativputi.com/api/partner/v1/balance" \
  -H "X-Key-Id: $PP_KEY_ID" -H "X-Timestamp: $TS" -H "X-Signature: $SIG"
{ "currency": "USD", "balance": "1250.5", "hold": "0", "available": "1250.5" }

Как устроена интеграция

  1. Получите ключ у вашего менеджера: идентификатор pp_live_… и секрет. Для отладки есть тестовый аккаунт с ключом pp_test_….
  2. Выберите тариф — GET /tariffs. В тарифе цена выпуска, комиссии пополнения и закрытия, лимиты суммы.
  3. Зарегистрируйте держателя — POST /cardholders с вашим external_id, именем и почтой.
  4. Выпустите карту — POST /cards. Ответ 202: операция принята, карта появится через несколько секунд. Результат придёт событием card.issued.
  5. Обслуживайте карту — пополнение POST /cards/{id}/topup, баланс GET /cards/{id}, выписка, коды 3-D Secure, закрытие.

Пошагово с примерами — в Быстром старте.

Главные свойства API

СвойствоЧто это значит для вас
Асинхронные операцииВыпуск и пополнение отвечают 202 с операцией. Итог — событием или через GET /operations/{id}.
Резерв, а не списаниеСумма операции резервируется на балансе и списывается только при успехе. При неудаче резерв снимается целиком.
ИдемпотентностьДенежные POST требуют Idempotency-Key. Повтор с тем же ключом никогда не создаст вторую карту или второе пополнение.
Доставка событий at-least-onceСобытия лежат в очереди, пока вы их не подтвердите. Плюс вебхуки с той же подписью, что и запросы.
Деньги — строкиСуммы — десятичные строки в USD ("57.0464"). Не парсите их во float.

Разделы справочника

РазделЧто делает
АккаунтБаланс, тарифы, расчёт стоимости
ДержателиРегистрация и поиск держателей
КартыВыпуск, пополнение, закрытие, выписка, коды, реквизиты
ОперацииСтатус асинхронной операции
СобытияОчередь событий и подтверждение
ВебхукиПодписки на push-доставку событий

Машиночитаемая спецификация OpenAPI 3.1: openapi.json. Её можно импортировать в Postman или сгенерировать по ней типы.