URL: https://lk.twinpay.cloud/api/v2/initiate-payment
Метод: POST
Параметры BODY (form-data)
{"Client_id":"GnH...R7m","Client_secret":"vpB...58Z","amount":"10","currency":"RUB","successUrl":"https://lk.twinpay.cloud/dashboard","cancelUrl":"https://lk.twinpay.cloud","callbackUrl":"https://lk.twinpay.cloud/dashboard?user_id={user_id}"}
client_id | Идентификатор мерчанта (доступен в разделе "Кассы" панели управления) | Обязательный | Строка | GnHAFAZsT1ktFYqauUVtB8sECR7m |
client_secret | Секретный ключ мерчанта (доступен в разделе "Кассы") | Обязательный | Строка | vpBpXN40yaWQWicAoblXe7QTJOaaho7REyApkDnLIOpMR3lk1ndaLmY2qoZptV9cHOtjJLUDsW26GBSe2kda1IVQIMR758Z |
amount | Сумма платежа | Обязательный | Число | 10 |
currency | Валюта платежа (ISO код) | Обязательный | Строка | RUB |
successUrl | URL для перенаправления после успешного платежа | Обязательный | Строка | https://lk.twinpay.cloud/dashboard |
cancelUrl | URL для перенаправления при отмене платежа | Обязательный | Строка | https://lk.twinpay.cloud |
callbackUrl | URL для уведомлений о платеже | Обязательный | Строка | https://lk.twinpay.cloud/api/payment?user_id={user_id} |
Успешный запрос
{"status": "success","message": "Платеж успешно инициирован","redirect_url": "http://lk.twinpay.cloud/payment?grant_id=78784424&token=DuMJThhEimrrdiCKrW2A"}
Неподдерживаемая валюта
{"status": "error","message": "Валюта UAH не поддерживается данным мерчантом."}
Некорректная сумма
{"status": "error","message": "Сумма платежа должна быть больше нуля."}
Уведомления отправляются ТОЛЬКО при успешном завершении платежа.
Пример Callback
{"timestamp": 1753282096,
"subtotal": 10000,
"percentage": 0,
"charge_percentage": 0,
"charge_fixed": 0,
"total": 10000,
"sign": "ef5954715c663e3f96194a03981a0b04dd0772bfa5164afcdb507470c9c5078d"
}
timestamp | Метка времени транзакции | 1753282096 |
subtotal | Исходная сумма платежа | 10000 |
percentage | Зарезервировано для будущего использования | 0 |
charge_percentage | Зарезервировано для будущего использования | 0 |
charge_fixed | Зарезервировано для будущего использования | 0 |
total | Финальная сумма с учетом всех комиссий | 10000 |
sign | Цифровая подпись: Формируется путем конкатенации параметров через '|' и подписи client_secret мерчанта по алгоритму SHA-256. Обязательна проверка перед обработкой данных. PHP пример: $_POST['sign'] === hash_hmac('sha256', "{$_POST['timestamp']}|{$_POST['subtotal']}|{$_POST['percentage']}|{$_POST['charge_percentage']}|{$_POST['charge_fixed']}|{$_POST['total']}", ваш_секретный_ключ)) |
ef5954715c663e3f96194a03981a0b04dd0772bfa5164afcdb507470c9c5078d |