Наименование параметра | Описание | Допустимые символы | Минимальное, максимальное кол–во знаков | Допустимые значения | Обязателен | Пример |
---|---|---|---|---|---|---|
project_id | Идентификатор проекта; указан в настройках Проекта | [a-zA-Z0-9] | 32, 32 | Любые | Да | 0D2239F1BBDAA3E4F98CFD0CDF2F9D73 |
amount | Сумма к оплате. Разделитель – точка (.). Обязательно всегда указывать два знака после разделителя. | [0-9.] | 1,10 | Минимальное: – 1.15 RUB – 11.00 USD Максимальное: – 1000000.00 RUB – 3000.00 USD |
Да | 95.25 |
currency_code | Код валюты оплаты. Прием RUB только с карт, выпущенных банками РФ. Прием USD только с зарубежных карт и по предварительному согласованию проекта (для согласования обратитесь в клиентскую поддержку). |
– | – | RUB, USD | Да | RUB |
manual_confirmation | Необходимость заморозки средств на карте. В случае включения данной опции, средства на карте будут первоначально заморожены (заблокированы/холдированы), списание произойдет автоматически на 7-ой день или ранее, если Вы вручную выполните операцию подтверждения через интерфейс карточки транзакции в Личном Кабинете. Транзакцию так же можно будет отменить до момента автоматического подтверждения через интерфейс карточки транзакции в ЛК или через API. Данная опция (значение 1) недоступна на тарифном плане Стандартный. Данная опция (значение 1) недоступна при оплате в USD. |
– | – | 0, 1 | Да | 0 |
description | Назначение платежа. Отображается на странице оплаты, в карточке транзакции в ЛК, в уведомлениях, API и т.п. При оплате в USD, не отображается на странице оплаты. |
[a-zA-Z0-9-()*.,:;а-яА-Я ] | 5, 300 | Любые | Да | Оплата услуги А |
language | Код языка интерфейса страницы оплаты по–умолчанию, допускается русский (ru-RU) и английский (en-US). При оплате в USD, применяется только en-US. |
– | – | ru-RU, en-US | Да | ru-RU |
reference_1 | Произвольные данные для отслеживания транзакции. Эти данные не отображаются на странице оплаты, но доступны для просмотра Вам в карточке транзакции в Личном Кабинете, при экспорте транзакций в CSV, при просмотре транзакции через API и в обратном вызове (вебхуке) | [a-zA-Z0-9 ] | 0, 32 | Любые | Нет | Customer 1 |
reference_2 | Дополнительные произвольные данные для отслеживания транзакции, как reference_1 | [a-zA-Z0-9 ] | 0, 32 | Любые | Нет | Invoice 1 |
reference_3 | Дополнительные произвольные данные для отслеживания транзакции, как reference_1 | [a-zA-Z0-9 ] | 0, 32 | Любые | Нет | Account 1 |
reference_3_is_unique | Запрет открытия страницы оплаты, если ранее уже проводилась успешная транзакция (status=3/4) с таким же значением reference_3. Может использоваться при выставлении единичного счета на оплату, для избежания повторных оплат счета по-ошибке. Внимание! Данная опция не гарантирует то, что плательщик не сможет произвести повторную оплату с таким же значением reference_3. Пользователь может открыть две или более страницы оплаты во вкладках браузера, а затем произвести оплату в каждой открытой вкладке. |
[1] | 1, 1 | 1 (только если задано значение для reference_3) | Нет | 1 |
custom_data | Произвольные данные для отслеживания транзакции, если reference_1/2/3 недостаточно. Эти данные не отображаются на странице оплаты, но доступны для просмотра Вам в карточке транзакции в Личном Кабинете, при экспорте транзакций в CSV, при просмотре транзакции через API и в обратном вызове (вебхуке). В случае если допустимых символов (A-Za-z0-9+=/._) недостаточно для передачи данных, Вы можете зашифровать их значение по стандарту Base64 (допустимые символы обеспечивают поддержку Base64). |
[A-Za-z0-9+=\/._] | 0, 1000 | Любые | Нет | e3N5c3RlbV9pZDogJzU4MycsIHBheW1lbnRfaWQ6ICdEMjk4NC0zJ30= |
expiration | Дата и время (UTC) истечения срока действия платежной ссылки, Unix timestamp. Внимание! Данная опция не гарантирует то, что плательщик не сможет произвести оплату после заданной даты. Пользователь может открыть страницу оплаты до даты истечения и произвести оплату позднее. |
[0-9] | 10, 10 | Любые | Нет | 1661904000 |
success_url | В случае успешной оплаты, происходит перенаправление на указанный адрес. На этой странице Вы можете указать информацию по сборке заказа, подтверждение, что заказ принят в работу и т.п. В случае если значение адреса перенаправления не задано, то используется стандартная страница Сервиса. Не следует использовать факт перехода плательщиком на страницу success_url как подтверждение оплаты; для получения статуса платежа (списание средств, отклонения платежа и т.п.) используйте уведомления (вебхуки). Данная опция недоступна при оплате в USD (используется стандартная страница Сервиса) |
Значение URL должно быть передано в зашифрованном виде, по стандарту Base64. Допустимые символы в изначальном значении URL [a-zA-Z0-9-\/._:=?&;#] Изначальное значение URL должно начинаться с http:// или https:// Допустимые символы в зашифрованном URL [a-zA-Z0-9=/]. |
Максимальное в изначальном значении URL – 300 | Любые | Нет | aHR0cHM6Ly9leGFtcGxlLmNvbS9wYXltZW50X3N1Y2Nlc3M= |
signature | Значение подписи составляется на основе значений нескольких вышеуказанных параметров (см. ниже) | [a-zA-Z0-9] | 32, 32 | Любые | Да | 6D2239F1BZDAA3E4F98CFD0CDF2F9D18 |
Адрес электронной почты плательщика. PaymentNut требует плательщиков вводить их электронную почту перед непосредственной оплатой; для упрощения процесса оплаты Вы можете заранее указать электронную почту плательщика. | В соответствии с RFC 2822 | 5, 300 | Любые | Нет | [email protected] |
$project_id='0D2239F1BBDAA3E4F98CFD0CDF2F9D73';
$amount='95.25';
$currency_code='RUB';
$manual_confirmation='0';
$description='Оплата услуги А';
$reference_1='Customer 1';
$reference_2='Invoice 1';
$reference_3='Account 1';
$reference_3_is_unique=''; //не задаем явное значение, для примера
$custom_data='{system_id: \'583\', payment_id: \'D2984-3\'}';
$custom_data=base64_encode($custom_data);
$expiration=''; //не задаем явное значение, для примера
$api_key='1EA457132ABC39FBBA99A0EEFE0BF13D';
$signature=md5("$project_id$amount$currency_code$manual_confirmation$description$reference_1$reference_2$reference_3$reference_3_is_unique$custom_data$expiration$api_key");
//значение подписи 5127d855b2cc73780609a8d65b8f81e7
$project_id='0D2239F1BBDAA3E4F98CFD0CDF2F9D73';
$amount='95.25';
$currency_code='RUB';
$manual_confirmation='0';
$description='Оплата услуги А';
$reference_1='Customer 1';
$reference_2='Invoice 1';
$reference_3='Account 1';
$reference_3_is_unique=''; //не задаем явное значение, для примера
$custom_data='{system_id: \'583\', payment_id: \'D2984-3\'}';
$custom_data=base64_encode($custom_data);
$expiration=''; //не задаем явное значение, для примера
$api_key='1EA457132ABC39FBBA99A0EEFE0BF13D';
//формируем подпись
$signature=md5("$project_id$amount$currency_code$manual_confirmation$description$reference_1$reference_2$reference_3$reference_3_is_unique$custom_data$expiration$api_key");
//значение подписи 5127d855b2cc73780609a8d65b8f81e7
//дополнительные параметры
$success_url_raw='https://example.com/payment_success';
$success_url=base64_encode($success_url_raw);
$language='ru-RU';
$email='[email protected]';
//формируем ссылку
$paymentnut_payment_page="ДОМЕН/api/payment/v2/project_id=$project_id&amount=$amount¤cy_code=$currency_code&manual_confirmation=$manual_confirmation&description=$description&language=$language&reference_1=$reference_1&reference_2=$reference_2&reference_3=$reference_3&reference_3_is_unique=$reference_3_is_unique&custom_data=$custom_data&expiration=$expiration&success_url=$success_url&signature=$signature&email=$email";
//значение ссылки ДОМЕН/api/payment/v2/project_id=0D2239F1BBDAA3E4F98CFD0CDF2F9D73&amount=95.25¤cy_code=RUB&manual_confirmation=0&description=Оплата услуги А&language=ru-RU&reference_1=Customer 1&reference_2=Invoice 1&reference_3=Account 1&reference_3_is_unique=&custom_data=e3N5c3RlbV9pZDogJzU4MycsIHBheW1lbnRfaWQ6ICdEMjk4NC0zJ30=&expiration=&success_url=aHR0cHM6Ly9leGFtcGxlLmNvbS9wYXltZW50X3N1Y2Nlc3M=&signature=5127d855b2cc73780609a8d65b8f81e7&email=test@example.com
//перенаправляем на ссылку
header("Location: $paymentnut_payment_page");
Код ошибки | Значение |
---|---|
3 | Недопустимые символы или кол–во символов в поле project_id |
4 | Недопустимые символы или кол–во символов в поле signature |
5 | Недопустимые символы или кол–во символов в поле reference_1 |
6 | Недопустимые символы или кол–во символов в поле reference_2 |
7 | Недопустимые символы или кол–во символов в поле reference_3 |
8 | Недопустимые символы или кол–во символов в поле amount |
9 | Недопустимые символы или кол–во символов в поле currency_code |
10 | Недопустимые символы или кол–во символов в поле description |
11 | Неправильный формат ссылки success_url (после расшифровки по base64) |
13 | Недопустимые символы в поле success_url (после расшифровки по base64) |
15 | Превышено максимальное кол–во символов в поле success_url (после расшифровки по base64) |
17 | Недопустимые символы или кол–во символов в поле language |
18 | Идентификатор проекта (project_id) указан неверно или проект не может принимать платежи |
19 | Неправильная подпись (signature) |
24 | Значение поля amount менее минимального |
25 | Недопустимое значение поля currency_code |
26 | Недопустимое значение поля language |
27 | Недопустимые символы или кол–во символов в поле manual_confirmation |
28 | Недопустимое значение поля manual_confirmation |
31 | Значение поля amount превышает максимальное |
35 | Недопустимое кол–во цифр после разделителя в поле amount |
36 | Недопустимые символы в поле success_url (до расшифровки по base64) |
52 | Недопустимые символы или кол–во символов в поле custom_data |
53 | Значение поля manual_confirmation (1) несовместимо с валютой оплаты (currency_code) |
54 | Значение поля manual_confirmation (1) несовместимо с тарифным планом проекта |
58 | Недопустимые символы в expiration |
59 | Недопустимое кол–во символов в expiration |
60 | Срабатывание правила expiration: текущее время превышает expiration (срок действия платежной ссылки истек) |
61 | Недопустимое значение reference_3_is_unique |
62 | Значение reference_3_is_unique задано, но не задано значение reference_3 |
63 | Срабатывание правила reference_3_is_unique: ранее уже проводилась успешная транзакция (status=3/4) с таким же значением reference_3 |
65 | Неправильный домен/URL платежной ссылки для приема платежа в USD |
67 | Неправильный домен/URL платежной ссылки для приема платежа в RUB |