Добавлен адаптер к tbank и формирование ссылки на оплату

This commit is contained in:
Раис Юсупалиев
2026-04-12 18:56:41 +03:00
parent ab0b66e1c2
commit 2b201a08be
34 changed files with 1322 additions and 268 deletions
@@ -296,6 +296,12 @@ adapter:
cdek_timeout_seconds: 7.5
cdek_cache_ttl_seconds: 777
tbank_payment:
init_url: "https://securepay.tinkoff.ru/v2/Init"
auth:
terminal_key: "test-terminal-key"
password: "test-password"
observability:
enabled: false
service_name: "cdek-adapter-test-service"
@@ -10,7 +10,7 @@ from app.adapters.delivery_providers.cdek.client import (
CDEKProvider,
CDEKRequestError,
)
from app.schemas.order import OrderCreateRequest
from app.schemas.payment import InitPaymentRequest
class StubAuthClient:
@@ -51,8 +51,10 @@ class SequenceHTTPClient:
return result
def _make_order_request(**overrides: object) -> OrderCreateRequest:
def _make_order_request(**overrides: object) -> InitPaymentRequest:
payload: dict[str, object] = {
"order_uuid": "order-uuid-1",
"price": 125000,
"type": 2,
"tariff_code": 535,
"comment": "Test order",
@@ -89,7 +91,7 @@ def _make_order_request(**overrides: object) -> OrderCreateRequest:
],
}
payload.update(overrides)
return OrderCreateRequest(**payload)
return InitPaymentRequest(**payload)
def test_provider_register_order_posts_cdek_contract_payload_and_maps_response() -> None:
@@ -111,8 +113,7 @@ def test_provider_register_order_posts_cdek_contract_payload_and_maps_response()
result = asyncio.run(provider.register_order(_make_order_request()))
assert result.provider == "cdek"
assert result.order_uuid == "cdek-order-uuid"
assert result == "cdek-order-uuid"
assert http_client.calls == [
{
"method": "POST",