Создание платежа через GATE
Для инициации платежа по картам нужно передать запрос на https://api.1payment.com/init_payment
со следующими параметрами:
partner_id
- 1234 (ID партнера)payment_type
- cardproject_id
- 5678 (ID проекта)account
- 4111111111111111 (номер банковской карты)card_holder
- имя держателя банковской карты (как указано на карте)year
- год окончания действия банковской карты, две последние цифры (пример: 21)month
- месяц окончания срока действия банковской карты (пример: 01)cvc
- cvv/cvc проверочный код банковской картыip
- ip адрес плательщика (опционально)amount
- 50 (сумма в валюте проекта)description
- описание платежа (опционально)destination
- номер карты для пополнения (опционально в случае p2p)return_url
- https://test.com/success (url возврата плательщика после оплаты, опционально)user_data
- уникальное значение, например, идентификатор платежа на стороне партнераshop_url
- URL сайта источника платежа (опционально)ext_notification_url
- Адрес, на который возвращается плательщик после 3ds (TermUrl), используется для 3DS v2.xext_browser_accept_header
- содержимое HTTP-заголовка Accept. Макс 2048 символов, используется для 3DS v2.xext_browser_color_depth
- Битовая глубина цветовой палитры браузера, используется для 3DS v2.xext_browser_ip
- IP-адрес браузера, используется для 3DS v2.xext_browser_language
- Язык браузера, IETF BCP47. Макс – 8 символов, используется для 3DS v2.xext_browser_screen_height
- Высота (в пикселях) экрана браузера (window.screen.heigh). Макс – 6 символов, используется для 3DS v2.xext_browser_screen_width
- Ширина (в пикселях) экрана браузера (window.screen.width). Макс – 6 символов, используется для 3DS v2.xext_browser_tz
- Разница во времени в минутах между временем по UTC и местным временем браузера плательщика. Макс – 5 символов, используется для 3DS v2.xext_browser_user_agent
- Содержимое HTTP-заголовка User-Agent. Макс – 2048 символов, используется для 3DS v2.xext_browser_java_enabled
- Включен или выключен JavaScript в браузере плательщика. Возможные значения: true, false, используется для 3DS v2.xext_window_width
- Ширина окна браузера (в пикселях, window.innerWidth), используется для 3DS v2.xext_window_height
- Высота окна браузера (в пикселях, window.innerHeight), используется для 3DS v2.xsign
- (подпись)
Пример:
https://api.1payment.com/init_payment?partner_id=1234&payment_type=card&project_id=5678&account=4111111111111111&card_holder=TEST&
year=22&month=01&cvc=111&
amount=50&description=test_payment&sign=d724e1e6453a43397bb2aa6d6be9cc06
Подпись
(sign)
рассчитывается так: md5 от строки "init_payment + конкатенация всех
параметров = значение в алфавитном порядке по возрастанию с разделителем
& + секретный API Key" (кроме параметра sign)
Для запроса выше строка, от которой будет браться md5, имеет вид:
init_paymentaccount=4111111111111111&amount=50&card_holder=TEST&cvc=111&description=test_payment&month=01&partner_id=1&payment_type=card&project_id=5678&year=22[API_Key]
В ответ система выдаст в JSON вида:
{"order_id":"8p3brmb19gfg0sg8gcwhws8kgc748s87","status":2,"status_description":"PENDING","status_code":0,"redirect_url":"https:\/\/testsite.com"}
Где:
order_id
- Это id этого платежа, по нему можно будет узнать статусstatus
- состояние платежаstatus_description
- текстовое описание статусаstatus_code
- поле будет содержать код ошибки (если это возможно) в случае отказа в платежеredirect_url
- URL на который необходимо отправить плательщика для завершения платежа (опционально)
Если в ответе содержится параметр redirect_url
, то необходимо отправить плательщика на url, содержащийся в этом параметре.
После получения статуса по оплате на ваш notify_url, указанный в настройках проекта, будет отправлено уведомление. Формат уведомления POST JSON со следующими параметрами:
payment_type
- тип платежа (см. таблицу типы платежей)order_id
- идентификатор платежаproject_id
- ID проектаstatus
- состояние платежаstatus_description
- текстовое описание статусаredirect_url
- параметр присутствует, если для проведения платежа требуется отправить плательщика на соответствующий urlinit_time
- время создания платежаstatus_time
- время получения статуса о платежеmerchant_price
- стоимость для плательщикаinit_price
- сумма при инициацииuser_price
- отчисления партнераcurrency
- валюта платежа (трехбуквенный код ISO 4217 )account
- маска номера картыstatus_code
- поле будет содержать код ошибки (если это возможно) в случае отказа в платежеtoken
- при успешном платеже содержит идентификатор сохраненной карты (для включения параметра обратитесь к менеджеру)user_data
- идентификатор, переданный при создании платежаtest
- присутствует в случае тестирования, принимает значение 1sign
- Подпись (sign), рассчитывается так: md5 от строки "конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем & + секретный API Key" (кроме параметра sign)
Для тестирования платежей по картам можно использовать следующие данные:
Номер карты: 4111111111111111
CARD HOLDER: TEST
EXP: 01/01
CVC: 123