Описание API
Отправка запросов производится методом POST на адрес:
https://pay.primepayments.io/API/v1/
Тип запроса: application/x-www-form-urlencoded
Обозначения:
secret1 - "секретное слово 1" из настроек проекта. Используется для подписи всех запросов к нам, кроме метода initPayout.
secret2 - "секретное слово 2" из настроек проекта. Используется для подписи оповещений от нашего сервиса на ваш сайт.
payout_key - "Ключ для выплат" из настроек проекта. Используется для подписи запроса при выхове метода initPayout.
Поле | Описание |
action * | Действие которое нужно выполнить |
sign * | Подпись запроса с секретным словом 1 |
project | ID проекта для которого выполняется запрос |
sum | Сумма операции, разделитель - точка ( напр 1.22 или целое: 228) |
currency | Валюта для выставления счета, будет отображено при оплате. Возможные значения: RUB, USD, EUR. |
e-mail плательщика | |
payWay | Способ оплаты (число) - способ оплаты заказа (или выплаты). Если для проекта доступно несколько видов оплат - пользователю будет отображен список платежных систем. 1: Карты 2: Яндекс-деньги 3: Webmoney 5: Qiwi |
innerID | (строка) - внутренний ID в системе учета вебмастера - может быть номером заказа или ID пользователя, либо любой строкой. В рамках проекта может быть НЕуникальным. Если вам не требуется это поле - можно просто передавать 1. Кавычки и символы < и > будут преобразованы. Формат: произвольная строка UTF-8 (до 500 символов). |
orderID | Номер заказа в системе учета PrimePayments. |
ДЕЙСТВИЯ (поле action)
Метод | Описание |
initPayment | Вебмастер подписывает данные подписью и отправляет пользователя по адресу API с этими переменными через POST. Создается заказ в указаном проекте, пользователю открывается форма для выбора метода если нужно, заполнения недостающих данных если нужно и оплаты Обязательные: action, project, sum, currency, innerID, email, sign Необязательные: payWay - метод оплаты. Пользователю будет отображен весь список доступных методов оплаты. payWay который вы указали, при возможности, будет уже выбран. comment - Описание заказа (текст до 50 символов UTF-8) - отображается при оплате. returnLink - Вернуть ссылку и не делать редирект. Если передано returnLink=1 то в ответе API будет ссылка на оплату заказа и вам нужно самостоятельно отправить пользователя на этот адрес для оплаты. Запросы с returnLink=1 выполняются с сервера, а не из браузера пользователя. needFailNotice - Отправить уведомление о неуспешной оплате. Если при создании заказа передано needFailNotice=1 то при неудачной оплате тоже будет отправлено уведомление order_cancel. lang - Смена языка в форме оплаты. Если передано lang=EN то форма оплаты будет на английском языке. Расчет подписи: md5 ( secret1 + action + project + sum + currency + innerID + email + payWay ) Если вы не передаете payWay то в расчете подписи он не участвует |
getOrderInfo | Получить статус оплаты по ID. Для выполнения запроса необходимо указывать ID проекта и подписывать запрос секретным словом 1 из этого проекта. Обязательные: action, project, orderID, sign Расчет подписи: md5 ( secret1 + action + project + orderID ) Пример результата: {"status":"OK", "result":{ "order_id":"33", "date_add":"1614627760", "sum":"125.00", "payWay":"1", "payed_from":"436650******1122", "innerID":"888", "pay_status":"1", "webmaster_profit":"122.10" } } payed_from - номер кошелька или карты с которой совершена оплата (при возможности) pay_status : 0 - в процессе оплаты -1 - пользователь отменил оплату 1 - успешно оплачен 2 - идет возврат 3 - возврат завершен |
refund | Вернуть пользователю оплату. Метод refund можно применить к заказу, оплаченому через банк. карту. Баланс на вашем проекте должен быть больше чем сумма в заказе. Обязательные: action, orderID, sign Расчет подписи: md5 ( secret1 + action + orderID ) Пример результата: {"status":"OK", "result":{ "order_id":"33" } } |
initPayout | Вебмастер подписывает данные подписью и делает запрос на API. Создается заявка на выплату в указаном проекте. Обязательные: action, project, sum, currency, payWay, email, purse, sign project - ID проекта sum - Сумма выплаты currency - Валюта выплаты payWay - Направление выплаты email - E-mail человека-получателя средств purse - Номер карты или кошелька, на который делается выплата Варианты для payWay: 1: Карты 2: Яндекс-деньги 3: Webmoney 4: USDT (TRC-20) 5: Qiwi 6: Моб. телефон Также для выплаты на карту: doc_number - Серия и номер паспорта держателя карты cardholder_first_name - Имя держателя карты латиницей cardholder_last_name - Фамилия держателя карты латиницей Необязательные: comment - Описание заказа (строка до 50 символов UTF-8) - отобразится в вашей истории в личном кабинете needUnique - Вы можете передать этот параметр для проверки выплаты на уникальность. Если у вас уже есть выплата с таким needUnique, то вторая выплата с таким же параметром не будет создана. Формат: строка до 20 символов UTF-8. Расчет подписи: md5 ( payout_key + action + project + sum + currency + payWay + email + purse ) Пример ответа об успехе: {"status":"OK", "result":{ "payout_id":"33" } } Пример ответа об ошибке: { "status":"ERROR", "result":"Min. amount: 20.00 RUB" } |
getProjectBalance | Получить баланс проекта. Для выполнения запроса необходимо указывать ID проекта и подписывать запрос секретным словом 1 из этого проекта. Обязательные: action, project, sign Расчет подписи: md5 ( secret1 + action + project ) Пример результата: { "status":"OK", "result": { "balance_RUB":"14250.00", "balance_USD":"753.22" } } |
getPayoutInfo | Получить статус выплаты по ID. Для выполнения запроса необходимо указывать ID проекта и подписывать запрос секретным словом 1 из этого проекта. Обязательные: action, project, payoutID, sign Расчет подписи: md5 ( secret1 + action + project + payoutID ) Пример результата: { "status":"OK", "result": { "payout_id":"25", "payWay":"1", "date_add":"1617228634", "sum":"104.00", "sum_to_receive":"102.70", "pay_status":"1" } }pay_status : 0 - в процессе выплаты -1 - выплата не удалась, средства вернулись на баланс 1 - успешно выплачено |
Оповещения сайта о завершении оплаты
Уведомление отправляется методом POST на адрес status_url, указаный в настройках проекта.
Уведомление об успешно проведенном платеже отправляется всегда. Уведомление об отмене оплаты отправляется только в случае если при создании счета на оплату был передан параметр needFailNotice
Оповещение об успешной оплате:
Поле | Описание |
action | Всегда order_payed |
project | ID проекта |
orderID | ID заказа в нашей базе |
date_pay | Время оплаты |
payWay | Способ оплаты (1 - карты) |
payed_from | Номер кошелька или карты с которой совершена оплата (при возможности) |
innerID | ID который сайт передал при инициализации оплаты |
sum | Сумма заказа |
currency | Валюта оплаты |
E-mail плательщика | |
webmaster_profit | Сумма которую получил вебмастер на баланс |
sign |
Подпись запроса
Расчет подписи: md5 ( secret2 + orderID + payWay + innerID + sum + webmaster_profit ) Где secret2 - это секретное слово 2 из настроек проекта |
Оповещение об отмене оплаты:
Поле | Описание |
action | Всегда order_cancel |
project | ID проекта |
orderID | ID заказа в нашей базе |
payed_from | Номер кошелька или карты с которой совершена оплата (при возможности) |
innerID | ID который сайт передал при инициализации оплаты |
sum | Сумма заказа |
currency | Валюта оплаты |
date_pay | Время неудачной попытки оплаты |
sign |
Подпись запроса
Расчет подписи: md5 ( secret2 + orderID + innerID ) Где secret2 - это секретное слово 2 из настроек проекта |
Оповещение об оплате отправляется сразу после оплаты.
Оповещения отправляются с IP-адреса 186.2.162.11
На наш запрос сайт должен ответить OK или YES (англ. символы)
Любой другой ответ воспринимается как неудачный запрос и запрос будет повторен.
При неудачном запросе следующая отправка оповещения будет через 1 минуту.
При неудачном запросе следующая отправка оповещения будет через 5 минут.
При неудачном запросе следующая отправка оповещения будет через 10 минут.
При неудачном запросе следующая отправка оповещения будет через 30 минут.
При неудачном запросе следующие отправки оповещения будут проходить каждый час.
После 30 неудачных отправок, отправка уведомлений прекращается.