Описание API v2

Адрес для обращений:
https://pay.primepayments.io/API/v2/


Отправка запросов производится методом POST или GET.
Тип запроса при использовании POST: application/x-www-form-urlencoded

Обозначения:
secret1 - "секретное слово 1" из настроек проекта. Используется для подписи всех запросов к нам, кроме метода initPayout.
secret2 - "секретное слово 2" из настроек проекта. Используется для подписи оповещений от нашего сервиса на ваш сайт.
payout_key - "Ключ для выплат" из настроек проекта. Используется для подписи запроса при выхове метода initPayout.

Обязательные параметры при каждом вызове: action и sign.
action - вызываемый метод (список методов описан ниже).
sign - подпись запроса (расчет подписи зависит от метода).

Для тестовых запросов к API используйте данные:
project = 1
Секретное слово: test_API

ДЕЙСТВИЯ (поле action)


Метод Описание
initPayment Вебмастер подписывает данные подписью и делает запрос на API. В случае успеха в ответе будет содержаться ссылка на форму оплаты, куда вам нужно отправить пользователя.
Обязательные: project, sum, currency, innerID, email
project - ID проекта
sum, currency - сумма и валюта заказа (поддерживаются RUB, UAH, USD, EUR)
innerID - внутренний ID в вашей системе - может быть номером заказа или ID пользователя, либо любой строкой (до 500 символов). В рамках проекта может быть НЕуникальным. Если вам не требуется это поле - можно просто передавать 1. Кавычки и символы < и > будут преобразованы.
Необязательные:
comment - Описание заказа (текст до 50 символов UTF-8) - отображается при оплате.
needFailNotice - Отправить уведомление о неуспешной оплате. Если при создании заказа передано needFailNotice=1 то при неудачной оплате тоже будет отправлено уведомление order_cancel.
lang - Смена языка в форме оплаты. Если передано lang=EN то форма оплаты будет на английском языке.
payWay - предпочтительный метод оплаты. Пользователю будет отображен весь список доступных методов оплаты. payWay который вы указали, при возможности, будет уже выбран.
1: Карты
2: Яндекс-деньги
3: Webmoney
4: Криптовалюты
5: Qiwi
strict_payWay - По-умолчанию пользователю открывается выбор всех доступных методов оплаты, а в поле payWay вы можете передать предпочтительный способ. Если он доступен то он будет сразу выбран. Вы можете установить флаг strict_payWay=1 этим самым требуя создание заказа сторого в обозначеном направлении. Если на момент заказа выбраное направление будет недоступно то пользователю не будут отображаться остальные методы, API вернет ошибку. Однако при этом на странице оплаты плательщику будет доступен выбор остальных направлений.
block_payWay - При желании вы можете установить флаг block_payWay=1 и пользователю не будет предоставляться выбор всех направлений оплаты. Будет доступна оплата только тем способом который вы укажете при создании заказа через поле payWay, без выбора.
directPay - Для некоторых направлений (например для QIWI) вы можете установить флаг directPay=1 и в ответе будет ссылка сразу на страницу оплаты QIWI, минуя нашу промежуточную страницу с выбором платежных систем.

Расчет подписи:
md5 ( secret1 + action + project + sum + currency + innerID + email + payWay )
Если вы не передаете payWay то в расчете подписи он не участвует

Пример результата успешного запроса:
{
	"status":"OK",
	"result":"https://pay.primepayments.io/API/v2//order_page.html"
}


Пример результата неуспешного запроса:
{
	"status":"ERROR",
	"result":"Minimal amount: 50 RUB"
}
getOrderInfo Получить статус оплаты по ID. Для выполнения запроса необходимо указывать ID проекта и подписывать запрос секретным словом 1 из этого проекта.
Обязательные: project, orderID
project - ID проекта
orderID - ID нужного заказа


Расчет подписи:
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 можно применить к заказу, оплаченому через банк. карту. Баланс на вашем проекте должен быть больше чем сумма в заказе.
Обязательные: orderID
orderID - ID нужного заказа

Расчет подписи:
md5 ( secret1 + action + orderID )

Пример результата:
{"status":"OK",
	"result":{
	"order_id":"33"
	}
}
initPayout Вебмастер подписывает данные подписью и делает запрос на API. Создается заявка на выплату в указаном проекте.
Обязательные: project, sum, currency, payWay, email, purse

project - ID проекта
sum - Сумма выплаты
currency - Валюта выплаты
payWay - Направление выплаты
email - E-mail человека-получателя средств
purse - Номер карты или кошелька, на который делается выплата

Варианты для payWay:
1: Карты
2: Яндекс-деньги
3: Webmoney
4: USDT (TRC-20)
5: Qiwi
6: Моб. телефон

Необязательные:
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 - успешно выплачено
2 - частично выплачено (остаток суммы возвращается назад на баланс проекта). В данный момент может возникнуть для выплат на карты Украины, особенно при выплате большой суммы за один раз.
getProjectInfo Получить информацию и доступные методы оплаты на проекте. Для выполнения запроса необходимо указывать ID проекта и подписывать запрос секретным словом 1 из этого проекта.
Обязательные: action, project, sign

Расчет подписи:
md5 ( secret1 + action + project )

Пример результата:
{
"status":"OK",
"result": {
	"status":"ACTIVE",
	"comsn_from_payer":75,  
	"comsn_from_webmaster":25,
	"payWays":{
	"RUB":{
		"1":{"comission":"8.00", "fix_sum":"3.00", "comission_RU":"5.00", "fix_sum_RU":"2.00", "min_sum":"10.00", "max_sum":"49000.00", "comment":"Оплата картой"},
		"2":{"comission":"7.00", "fix_sum":"0.00", "min_sum":"10.00", "max_sum":"50000.00", "comment":""},
		"5":{"comission":"7.00", "fix_sum":"0.00", "min_sum":"10.00", "max_sum":"75000.00", "comment":"Кошелек QIWI"}
		}
		}
	}
}
status:
ACTIVE - активный проект в работе
Другие статусы: MODERATION, DEVELOPMENT, VIEWED, BLOCKED, DECLINED, ARCHIVED
comsn_from_payer, comsn_from_webmaster: - Процент комиссий при оплате котрый берет на себя плательщик и вебмастер соответственно (задается в настройках проекта)
Массив payWays - Массив с валютами в которых возможен прием
Массив RUB - В данном приимере - массив направлений оплаты в доступной валюте. Ключ массива - направление payWay (1-карты, 2-Юмани, 5-QIWI и т.д.). Здесь:
comission, fix_sum - Комиссия (проценты) и фиксированая сумма (RUB) по данному направлению
comission_RU, fix_sum_RU - В некоторых случаях на прием с карт РФ есть свои комиссии, отличные от остальных стран (как правило меньше). Комиссии на оплату картами РФ указаны здесь. Если полей comission_RU, fix_sum_RU нет - значит тариф одинаковый для всех стран.
min_sum, max_sum - Минимальная и максимальная суммы, на которую можно создать заказ.
comment
Комментарий
getExchangeRates Получить курсы конвертации различных направлений
Без параметров

Пример результата:
{
	"status":"OK",
	"result":{
		"payouts_RUB_UAH":"1.90"
	}
}

payouts_RUB_UAH - курс конвертации рубль->гривна при выплате с рублевого баланса на карту UA