Сценарий: банковская карта
- CreateInvoice с
<UndefinedBankCardCustomer>(XML) или"customer":{"type":"undefined_bank_card"}(JSON). - Из ответа взять
AuthorizationUrl/checkout_urlи перенаправить пользователя. - Пользователь вводит данные карты и PIN-код (любой 4-значный).
- Мок отправляет коллбек на ваш callback URL → страница «Успешно».
Шага 3 может не быть. Страница подтверждения 3-D Secure переключается настройкой проекта card_3ds_enabled (по умолчанию включена): когда она снята, платёж проводится сразу после отправки реквизитов, а форма карты по тому же адресу остаётся. На состав ответа и на коллбек это не влияет — разница только в числе экранов у плательщика. Как прогнать оба режима — Сценарий: 3-D Secure.
Sandbox
Тестовый номер карты: 4111 1111 1111 1111 — любой срок и CVV. Последние 4 цифры определяют результат — см. «Эмуляция ошибок банковской карты».
Экраны оплаты двуязычные. Язык определяется автоматически по Accept-Language браузера плательщика: форма карты, ввод PIN, страницы СБП и итоговые экраны сами откроются по-английски у англоязычного клиента. Дописывать к адресу ничего не нужно. Чтобы посмотреть конкретную версию со своей машины, добавьте ?lang=en или ?lang=ru — явный выбор важнее заголовка и держится до конца сценария. Язык, которого нет, даёт русский.
CreateInvoice — банковская карта (XML)
<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)
Sandbox
curl
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 для редиректа пользователя