Skip to main content

Payment with saved card

Оплата по сохраненной карте с вводом CVC

Создание заказа

В системе ioka у мерчанта есть возможность создать заказ для оплаты по сохраненной карте с предзаполненными карточными данными (PAN, срок действия карты), но с подтверждением CVC. Для этого при создании заказа необходимо передавать:

Пример запроса:

POST /v2/orders HTTP/1.1
Host: stage-api.ioka.kz
API-KEY: eyJ0eXAiOiJKV1..
Content-Type: application/json

{
"amount": 50000,
"customer_id": "mn4ZgB5XTb",
"card_id": "t3i2tPViLK"
}

Пример ответа:

{
"order": {
"id": "ord_test",
"shop_id": "shp_test",
"status": "UNPAID",
"created_at": "2022-01-01T10:00:00.00000",
"amount": 50000,
"display_amount": 50000,
"currency": "KZT",
"mcc": null,
"acquirer": null,
"capture_method": "AUTO",
"external_id": null,
"description": null,
"extra_info": null,
"attempts": 10,
"due_date": null,
"split": null,
"customer_id": "mn4ZgB5XTb",
"card_id": "t3i2tPViLK",
"back_url": null,
"success_url": null,
"failure_url": null,
"template": null,
"access_token": "ord_QNQcGTrfEV_secret_502253104a5f360e68834b827057b60181e5f5a149635e18cf28e5dfc7d71e98",
"checkout_url": "https://test.ioka.kz/orders/ord_test",
"payment_link_url": null,
"payments": []
},
"order_access_token": "ord_QNQcGTrfEV_secret_502253104a5f360e68834b827057b60181e5f5a149635e18cf28e5dfc7d71e98"
}

Проведение платежа

Для проведения оплаты необходимо перенаправить пользователя на адрес checkout_url, полученный в теле ответа на создание заказа, где находится платежная форма с предзаполненными PAN и сроком действия карты.

Для завершения оплаты клиенту необходимо ввести CVC и в случае наличии двухэтапной аутентификации пройти 3DS проверку.

Вы можете проверить статус платежа, используя те же методы, что и при оплате по полным карточными данным.

Оплата по сохраненной карте без участия плательщика

У мерчанта при использовании данного способа есть возможность произвести платеж по ранее сохраненной платежной карте без подтверждения операции пользователем (ввод CVV/CVC или прохождение 3-D Secure).

Для этого необходимо:

  1. Создать заказ на оплату
  2. Создать платеж по order_id

Пример запроса:

POST /v2/orders/{{order_id}}/payments/card HTTP/1.1
Host: stage-api.ioka.kz
Content-Type: application/json

{
"card_id": "t3i2tPViLK"
}

Примеры ответов:

{
"id": "pay_test",
"order_id": "ord_test",
"status": "APPROVED",
"created_at": "2022-01-01T10:00:00.00000",
"approved_amount": 50000,
"captured_amount": 0,
"refunded_amount": 0,
"processing_fee": 0.0,
"tds": false,
"payer": {
"type": "BINDING",
"pan_masked": "555555******5599",
"expiry_date": "12/24",
"holder": "holder",
"payment_system": "VISA",
"emitter": "halykbank",
"email": "test@ioka.kz",
"phone": "77771112233",
"customer_id": "mn4ZgB5XTb",
"card_id": "t3i2tPViLK",
"iin": null
},
"acquirer": {
"name": "jusan",
"reference": "111111111111"
},
"error": null,
"action": null
}

Если платеж был отклонен (payment_status = DECLINED), то в теле ответа придет объект error:

    "error": {
"code": "WRONG_CARD_DATA_INPUT",
"message": "Операция отклонена. Проверьте введённые данные, достаточность средств на карте и повторите операцию."
}

Более подробно ознакомиться со всеми возможными ошибками платежа можно ознакомиться в Справочнике по API.