Описание 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.
email 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 Валюта оплаты
email 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 неудачных отправок, отправка уведомлений прекращается.