Создание формы для оплаты
Для создания формы оплаты нужно передать запрос на https://api.1payment.com/init_form
со следующими параметрами:
partner_id- 1234 (ID партнера)project_id- 5678 (ID проекта)amount- 50 (сумма в валюте проекта)description- описание платежа (опционально)success_url- https://test.com/success (url возврата плательщика после успешной оплаты, опционально)failure_url- https://test.com/failure (url возврата плательщика после ошибки оплаты, опционально)user_data- уникальное значение, например, идентификатор платежа на стороне партнераtoken- id токена для отображения сохраненной карты (опционально)sign- (подпись)
Пример:
https://api.1payment.com/init_form?partner_id=1234&project_id=5678&amount=50&description=test_payment&sign=d724e1e6453a43397bb2aa6d6be9cc06
Подпись (sign)
рассчитывается так: md5 от строки "init_form + конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем
& + секретный API Key" (кроме параметра sign)
Для запроса выше строка, от которой будет браться md5, имеет вид:
init_formamount=50&description=test_payment&partner_id=1234&project_id=5678[API_Key]
В ответ система выдаст в JSON:
{"url":"https:\/\/merchant.1payment.com\/xZ5g7F"}
Где:
url- ссылка на форму, на которую нужно направить плательщика.
После получения финального статуса по оплате на ваш notify_url, указанный в настройках проекта, будет отправлено уведомление о статусе платежа. Формат уведомления POST JSON со следующими параметрами:
payment_type- тип платежа (см. таблицу типы платежей)order_id- идентификатор платежаproject_id- ID проектаstatus- состояние платежа (3 - успешный платеж, 4 - отказ в платеже)status_description- текстовое описание статуса (SUCCESS или FAILURE, соответственно)init_time- время создания платежаstatus_time- время получения статуса о платежеmerchant_price- стоимость для плательщикаinit_price- сумма при инициацииuser_price- отчисления партнераcurrency- валюта платежа (трехбуквенный код ISO 4217 )account- маска номера картыstatus_code- поле будет содержать код ошибки (если это возможно) в случае отказа в платеже (опционально)token- при успешном платеже содержит идентификатор сохраненной карты (для включения параметра обратитесь к менеджеру)user_data- идентификатор, переданный при создании формыtest- присутствует в случае тестирования, принимает значение 1