Skip to Content

Сценарий: банковская карта

  1. CreateInvoice с <UndefinedBankCardCustomer> (XML) или "customer":{"type":"undefined_bank_card"} (JSON).
  2. Из ответа взять AuthorizationUrl / checkout_url и перенаправить пользователя.
  3. Пользователь вводит данные карты и PIN-код (любой 4-значный).
  4. Мок отправляет коллбек на ваш callback URL → страница «Успешно».

Шага 3 может не быть. Страница подтверждения 3-D Secure переключается настройкой проекта card_3ds_enabled (по умолчанию включена): когда она снята, платёж проводится сразу после отправки реквизитов, а форма карты по тому же адресу остаётся. На состав ответа и на коллбек это не влияет — разница только в числе экранов у плательщика. Как прогнать оба режима — Сценарий: 3-D Secure.

Тестовый номер карты: 4111 1111 1111 1111 — любой срок и CVV. Последние 4 цифры определяют результат — см. «Эмуляция ошибок банковской карты».

Экраны оплаты двуязычные. Язык определяется автоматически по Accept-Language браузера плательщика: форма карты, ввод PIN, страницы СБП и итоговые экраны сами откроются по-английски у англоязычного клиента. Дописывать к адресу ничего не нужно. Чтобы посмотреть конкретную версию со своей машины, добавьте ?lang=en или ?lang=ru — явный выбор важнее заголовка и держится до конца сценария. Язык, которого нет, даёт русский.

CreateInvoice — банковская карта (XML)

Тело запроса — в ответе придёт <AuthorizationUrl> для редиректа
<Request> <Header><Authentication> <Login>demo_login</Login> <NowUtc>20260625120000</NowUtc> <Signature>abcdef1234...</Signature> </Authentication></Header> <CreateInvoiceRequest> <ProjectID>1001</ProjectID> <BankCardCustomer> <Source>my_source</Source> <Country>ru</Country> <MerchantCustomerId>user_123</MerchantCustomerId> </BankCardCustomer> <InvoiceInfo> <MerchantOrderID>ORDER-001</MerchantOrderID> <CustomerPrice amount="99.00" currency="RUB" includingVAT="true"/> </InvoiceInfo> </CreateInvoiceRequest> </Request>

CreateInvoice — банковская карта (JSON)

curl -X POST \ https://pay-sandbox.digitalspb.com/api/v3/projects/1001/invoices \ -H "Content-Type: application/json" \ -H "X-Login: demo_login" \ -H "X-Timestamp: $TS" \ -H "X-Signature-Version: 3" \ -H "X-Signature: $SIG" \ -d '{ "customer": { "type": "undefined_bank_card", "source": "my_source", "country": "RU", "merchant_customer_id": "user_123" }, "order": { "merchant_order_id": "ORDER-001", "price": { "amount": "99.00", "currency": "RUB", "vat_included": true } } }' # В ответе — checkout_url для редиректа пользователя