Верифікація платежу


Процедура проходження верифікації

  1. Перед оплатою кошика необхідно зберегти дані для 3дс 2.0
  2. Якщо на оплату кошика прийшов статус 1 та непусте поле security_data.redirect_url, виконуємо редирект користувача на security_data.redirect_url
  3. На notification_url очікуємо від банку запит методом POST із параметром threedsData.
  4. Виконуємо верифікацію.

Метод

Array verificationPayCart( array $request );

Запит

Поле Тип Опис Статус
cart_guid String Ідентифікатор кошика Обов'язковий
verification Array Інформація від банку містить ключ: threeds_data Обов'язковий

Відповідь

Поля Тип Опис Статус
status String Статус кошика:
0 - Створений кошик, оплата не подавалася
1 - Було створено платіж
4 - Неуспіх
5 - Успіх
9 - Скасування (платіж скасовано)
10 - Очікування додаткових даних для верифікації

Статуси 4, 5 та 9 є фінальними

pid_id String id платежу
cart_guid String Ідентифікатор кошика
invoice String Вартість послуги в Копійках
amount String Вартість послуги з комісією послуги у Копійках
fee Array Комісія послуги у Копійках у розрізі за типами: зовнішня, внутрішня та агентська компенсація
cartItems Array Перелік послуг у кошику

У разі отримання статусу 10 необхідно запитати поля AML, заповнити їх та повторно надіслати запит на оплату

Метод 1: Виклик методу PHP

Запит

$response = $api->verificationPayCart([
                        'cart_guid' => 'E80F563B-78CB-48CD-84E2-C0EE7E53711F',
                        'verification' => [
                            'threeds_data' => 'eJxVUttugkAQ/RXDY5OyF1hczLiG1jb1wUpajP',
                        ]
                    ]);

Відповідь

Array
(
    [errors] => Array
        (
            [302] => Корзина cart_guid =E80F563B-78CB-48CD-84E2-C0EE7E53711F не найдена
        )

)

Метод 2: Використання запиту на URL

https://www.ipay.ua/shina/cart/pay/verification

Запит

{
    "request":{
        "app_id":"auto_test",
        "sig":"03221e365316dc1f8b3482d194c7d1cf",
        "time":"2016-06-14 16:56:46",
        "cart_guid":"E80F563B-78CB-48CD-84E2-C0EE7E53711F",
        "verification":{
            "threeds_data":"eJxVUttugkAQ/RXDY5OyF1hczLiG1jb1wUpajP"
        }
    }
}

Відповідь

{
    "response":{
        "status":"5",
        "pid_id":"12590249",
        "cart_guid":"3360B667-4586-4D6D-AA1E-6B958B34F6E6",
        "invoice":100,
        "amount":100,
        "cartItems":[
            {
                "bill_id":541,
                "invoice":100,
                "amount":100,
                "desc":"Phone number: 0685980460; Amount: 1,00 грн.",
                "values":{
                    "step_1":{
                        "acc":"0685980460",
                        "invoice":1
                    }
                }
            }
        ]
    }
}