Описание API v2

Адрес для обращений:
https://pay.platip2p.com/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, payWay
project - ID проекта
sum, currency - сумма и валюта заказа (поддерживаются RUB)
innerID - внутренний ID в вашей системе - может быть номером заказа или ID пользователя, либо любой строкой (до 500 символов). В рамках проекта может быть НЕуникальным. Если вам не требуется это поле - можно просто передавать 1. Кавычки и символы < и > будут преобразованы.
Необязательные:
comment - Описание заказа (текст до 50 символов UTF-8) - отображается при оплате.
payWay - предпочтительный метод оплаты. На данный момент доступны:
10: СБП
11: Карты(e-com)

Расчет подписи:
md5 ( secret1 + action + project + sum + currency + innerID + email + payWay )


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


Пример результата неуспешного запроса:
{
	"status":"ERROR",
	"result":"Minimal amount: 50 RUB"
}


Интеграция H2H
Для того, чтобы использовать H2H в контексте метода initPayment нужно:
- Для payWay 10(СБП).
Добавить параметр "'host2host' => 1" в массив data
- Для payWay 11(Карты(e-com)).
Требуются параметры:
'host2host' - 1,
'cardholder' - ФИО держателя карты,
'cardNumber' - номер карты,
'cardSecurityCode' - cvv код,
'expiryMonth' - месяц окончания действия карты,
'expiryYear' - год окончания действия карты,
{
    'action' => 'initPayment',
    'project' => '2',
    'sum' => 2000,
    'currency' => 'RUB',
    'innerID' => "228",
    'payWay' => 11,
    'email' => "test@platip2p.com",
    'host2host' => 1,
    'cardholder' => 'Иванов Иван Иванович',
    'cardNumber' => '1111222233334444',
    'cardSecurityCode' => '111',
    'expiryMonth' => '05',
    'expiryYear' => '2035',
}
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 - в процессе оплаты
-2 - срок оплаты истек
-1 - оплата не удалась
1 - успешно оплачен
2 - идет возврат
3 - возврат завершен
initPayout Вебмастер подписывает данные подписью и делает запрос на API. Создается заявка на выплату в указаном проекте.
Обязательные: project, sum, currency, payWay, email, purse, cardholder (если выплата P2P).

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

Варианты для payWay:
9: P2P

Необязательные:
cardholder - Имя и фамилия держателя карты
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"
}
sendReceipt Метод для отправки чека об оплате, требуется при использовании PayWay = 10 (СБП). После оплаты пользователь должен отправить чек об оплате в формате pdf
Обязательные: project, orderID
project - ID проекта
orderID - ID нужного заказа


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

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

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
Комментарий