PayStar API Documentation
  1. ВОЗМОЖНОСТИ | RU
  • MERCHANT
    • PRODUCTS | EN
    • ПРОДУКТЫ | RU
    • FEATURES | EN
      • Deposits & Payouts
      • Issues (Tickets)
      • Secure data (One-time secret)
      • Summary Report
      • Payment Analytics
      • Payment Form Analytics
      • Unified audit log
      • Export reports
      • Black list
      • Routing & Cascading
      • Limits
      • Commissions
      • Team
      • My Account
      • PayStar in 100 Questions
    • ВОЗМОЖНОСТИ | RU
      • Депозиты и выплаты
      • Issues (Задачи)
      • Защищённые данные (One-time secret)
      • Сводный отчёт
      • Аналитика по платежам
      • Единый журнал событий
      • Аналитика платёжной формы
      • Экспорт отчётов
      • Черный список
      • Мавршрутизация и Каскады
      • Лимиты
      • Комиссии
      • Команда
      • Мой аккаунт
      • PayStar в 100 вопросах
    • API DOC | EN
      • Introduction
      • Glossary
      • Authorization key
      • Sandbox
      • Additional fields
      • Currencies
      • Bank names
      • Telecom operators
      • Callbacks
      • Error descriptions
      • Tech FAQ
      • Events
      • Payment history v2
        • Payment history - backward compatibility (legacy `X.Y.Z.W`)
      • Integratins
        • Stripe
        • Inwizo
        • 2Checkout
        • Adyen
        • AffiniPay
        • Alikassa
        • AlliancePay
        • Amazon Pay
        • AnyMoney
        • AstroPay
        • Aureavia
        • AurisMyChanger
        • Authorize.Net
        • Avatarix
      • Balance H2H
      • Deposit H2H - Card & P2P
      • Deposit H2H - Token
      • Deposit H2C - Card
      • Deposit status H2H - PayStar ID
      • Deposit status H2H - Merch ID
      • Payout H2H
      • Payout status H2H - PayStar ID
      • Payout status H2H - Merch ID
  • AGENT (REFERRAL)
  1. ВОЗМОЖНОСТИ | RU

Мавршрутизация и Каскады

1) Что даёт Routing & Cascading#

Routing & Cascading — это “движок управления трафиком”, который позволяет:
Повышать конверсию: направлять платежи туда, где выше approval/скорость/качество.
Соблюдать требования PSP: лимиты по попыткам, объёму и качеству трафика.
Снижать риски: квоты на “недоверенные” PSP, ограничение оборота, пилотирование.
Повышать устойчивость: fallback при деградации, росте processing/failed, быстрое отключение каналов без переписывания интеграции.
Сегментировать трафик: FTD/STD, продуктовые витрины, время, суммы, валюта, issuer и т.д.

2) Топ кейсов (готовые рецепты)#

Anti-spam: PSP не хочет “спама” неуспешными попытками
Идея: много failed/processing за короткое окно → ведём в альтернативный PSP.
Рекомендуемые настройки в Payment details:
aggregationType = CountUnSuccess
property = payeerIdentifier
period = 1 hour
operation >=
value = 3
Ветки:
CountUnSuccess >= 3 → PSP-B
CountUnSuccess < 3 → PSP-A
Пример
image.png
PSP принимает пользователя не больше 3 раз в день
PSP принимает пользователя на 5000 USD за неделю
Разделение трафика: FTD (первичный) vs STD (повторный)
Пересекающиеся диапазоны сумм у PSP (50–500 и 100–700)
Деградация PSP: растёт processing/failed
“Недоверенная” PSP: лимитируем по квоте/обороту
Пилотирование PSP на сегменте

3) Где это настраивается в UI#

3.1 Раздел Merchants#

image.png

3.2 Карточка мерчанта и список пайплайнов#

image.png

4) Конструктор условий: Add pipeline condition (таблица полей + примеры)#

Зачем нужен: вы задаёте “правило отбора” (условие), по которому платёж попадёт в ветку/маршрут.
image.png

4.1 Поля условия (Attribute / Operation / Value)#

ПолеЧто этоКак заполнятьПример
AttributeЧто проверяем (сумма, валюта, время, issuer и т.д.)Выберите из списка (см. таблицу ниже)Payment amount
OperationКак сравниваем>, >=, <, <=, ==, !=, диапазоны (a-b) / [a-b]<=
ValueПорог/значение для сравненияЗависит от Attribute: число, код валюты, диапазон, окно времени500

4.2 Attribute: список доступных параметров (с пояснением и примером)#

Attribute (UI)СмыслФормат ValueТиповой бизнес-кейсПример условия
Payment amountСумма текущего платежаЧисло (в основных единицах) или диапазонРазвести PSP по диапазонам суммPayment amount >= 100
Payment currencyВалюта платежаISO-код: USD, EUR, INR и т.п.Разные PSP под разные валютыPayment currency == USD
Payment created at — timeОкно времени сутокВремя/диапазон времени (как в UI)“Дневной”/“ночной” провайдер, SLA по времениtime в диапазоне 10:00–17:00
Payment created at — day, timeОкно по дате+времениДва timestamp (как в UI)Промо-период / пилот на конкретные даты2026-01-01 10:00 … 2026-01-30 17:00
Product codeКод продукта/витрины, который передаёт мерчантСтрокаРазделение трафика по продуктамProduct code == CASINO
Card issued bankБанк-эмитент картыСтрока/enum (как в UI)PSP-A лучше по конкретному issuerCard issued bank == HDFC
Card issued payments processingПлатёжная система карты (scheme)Enum/строка (как в UI)Разные PSP под Visa/Mastercardprocessing == VISA
Card issued countryСтрана эмитента картыISO-код страны / enumGEO-ограничения/правила по стране эмитентаcountry == IN
Telecom operatorОператор связи (carrier)Строка/enumПравила под мобильные сценарии/методыoperator == Airtel
Payment detailsУсловие по истории платежей (агрегация)Отдельная форма (см. раздел 5)Anti-spam, лимиты по попыткам/объёму, FTD/STDCountUnSuccess >= 3 за 1 час
Примечание по времени: условия Payment created at — time / day, time применяются в часовой зоне организации/команды.
image.png

4.3 Operation: доступные операции сравнения (с примерами)#

OperationСмыслПример (на сумме)Когда использовать
>строго большеamount > 500VIP/High-value ветка
>=больше или равноamount >= 100минимальный порог
<строго меньшеamount < 100микроплатежи
<=меньше или равноamount <= 500верхний предел
==равноcurrency == USDточное совпадение
!=не равноcurrency != EURисключение
(a-b)между, без границamount (100-500)когда границы исключаются
[a-b]между, включая границыamount [100-500]когда границы включаются

image.png#

4.4 Пример “простого” правила (без истории)#

Кейс: PSP-A работает для сумм 50–500, PSP-B для 100–700.
Решение: создайте ветки по Payment amount, а в перекрытии добавьте каскад.
Пример веток:
amount < 100 → PSP-A
100 <= amount <= 500 → PSP-A → PSP-B
amount > 500 → PSP-B
image.png

5) Payment details (агрегация истории): подробная таблица полей + примеры#

Зачем нужен: “смотреть назад” и принимать бизнес-решение по истории плательщика: anti-spam, лимиты по попыткам, лимиты по объёму, FTD/STD.
image.png

5.1 Поля Payment details (каждое поле простыми словами)#

ПолеСмысл (простыми словами)Формат/значенияПример
Aggregation type (aggregationType)Что именно считаем по историиCount* или Sum* (см. таблицу ниже)CountUnSuccess
Property (property)По какому “ключу” объединять историю (кого считаем одним плательщиком)payeerIdentifier, email, ip, cardToken, phoneNumber, …payeerIdentifier
Period (periodSeconds)За какой период назад смотреть историюСекунды или человекочитаемый выбор в UI3600 (1 hour)
Direction type (directionType)Какие операции учитыватьDeposit, Withdrawal, InheritDeposit
Entity type (entityType)Где искать историюPipeline (только текущий) или Partner (все пайплайны партнёра)Partner
Operation (operation)Как сравнить метрику с порогом>, >=, <, <=, ==, !=, диапазон>=
Value (value)Порог сравненияДля Count* — число попыток, для Sum* — сумма3
Важно:
текущий платёж в расчёт не включается;
если истории нет — метрика считается 0.

5.2 Aggregation type: что означает каждая метрика#

aggregationTypeЧто считаетПростое объяснениеПример кейса
CountTotalКол-во всех (success + failed + processing)“Сколько раз пытались платить”лимит попыток в сутки
CountSuccessКол-во успешных“Сколько раз получилось”FTD/STD, trust level
CountFailedКол-во failed“Сколько явных отказов”анти-ретрай по отказам
CountUnSuccessfailed + processing“Сколько не доведено до успеха”anti-spam + ловля подвисаний
SumTotalСумма всех“Сколько всего оборота (любые статусы)”редкий сценарий
SumSuccessСумма успешных“Сколько реально прошло”лимит 5000 USD/нед
SumFailedСумма failed“Сколько отказов на сумму”риск-правила
SumUnSuccessСумма failed + processing“Сколько зависло/неуспешно на сумму”деградации/риски

6) Webhooks: Callbacks#

Ключевые моменты:
callbackUrl можно передавать динамически в запросе (приоритет над статическим);
“задним числом” коллбеки не отправляются, если URL/события не были настроены заранее;
ретраи — Fibonacci backoff с шагом 7 минут, до ~27 часов.
можно настроить типы уведомлений - о мене статуса (created, processing, success, failed) и об изменении суммы платежа (актуально в ряде случаев)
Callbeck tech doc
Подробнее о Callbacks можно прочитать здесь: https://apidoc.paystar.uk/callbacks
image.png

7) Интеграция: Keys, Required fields, cURL example#

7.1 Keys#

Ключевые моменты:
вызываются в модальном окне по клику на "замочке" на строке пайплайна;
можно сгенерировать заново - старые ключи перестанут действовать;
можно самостоятельно собрать токен из ключей или использовать готовый токен.
API Key tech doc
Подробнее о Authorization key можно прочитать здесь: https://apidoc.paystar.uk/authorization
image.png

7.2 Обязательные поля#

Ключевые моменты:
точный список обязательных полей зависит от настроек пайплайна - фактически, это супер-позиция полей, запрашиваемых банками и платежнвми шлюзами из данного пайплайна;
обязательные поля передаются в теле запроса в поле Additional Fields.
Additional Fields tech doc
Подробнее о Additional Fields можно прочитать здесь: https://apidoc.paystar.uk/additionalfields
image.png

7.3 cURL example#

Ключевые моменты:
для простоты интеграции, вы можете получить пример готового запроса, с уже собранными объзательными полями и вторизационным токеном

image.png#

8) Диагностика#

8.1 Платёж не проходит из-за правил/лимитов#

Обычно возвращается HTTP 423 — это означает, что по текущим правилам/ограничениям платёж некуда маршрутизировать или он блокируется политикой.

9) Best practices (коротко)#

Всегда держите альтернативную ветку для fallback.
Для anti-spam и деградаций удобно использовать CountUnSuccess.
Для FTD/STD используйте CountSuccess == 0.
Для пилота — сегмент по сумме/времени/FTD или отдельный Pilot pipeline.
Для Sum* правил избегайте смешения валют.
Previous
Черный список
Next
Лимиты
Built with