Спецификация по взаимодействию торговца с ПО Dispatcher ver 1.1.

Спецификация по взаимодействию торговца с ПО Dispatcher ver 1.1.        1

Оплата на платежной странице процессинга        2

Callback вызов для отправки уведомления о статусе платежа        3

Операция покупки через Apple Pay        4

Валидация мерчанта Apple Pay (api/apple/validate).        5

Подтверждение платежа Apple Pay (api/apple/payment)        6

Рекуррентные платежи RecPayment        7

Операция Verify        8

Операция Check        9

Операция P2PCredit        10

Операция P2PDebit        11

Справочник. Коды ответов        12


Оплата на платежной странице процессинга

Для оплаты на платежной странице процессинга необходимо выполнить редирект на страницу процессингово центра, с  POST данными.

Production url:   https://pay.concord.ua/api/

POST параметры:

Параметр

Описание

Значение

operation

Тип операции

Purchase

merchant_id

ID мерчанта, выдается поцесcингом

amount

Сумма операции. Пример 500.00

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

order_id

Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку.

currency_iso

Валюта платежа.  

UAH

description

Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах

add_params

Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в callback вызове

approve_url

URL для переадресации в случае, если платеж успешен

decline_url

URL для переадресации в случае, если платеж не успешен

cancel_url

URL для переадресации в случае, если пользователь отказался совершить оплату

callback_url

URL на который прийдет информация о результате выполнения платежа

Callback вызов для отправки уведомления о статусе платежа

Данные отправляются по URL адресу который указан в параметрах платежа в поле

callback_url.

Данные отправляются на сервер торговца в формате JSON

Параметры:

Название параметра

Описание

Значения

merchantAccount

ID мерчанта

orderReference

ID операции в системе торговца

amount

Сумма операции

currency

Валюта операции

phone

Номер телефона клиента(Если включен ввод телефона на платежной странице)

createdDate

Дата платежа в формате YYYY-MM-DD HH:II:SS

Пример: 2018-12-14 12:01:26

cardPan

Маскированный PAN карты.

Пример: 535277******0298

cardType

Тип карты

Visa

MasterCard

fee

Комиссия за операцию

transactionId

ID транзакции на стороне ПЦ

type

Тип операции. На данный момент параметр не используется

recToken

Токен для рекурентного платежа

transactionStatus

Статус операции

Approved - Успешно

Declined - Отказ

reason

Текстовая причина отказа

reasonCode

Код ошибки при отказе

merchantSignature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,orderReference,amount,currency разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

Операция покупки через Apple Pay

Для  интеграции кнопки  Apple Pay  на платежную страницу интернет магазина необходимо реализовать метод ApplePaySession.canMakePaymentsWithActiveCard, этот метод определяет поддерживает ли данное устройство оплату с помощью Apple Pay.

Если поддерживает оплата - необходимо отрисовать кнопку “Купить с помощью Apple Pay”.

Далее необходимо создать объект ApplePaySession , с параметрами покупки:

  countryCode: 'UA',

  currencyCode: 'UAH',

  supportedNetworks: ['visa', 'masterCard'],

  merchantCapabilities: ['supports3DS'],

  total: { label: 'Your Merchant Name', amount: '10.00' },

Описание полей можно посмотреть в документации Apple Pay on Web.

На событие onvalidatemerchant необходимо повесить обработчик, в котором будет вызываться API “api/apple/validate” . Описание метода будет ниже.

На событие onpaymentauthorized необходимо повесить обработчик, который будет вызывать API “api/apple/payment”.

После подтверждения платежа в onpaymentauthorized необходимо вызвать метод

ApplePaySession.completePayment.

Документацию по ApplePaySession можно найти на оф сайте Apple (https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api).

Валидация мерчанта Apple Pay (api/apple/validate).

Production url:   https://pay.concord.ua/api/apple/validate

POST параметры:

Параметр

Описание

Значение

operation

Тип операции

Purchase

apple_validation_url

Данный параметр приходит в событии onvalidatemerchant, event.validationURL

Пример:

session.onvalidatemerchant = (event) => {

        console.log(event.validationURL);

}

merchant_id

ID мерчанта, выдается поцесcингом

amount

Сумма операции. Пример 500.00

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

order_id

Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку.

currency_iso

Валюта платежа.  

UAH

description

Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах

add_params

Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в callback вызове

callback_url

URL на который придет информация о результате выполнения платежа

В ответ приходят следующие параметры:

Параметр

Описание

apple_validate_data

Данные которые необходимо передать в метод  session.completeMerchantValidation

order_key

Идентификатор заказа в платежной системе

code

Код ответа если 0 - все ок

message

Расшифровка кода ответа

Подтверждение платежа Apple Pay (api/apple/payment)

Production url:   https://pay.concord.ua/api/apple/payment

POST параметры:

Название

Описание

order_key

Идентификатор заказа в платежной системе

apple_pay_payment_data

Данные закодированные в base64, полученные в newсобытии onpaymentauthorized в параметре  event.payment.

Пример:

session.onpaymentauthorized = (event) => {

        console.log(event.payment);

}

 

В ответ приходит:

transactionStatus

Статус операции

Approved - Успешно

Declined - Отказ

reason

Текстовая причина отказа

reasonCode

Код ошибки при отказе

После вызова этого метода приходит callback в backend торговца.

Рекуррентные платежи RecPayment

Production url:   https://pay.concord.ua/api/

Для совершения рекуррентного платежа необходимо отправить POST запрос со следующими параметрами:

Название

Описание

operation

 Необходимое значение для данной операции RecPayment

merchant_id

Идентификатор мерчанта

amount

Сумма операции. Пример 500.00

recurring_token

Токен полученный от ПС

order_id

Уникальный номер заказа в системе торговца

description

Назначение платежа

currency_iso

Валюта. На данный момент только UAH

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,recurring_token,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

В ответ приходят следующие параметры:

Название

Параметры

status

APPROVED - успешно,

DECLINED - операция не успешна

code

Код ответа

Операция Verify

Для пополнения карты необходимо отправить переадресовать пользователя на страницу платежного шлюза  методом POST со следующими параметрами:

Имя параметра

Описание

Тип

operation

тип операции “Verify”

String

merchant_id

идентификатор мерчанта

String

order_id

Это уникальный номер операции. Генерируется на стороне мерчанта. Он должен быть уникальным на протяжении всей работы.

Integer

approve_url

URL на который будет перенаправлен пользователь в случае успешной операции

String

decline_url

URL на который будет перенаправлен пользователь в случае не успешной операции

String

cancel_url

URL на который будет перенаправлен пользователь в случае отмены операции

String

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,approve_url,decline_url,cancel_url разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

String

Операция Reversal

Для проверки статуса платежа или верификации карты необходимо отправить POST запрос на url https://pay.concord.ua/api/reversal со следующими параметрами:

Имя параметра

Описание

Тип

merchant_id

идентификатор мерчанта

String

order_id

Это уникальный номер операции которая была отправлена в запросе P2PCredit,P2PDebit или Verify

Integer

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

String

В ответ возвращается JSON со следующими параметрами:

Имя параметра

Описание

Тип

code

Код ответа. (Список кодов ответа см. ниже)

Integer

message

Текстовое сообщение с результатом запроса

String

Операция Check

Для проверки статуса платежа или верификации карты необходимо отправить POST запрос на  url https://pay.concord.ua/api/check со следующими параметрами:

Имя параметра

Описание

Тип

merchant_id

идентификатор мерчанта

String

order_id

Это уникальный номер операции которая была отправлена в запросе P2PCredit,P2PDebit или Verify

Integer

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

String

В ответ возвращается JSON со следующими параметрами:

Имя параметра

Описание

Тип

reasoneCode

Код ответа. (Список кодов ответа см. ниже)

Integer

reason

Описание ответа

String

merchantAccount

мерчант

String

amount

Сумма

String

phone

Номер телефона

String

createdDate

дата платежа

String

cardPan

Маскированный номер карты

String

cardType

Тип карты

String

transactionId

Идентификатор транзакции

BigInteger

message

Текстовое сообщение с результатом запроса

String

datetime

Дата создания операции на сервере

String

fee

Комиссия платежа

Double

transactionStatus

Статус операции(Справочник см ниже)

String

Операция P2PCredit

Для пополнения карты необходимо отправить POST запрос со следующими параметрами:

Имя параметра

Описание

Тип

operation

тип операции “P2PCredit”

String

merchant_id

идентификатор мерчанта

String

order_id

Это уникальный номер операции. Генерируется на стороне мерчанта. Он должен быть уникальным на протяжении всей работы.

String

amount

Сумма операции, должна быть дробным числом, c двумя знаками после запятой. Пример: 100.50

Double

card_number

Номер карты получателя.

String

currency_iso

Валюта операции. На данный момент доступна только “UAH”

String

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров $merchant_id,$order_id,$amount,card_number,currency_iso разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

String

В ответ возвращается JSON со следующими параметрами:

Имя параметра

Описание

Тип

code

Код ответа. (Список кодов ответа см. ниже Коды ответа P2PCredit)

Integer

message

Текстовое сообщение с результатом запроса

String

status

Статусы операции

APPROVED - перевод успешен

DECLINED - Перевод не успешен

ON-PAYMENT - Заявка на перевод в обработке, необходимо дополнительно запросить статус

String

transactionID

Идентификатор транзакции в платежной системе

Integer

approvalCode

Код авторизации

Integer

Операция P2PDebit

Для списания средств с карты необходимо переадресовать пользователя на страницу платежного шлюза  методом POST со следующими параметрами:

Имя параметра

Описание

Тип

operation

тип операции “P2PDebit”

String

merchant_id

идентификатор мерчанта

String

order_id

Это уникальный номер операции. Генерируется на стороне мерчанта. Он должен быть уникальным на протяжении всей работы.

Integer

amount

Сумма операции, должна быть дробным числом, c двумя знаками после запятой. Пример: 100.50

Double

currency_iso

Валюта операции. На данный момент доступна только “UAH”

String

description

Назначение платежа

String

approve_url

URL на который будет перенаправлен пользователь в случае успешной операции

String

decline_url

URL на который будет перенаправлен пользователь в случае не успешной операции

String

cancel_url

URL на который будет перенаправлен пользователь в случае отмены операции

String

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description,approve_url,decline_url,cancel_url разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

String

Операция PurchaseOnMerchant

Для оплаты на платежной странице мерчанта необходимо отправить  POST запрос со следующими данными данными.

Production url:   https://pay.concord.ua/api/

POST параметры:

Параметр

Описание

Значение

operation

Тип операции

PurchaseOnMerchant

merchant_id

ID мерчанта, выдается поцесcингом

amount

Сумма операции. Пример 500.00

signature

В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе HMAC_MD5 контрольная подпись с использованием SecretKey торговца.

Строка, подлежащая HMAC_MD5, генерируется путем конкатенации параметров merchant_id,order_id,amount,currency_iso,description разделенных “;” (точка с запятой) в кодировке UTF-8.

Порядок параметров при конкатенации важен!

order_id

Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку.

currency_iso

Валюта платежа.  

UAH

description

Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах

add_params

Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в callback вызове

token

Токен для списания с карты без передачи реквизитов карты

card_num

Номер карты

card_exp_month

Срок действия карты MM

card_exp_year

Срок действия карты  YY

card_cvv

CVV2 код, в случае операции без CVV необходимо указать -1

card_holder

Владелец карты.  Не обязательное поле

phone

Номер телефона клиента. Не обязательное поле

payment_type

Тип платежа.

Purchase - покупка

PreAuth - блокирование средств на карте

secure_type

Тип прохождения безопасности транзакции

 Может принимать следующие значения:

Auto

3DS

Non3DS

callback_url

URL на который прийдет информация о результате выполнения платежа

Ответ

Параметр

Описание

Значение

status

Статус платежа

справочник “Статусы платежа”

code

Код ответа

Справочник “Коды ответов”

order_id

Уникальный номер заказа в системе торговца

amount

Сумма платежа

fee

Комиссия

currency

Валюта платежа

token

Токен для последующих оплат. Токен вернется в случае, если платеж успешен

d3_acs_url

URL acs сервера на который необходимо отправить пользователя для верификации

d3_md

Уникальный идентификатор который необходимо передать на ACS сервер

d3_pareq

Запрос который необходимо передать на ACS сервер

transaction_key

Ключ транзакции, который необходимо использовать для подтверждения платежа

transaction_id

Идентификатор транзакции

signature

Если в ответе code пришло значение 2001 необходимо провести проверку 3DS.

Для проверки 3ds необходимо методом POST отправить форму с параметрами d3_md, d3_pareq, term_url  на d3_acs_url.

term_url - url на который вернется результат проверки 3DS.

<form name="MPIform" action='${d3_acs_url}' method="POST">

<input type="hidden" name="PaReq" value='${d3_pareq }'>

<input type="hidden" name="MD" value='${d3_md }'>

<input type="hidden" name="TermUrl" value='${term_url}'>

</form>

Подтверждение 3DS верификации

Для оплаты на платежной странице мерчанта необходимо отправить  POST запрос со следующими данными данными.

Production url:   https://pay.concord.ua/api/

Параметр

Описание

Значение

operation

Тип операции

Complete3DS

transaction_key

Ключ транзакции

d3ds_md

Идентификатор полученный после редиректа с сервера ACS

d3ds_pares

Сообщение полученное после редиректа с сервера ACS

Ответ

Параметр

Описание

Значение

status

Статус платежа

справочник “Статусы платежа”

code

Код ответа

Справочник “Коды ответов”

order_id

Уникальный номер заказа в системе торговца

amount

Сумма платежа

fee

Комиссия

currency

Валюта платежа

token

Токен для последующих оплат. Токен вернется в случае, если платеж успешен

card_pan

Маскированный номер карты

auth_code

Код авторизации

signature

Запрос который необходимо передать на ACS сервер

transaction_key

Ключ транзакции, который необходимо использовать для подтверждения платежа

transaction_id

Идентификатор транзакции

Справочник.  Статусы платежа

Значение

Статус

ON-PAYMENT

Платеж исполняется

NEW

Платеж создан, ожидается ввод реквизитов

APPROVED

Платеж успешен

DECLINED

Платеж отклонен

REFUNDINPROC

В процессе возврата

REFUNDED

Возвращен

EXPIRED

Платеж просрочен

WAITING-AUTH

Ожидает подтверждение авторизации

Справочник. Коды ответов

Код

Расшифровка

Расшифровка (ENG)

1

ОПЕРАЦИЯ РАЗРЕШЕНА

50

Финансовая транзакция не выполнена

General

51

Карта клиента просрочена

Expired card

52

Превышено число попыток ввода PIN

Number of PIN tries exceeded

53

Не удалось маршрутизировать транзакцию

No sharing allowed

55

Транзакция имеет некорректные атрибуты или данная операция не разрешена

Invalid transaction

56

Запрашиваемая операция не поддерживается хостом

Transaction not supported by institution

57

Карта клиента имеет статус 'потеряна' или 'украдена'

Lost or stolen card

58

Карта клиента имеет неправильный статус

Invalid card status

59

Карта клиента имеет ограниченные возможности

Restricted status

60

Не найден вендор с указанным номером счета

Account not found

61

Неверное количество информационных полей для заданного вендора

Wrong customer information for payment

62

Неверный формат информационного поля платежа

Customer information format error

63

Не найден prepaid-код

Prepaid Code not found

64

Track2 карты клиента содержит неверную информацию

Bad track information Track2

69

Неверный формат сообщения

Bad message edit

74

Невозможно авторизовать

Unable to authorize

75

Неверный PAN карты

Invalid credit PAN

76

На счете не хватает средств

Insufficient funds

78

Произошло дублирование транзакции

Duplicate transaction received

82

Превышение количества использований карты клиента

Maximum number of times used

85

Невозможно выдать баланс

Balance not allowed

95

Превышение лимита по сумме

Amount over maximum

100

Невозможно провести транзакцию

Unable to process

101

Невозможно авторизовать – необходимо позвонить издателю карты

Unable to authorize – call issuer

105

Данный тип карт не поддерживается

Card not supported

200

Неправильный счет клиента

Invalid account

201

Неправильный PIN

Incorrect PIN

205

Некорректная сумма

Invalid advance amount

209

Неверный код транзакции

Invalid transaction code

210

Неверное значение CAVV

Bad CAVV

211

Неверное значение CVV2

Bad Cvv2

212

Не найдена оригинальная транзакция для слипа

Original transaction not found for slip

213

Слип принимается повторно

Slip already received

501

Транзакция выполнена успешно

Approved

502

Транзакция выполнена успешно на частичную сумму

Partially approved

503

Транзакция выполнена успешно только на сумму покупки (для транзакции 118 – Purchase with Cashback)

Purchase only approved

510

Нет номера счета в запросе транзакции, есть несколько счетов указанного типа, и терминал поддерживает выбор счета

Should select account number

511

Необходимо сменить PVV (разрешена только транзакция PIN Change)

Should change PVV

512

Необходимо подтвердить результаты проверки платежа в системе online-приема платежей

Confirm Payment Precheck

513

Транзакция запроса списка уведомлений выполнена успешно

Select Bill

514

Необходимо подтвердить результаты предпроверки операции

Customer confirmation requested

515

Не найдена оригинальная транзакция

Original transaction not found

516

Слип уже принят

Slip already received

517

Ошибка в реквизитах платежа

Personal information input error

520

Невозможно захватить Prepaid-код

Prepaid code not found

521

Баланс корр. счета исчерпан

Corresponding account exhausted

522

Превышен эквайринговый лимит

Acquirer limit exceeded

524

Истек срок действия диамического PVV

Dynamic PVV Expired

525

Слабый PIN

Weak PIN

540

Карта потеряна

Lost card

541

Карта украдена

Stolen card

549

Недопустимый тип платежа для данного вендора

Ineligible vendor account

550

Несанкционированное использование

Unauthorized usage

551

Истек срок действия карты

Expired card

552

Неверная карта

Invalid card

553

Неверный PIN-код

Invalid PIN

554

Системная ошибка

System error

555

Неподходящая транзакция

Ineligible transaction

556

Неподходящий счет

Ineligible account

557

Транзакция не поддерживается

Transaction not supported

558

Карта ограничена (данная операция по карте не разрешена)

Restricted Card

559

Недостаточно средств на счете

Insufficient funds

560

Превышен лимит на число использований карты

Uses limit exceeded

561

Лимит на снятие наличных будет превышен

Withdrawal limit would be exceeded

562

Достигнут или превышен лимит на число неверных вводов PIN-кода

PIN tries limit was reached

563

Достигнут лимит на снятие наличных

Withdrawal limit already reached

564

Достигнут лимит на депозит

Credit amount limit

565

Нет информации для предоставления отчета по счету

No statement information

566

Предоставление отчета по счету невозможно (запрещено)

Statement not available

567

Недопустимая сумма

Invalid amount

568

Транзакция отвергнута внешним хостом

External decline

569

Несогласованный запрос (данная карта не обслуживается в данном терминале)

No sharing

571

Необходимо обратиться к издателю

Contact card issuer

572

Авторизатор недоступен

Destination not available

573

Ошибка маршрутизации

Routing error

574

Ошибка формата

Format error

575

Транзакция отвергнута внешним хостом по специальному условию (владелец карты подозревается в мошенничестве)

External decline special condition

580

Неверный CVV

Bad CVV

581

Неверный CVV2

Bad CVV2

582

Неверная транзакция (транзакция не разрешена с такими условиями проведения)

Invalid transaction

583

Лимит на число неверных вводов PIN-кода  УЖЕ достигнут  (т.е. ранее был достигнут лимит на число неверных вводов PIN-кода, после чего был введен верный PIN)

PIN tries limit was exceeded

584

Неверное значение проверочного числа 3D Secure Cardholder Authentication Verification Value

Bad CAVV

585

Неверное значение криптограммы ARQC

Bad ARQC

800

Ошибка формата

Format error

801

Не найдена оригинальная транзакция для реверса

Original transaction not found

809

Неверная операция закрытия периода

Invalid close transaction

810

Произошел тайм-аут

Transaction timeout

811

Системная ошибка

System error

820

Неправильный идентификатор терминала

Invalid terminal identifier

880

Был послан последний пакет - прогрузка успешно завершена

Download has been received in its entirety

881

Предыдущий этап прогрузки был успешно выполнен –имеются еще данные

Download received successfully and there is more data for this download

882

Прогрузка терминала остановлена. Необходимо позвонить в процессинговый центр

Download aborted (call for service)

897

Получена неверная криптограмма в транзакции

Invalid cryptogram

898

Получен неверный MAC

Invalid MAC

899

Ошибка синхронизации

Sequence error—resync

900

Превышено число попыток ввода PIN. Требуется захват карты

Pin Tries Limit Exceeded

901

Карта просрочена, требуется захват карты

Expired Card

909

Требуется захват карты

External Decline Special Condition

959

Административная транзакция не поддерживается

Administrative transaction not supported

2001

Необходима верификация 3DS

Need 3ds verify