Підключення
В API Shina використовується формат обміну даними JSON. API знаходиться за адресою https://www.ipay.ua/shina/v4/. У відповідних розділах наведено приклади запитів та відповідей. Нижче наведено приклади для роботи з API Shina мовою PHP (у класі ShinaApi реалізовані всі методи API).
завантажити ShinaApi.php
Авторизація
Авторизація потрібна для виконання всіх запитів до API Shina.
app_id
String
Ідентифікатор партнера
Обов'язковий
app_key
String
Приватний ключ
Обов'язковий
×
Увага! Властивості:app_id = 'Ідентифікатор партнера'app_key = 'Приватний ключ' в класі ShinaApi.php потрібно змінити на робочі.
$api = new ShinaApi();
Схема роботи
Послідовність виконання запитів API Shina.
1. Отримуємо інформацію про партнера
$response = $api->getPartnerInfo();
2. Отримуємо перелік доступних послуг
$response = $api->getBillList();
3. Отримуємо дані про послугу
$response = $api->getBillInfo(['bill_id' => $id]);
4. Отримуємо перелік полів послуги
$response = $api->getBillFields(['bill_id' => $id]);
5. Проводимо валідацію полів послуги
$response = $api->getBillValidate(['bill_id' => $id, 'values' => ['acc' => $acc]]);
6. Створюємо кошик
$response = $api->createCart();
7. Додаємо послугу до кошика
$response = $api->addCart(['cart_guid' => $guid, 'bill_id' => $id, 'values' => $values]);
8. Отримуємо список aml полів
$response = $api->getAmlFields(['cart_guid' => $guid]);
9. Далі, залежно від типу агента, виконується:
Тип агента
Опис запиту
Запит
Кеш агент
Завершуємо платіж (оплата)
$response = $api->payCart(['cart_guid' => $guid]);
Еквайринг
Завершуємо платіж (оплата)
$response = $api->payCart(['cart_guid' => $guid, 'card' => ['google_pay_token' => 'token']]);
Важливо!
При отриманні відповіді на запит payCart від API Shina без вказівки статусу (в т.ч. у разі помилки сервера) необхідно
перезапитувати статус кошика до здобуття фінального статусу.
Додатково
Звіряємо платежі
$response = $api->getCartOperations(['bill_id' => $id, 'status' => $status]);