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

Сохранение карты

Создание плательщика

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

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

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

{
"external_id": "1",
"email": "test@ioka.kz",
"phone": "77771112233"
}

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

{
"customer": {
"id": "8vcatBnudg",
"status": "PENDING",
"created_at": "2022-01-01T10:00:00.00000",
"external_id": "1",
"email": "test@ioka.kz",
"phone": "77771112233",
"accounts": [
{
"id": "act_AJHyDIVHv6",
"shop_id": "shp_test",
"status": "PENDING",
"amount": 0,
"created_at": "2022-01-01T10:00:00.00000",
"resources": [
{
"id": "rsc_bc2fa2ca-83f2-4ef1-9abd-c07ee8faa456",
"is_default": true,
"created_at": "2022-01-01T10:00:00.00000",
"status": "PENDING"
}
]
}
],
"access_token": "8vcatBnudg_secret_89b7465c5ab2de16a252d9e34b4a9be453b9e6b0c29bd33c9117e265d77bc6a8",
"checkout_url": "https://test.ioka.kz/customers/8vcatBnudg?access_token=8vcatBnudg_secret_89b7465c5ab2de16a252d9e34b4a9be453b9e6b0c29bd33c9117e265d77bc6a8"
},
"customer_access_token": "8vcatBnudg_secret_89b7465c5ab2de16a252d9e34b4a9be453b9e6b0c29bd33c9117e265d77bc6a8"
}

Статусы плательщика

СтатусОписание
PENDINGПервоначальный статус плательщика. У клиента еще нет успешно сохраненных карт.
READYУ клиента есть как минимум одна успешно сохраненная карта.
DELETEDПлательщик удален.

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

Сохранение карты

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

После успешного сохранения карты статус карты сменится с PENDING на APPROVED, а статус плательщика с PENDING на READY. Для плательщика отобразится форма со всеми раннее сохраненными картами, а также возможность добавить еще одну карту.

Проверка статуса сохранения карты

Доступны несколько способов для проверки статуса платежа:

  1. Настроить получение уведомлений (webhook-ов) от ioka на события CARD_APPROVED, CARD_DECLINED.

В случае успешного сохранения, Вам придет объект, содержащий следующую информацию:

{
"event": "CARD_APPROVED",
"customer": {
"id": "abcdefghkj",
"shop_id": "test",
"status": "READY",
"created_at": "2023-01-30T05:00:00",
"external_id": null,
"email": null,
"phone": "777771112233"
},
"card": {
"id": "abcdefghkj",
"customer_id": "abcdefghkj",
"status": "APPROVED",
"created_at": "2023-01-30T05:00:00",
"pan_masked": "411111******1111",
"expiry_date": "12/24",
"holder": "holder",
"payment_system": "VISA",
"emitter": "halykbank",
"cvc_required": false,
"masterpass_card": false,
"error": null,
"action": null
}
}

Идентификатором сохраненной карты будет являться card.id

  1. Периодически запрашивать информацию о сохраненных картах плательщика по customer_id методом GetCards.

Статусы карты

СтатусОписание
PENDINGПервоначальный статус карты. Сохранение карты находится в обратоке.
REQUIRES_ACTIONКлиент перенаправлен на прохождение проверки 3DS.
APPROVEDКарта успешно сохранена.
DECLINEDКарта отклонена.
DELETEDКарта удалена.

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