API для интеграции платежной системы TwinPay

Документация содержит примеры взаимодействия с TwinPay API для создания и обработки платежных ордеров.

End Point - 1. Создание платежа

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-уведомления

Уведомления отправляются ТОЛЬКО при успешном завершении платежа.

Пример 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