D8 Transaction Services
Актуальные transaction routes D8, Kafka topics и общий runtime-контракт.
D8 Transaction Services
Confluence export от 19 августа 2026 уточняет шесть transaction operations D8 и соответствующие Router rules 38–43. Страница фиксирует навигационный runtime-контракт; полные request/response schemas публикуются через versioned OpenAPI в MTB Swagger.
Operations и routes
| Rule | Operation | Назначение |
|---|---|---|
| 38 | getCardTransactionHistory | Получить историю транзакций карты с обязательной пагинацией |
| 39 | getTransactionDetails | Получить полные данные одной транзакции |
| 40 | authorizeTransaction | Создать online-транзакцию и передать её на авторизацию |
| 41 | reverseTransaction | Отменить транзакцию, созданную через authorizeTransaction |
| 42 | getTransactionStatus | Проверить статус транзакции в processing system |
| 43 | calculateAcqCommission | Рассчитать комиссию эквайера |
Kafka topics
Для каждой операции используются отдельные input, sync reply и DLT topics. Async response направляется в общий callback.out.
| Operation | Input | Sync reply | DLT |
|---|---|---|---|
getCardTransactionHistory | transactions.in.d8.command.get-card-transaction-history | transactions.out.d8.reply.get-card-transaction-history | transactions.dlt.d8.command.get-card-transaction-history |
getTransactionDetails | transactions.in.d8.command.get-transaction-details | transactions.out.d8.reply.get-transaction-details | transactions.dlt.d8.command.get-transaction-details |
authorizeTransaction | transactions.in.d8.command.authorize-transaction | transactions.out.d8.reply.authorize-transaction | transactions.dlt.d8.command.authorize-transaction |
reverseTransaction | transactions.in.d8.command.reverse-transaction | transactions.out.d8.reply.reverse-transaction | transactions.dlt.d8.command.reverse-transaction |
getTransactionStatus | transactions.in.d8.command.get-transaction-status | transactions.out.d8.reply.get-transaction-status | transactions.dlt.d8.command.get-transaction-status |
calculateAcqCommission | transactions.in.d8.command.calculate-acq-commission | transactions.out.d8.reply.calculate-acq-commission | transactions.dlt.d8.command.calculate-acq-commission |
Общий processing flow
- Adapter получает envelope из input topic.
- Проверяет
idempotencyKeyв service database. - При найденном ключе возвращает сохранённый результат без повторной бизнес-операции.
- Иначе вызывает соответствующий D8 endpoint и сохраняет результат по
idempotencyKey. - Для sync flow публикует reply в operation-specific output topic.
- При заполненном
callbackUrlпубликует async result вcallback.out. - После исчерпания разрешённых повторов отправляет сообщение в operation-specific DLT.
Retry policy требует проверки
Экспорт описывает повтор для 5xx и отправку 4xx в DLT, но точные timeout, backoff и количество попыток должны подтверждаться adapter configuration и тестами. Не используйте пример как универсальную policy для всех operations.
Envelope baseline
Обязательный технический контекст включает consumerId, externalRequestId, correlationId, gatewayRequestId, idempotencyKey, operation, businessReference и timestamp. callbackUrl используется только для async flow.
Credentials, PAN, CVV и другие чувствительные значения из Confluence или тестовых примеров не переносятся в портал. Для WSO2 lifecycle, policies и Developer Portal используйте официальную документацию WSO2 API Manager.