Перейти к основному содержимому

Платеж 3D Secure

3D Secure обеспечивает дополнительный уровень безопасности путем перенаправления пользователя на страницу аутентификации его банка. Этот поток включает регистрацию, аутентификацию клиента и окончательное завершение.

1. Инициализация регистрации 3D Secure (Initiate Enrollment)

Начните процесс 3D Secure, предоставив данные платежа и URL-адреса обратного вызова.

POST/api/3ds

Параметры запроса (Request Parameters)

ПараметрОбязателенТипОписание
orderIdДаstringНомер заказа клиента для отслеживания (например, ORD-12345).
amountДаnumberСумма транзакции (например, 100.50).
currencyДаstringКод валюты ISO (например, TRY).
installmentCountНетnumberКоличество рассрочек (по умолчанию: 1). Перед установкой проверьте доступные варианты через Installment Options API.
interestPaidByCustomerНетbooleanОплачиваются ли проценты клиентом.
cardHolderNameДаstringИмя держателя карты.
panДаstringПолный номер карты (16 цифр).
expiryMonthДаstringМесяц истечения срока действия (формат MM, например, 04).
expiryYearДаstringГод истечения срока действия (формат YY, например, 28).
cvvДаstringКод CVV/CVC (3 или 4 цифры).
successUrlДаstringURL для перенаправления после успешной аутентификации в банке.
failureUrlДаstringURL для перенаправления после неудачной аутентификации в банке.
requestIpДаstringIP-адрес клиента.
requestPortДаnumberНомер порта клиентского запроса.
customerIdНетstringНеобязательный уникальный идентификатор клиента.

Ответ (Response)

ПолеТипОписание
paymentIdstringУникальный идентификатор платежа (UUID).
successbooleanУказывает, была ли регистрация успешной.
resultCodestringКод результата регистрации (например, SUCCESS).
resultMessagestringОписательное сообщение о результате.
htmlContentstringHTML-контент, который должен быть представлен конечному пользователю для аутентификации 3D Secure.

2. Представление аутентификации 3D Secure

Представьте возвращенный htmlContent конечному пользователю. Обычно это включает в себя рендеринг во iframe или перенаправление пользователя для завершения аутентификации 3D Secure на странице банка.

3. Обработка обратного вызова 3D Secure (Callback)

После процесса аутентификации платежный провайдер вызовет предоставленные URL-адреса обратного вызова (successUrl или failureUrl) с соответствующими параметрами, переданными как данные формы.

Параметры данных формы обратного вызова (Callback Form Data)

ПолеОписаниеПример
paymentIdУникальный идентификатор платежа.123e4567-e89b-12d3-a456-426614174000
securityKeyКлюч безопасности, полученный в процессе аутентификации 3D Secure.3DS_AUTH_KEY_123456

4. Завершение платежа 3D Secure

Завершите транзакцию, используя ключ безопасности, полученный в обратном вызове.

POST/api/3ds/{paymentId}/complete

Параметры пути (Path Parameters)

ПараметрТипОписание
paymentIdstringUUID, полученный в обратном вызове.

Параметры запроса (Request Parameters)

{
"securityKey": "3DS_AUTH_KEY_123456"
}

Ответ (Response)

Возвращает объект ApiPaymentResponse с деталями завершенного платежа (идентичен ответу Direct Payment).


Поток платежа 3D Secure

  1. Инициализация регистрации: Вызовите эндпоинт /api/3ds с деталями платежа и URL-адресами обратного вызова.
  2. Отображение вызова: Представьте возвращенный htmlContent пользователю.
  3. Аутентификация: Пользователь завершает процесс 3D Secure банка.
  4. Получение обратного вызова: Провайдер отправляет POST-запрос на ваш callback URL с paymentId и securityKey.
  5. Финализация: Извлеките параметры и вызовите эндпоинт /api/3ds/{paymentId}/complete.
  6. Проверка статуса: Считайте платеж успешным только если status в ответе — SUCCESS.

Варианты рассрочки (Installment Options)

Получите доступные планы рассрочки для конкретной карты перед обработкой платежа.

POST/api/installment-options

Тело запроса (Request Body)

ПараметрОбязателенТипОписание
amountДаnumberОбщая сумма транзакции (например, 1000.00).
currencyДаstringКод валюты ISO (например, TRY).
panДаstringПервые 6 цифр (BIN) или полный номер карты.
maxInstallmentCountНетnumberМаксимальное количество рассрочек для получения (по умолчанию: 12).
interestPaidByCustomerНетbooleanОплачиваются ли проценты клиентом.

Ответ (Response)

ПолеТипОписание
installmentCountnumberКоличество рассрочек.
installmentAmountnumberСумма ежемесячного платежа.
currencystringКод валюты ISO.
interestAmountnumberОбщая сумма начисленных процентов (добавляется к основной сумме).
totalAmountnumberОбщая сумма к оплате (Основная сумма + Проценты).