MTS T-Pay (mtstpay)
Плательщик открывает ссылку и вводит карту. Регистрация в МТС и SMS не нужны. В ответе мерчанту нет реквизитов получателя — только checkoutUrl.
После отправки карты статус остаётся pending, пока платёж не закроется. Старый код m2tjs тоже принимается.
Создание
POST
https://api.protopays.io/api/v1/paymentsНужны orderId, amount, currency: "RUB", callbackUri, method: "mtstpay". Поля карты в create не принимаются. Метод должен быть включён на кассе.
json
{
"orderId": "mtstpay-order-001",
"amount": "1000",
"currency": "RUB",
"callbackUri": "https://example.com/hooks/protopays",
"method": "mtstpay"
}json
{
"message": "Payment created",
"data": {
"id": "<uuid>",
"orderId": "mtstpay-order-001",
"status": "pending",
"amount": "1000.00",
"currency": "RUB",
"method": "mtstpay",
"checkoutUrl": "https://pay.protopays.io/pay/ckt_<token>",
"mtstpay": { "phase": "awaiting_payer_details" },
"expiresAt": "2026-08-26T16:15:00+03:00"
}
}Отправьте плательщика на checkoutUrl. Итог придёт в webhook.
Форма оплаты
На ссылке один шаг: карта. Реквизиты получателя плательщик не видит и в API мерчанту они не отдаются.
- Карта (номер, срок, CVV) → «Оплатить».
- Если банк просит подтверждение — плательщик вводит код в окне на той же странице.
После этого страница ждёт результат. Новый платёж — новая ссылка.
Фазы mtstpay.phase
awaiting_payer_details— ждём картуautopay_queued/autopay_running— идёт автоматическая оплатаawaiting_payer_3ds— банк просит подтверждение на странице оплатыautopay_submitted— данные отправлены, статус всё ещё pendingautopay_failed— автоматическая попытка не удалась, платёж pending до истеченияexpired— время сессии вышло
Карта
- Полный номер карты и CVV только на странице оплаты. В API мерчанта — последние 4 цифры.
- CVV хранится коротко и затем удаляется.
- Телефон получателя в ответе create нет.