Документация

Ввод карточных данных на сайте мерчанта

Если ресурс мерчанта сертифицирован PCI DSS то допускается процесс оплаты при котором данные банковской карты запрашиваются у покупателя на сайте мерчанта и процесс оплаты запускается непосредственно с сервера мерчанта.

При такой форме проведения платежа платеж создается в точности так же как при обычном варианте с вводом данных карты на стороне ПС Eight.

При создании платежа (метод /prepare_payment) важно установить поле return_url в правильное значение - это должен быть адрес страницы на вашем ресурсе, включающий в query string идентификатор платежа, по которому сайт магазина идентифицирует платеж и отобразит покупателю статус платежа.

Инициализация процесса оплаты по созданному платежу

Формат запроса:
URL: https://secure.eight.uz/pay/{UUID}
Метод: POST
Content-type: application/json
Тело запроса:
{
      "pan": 5011054488597827,
      "exp": "2612",
      "cardHolderName": "John Johnson", 
      "cvc2": "111",
      "method": "bank_card",
      "email": "user@gmail.com"
}

Валюта возврата совпадает с валютой платежа.

Описание полей запроса:

 Поле             | Обязательное | Описание             
 :--------------- | :----------: | ---------------------------------------: 
 UUID             | Да           | Уникальный идентификатор транзакции в ПС Eight полученный на /prepare_payment
 pan              | Да           | Номер карты.     
 exp              | Да           | Дата истечения срока действия карты в формате YYMM.
 cardHolderName   | Да           | Имя держателя карты     
 cvc2             | Да           | Трехзначный код безопасности с обратной стороны карты.
 method           | Да           | Метод оплаты (платежная система bank_card, uzcard, mir_card, humo)   
 email            | Нет          | Email для отправки покупателю чека.

В ответ на запрос мерчанта ПС Eight отвечает следующим JSON в теле ответа:

{
   "error": 0,
   "errMessage": "",
   "data": {
       "id": 29,
       "uuid": "b356009c-1423-4920-b000-a38ba93d3dd1",
       "processorKey": null,
       "merchantId": 1,
       "merchantTransId": "d53e726b-9946-44bf-aa2b-5847b65d1927",
       "initialSum": 500.00,
       "totalSum": 500.00,
       "splittedSum": 500.00,
       "currency": "RUB",
       "selectedMethod": "mir_card",
       "createTime": 1701948463624,
       "expireTime": null,
       "peyedTime": 1701948568888,
       "expiredHoldTime": null,
       "merCreateTime": 1701948463000,
       "description": "Test",
       "autoCapture": false,
       "withoutSite": false,
       "isTest": false,
       "refundLocked": false,
       "returnUrl": "https://merchant-site.uz/user-s-home-page",
       "redirectUrl": null,
       "details": {
           "transType": "SMS",
           "commission": "4.00"
       },
       "hold": null,
       "payMethods": [
           {
               "only": null,
               "method": "sbp"
           },
           {
               "only": null,
               "method": "bank_card"
           }
       ],
       "status": "succeeded",
       "basket": null,
       "user": {
           "email": "krutoi99112@gmail.com",
           "phone": null,
           "userId": null
       },
      "airline": null,
       "language": "ru",
       "tariffId": 1,
       "fee": 20.00,
       "transferSum": 480.00,
       "refundedSum": 0,
       "provCode": "mir",
       "optionalData": null,
       "forConsideration": false,
       "riskLevel": 1,
       "auditedAt": null,
       "auditorId": null,
       "processingReference": "5681924",
       "tag": null,
       "tspId": null,
       "redirectTimeout": null,
       "merchantStatus": "capture"
   }
}

Коды ошибок :

 Код  | Описание             
 :--- | :----------------------------------------------: 
 0    | Ошибки нет 
 1    | Платёж не найден
 2    | Слишком частый запрос: с одинаковым uuid платежа чаще 1 раза в сек.
 3    | Платеж просрочен (вышло время жизни ссылки на оплату)
 4    | Статус платежа не позволяет проводить оплату (уже оплачен/отменен или уже в процессе оплаты)
 5    | Возможность оплаты с передачей карточных данных не активирована
 6    | Неуказаны или неверно указаны обязательные поля
 7    | Недопустимая валюта платежа
 8    | В настройках мерчанта не указаны данные используемого ЕПОС-терминала
 12   | BIN карты не соответствует диапазону номеров выбранной платежной системы (method)
 13   | Платеж заблокирвоан из-за подозрения на фрод
 14   | В настройках мерчанта не уопределен маршрут оплаты для выбранной платежной системы
 15   | Неверну указан expireDate или карта просрочена
 16   | Неверный PAN
 17   | Ошибка верификации OTP
 500  | Внутренняя ошибка сервера (ошибка настроек или логики на стороне сервера)