Транзакция оплаты - это операция списания средств со счета пользователя в альтернативной платежной системе. Каждая платежная система устанавливает свои условия проведения операции оплаты и имеет собственный механизм списания средств.
Запрос
Для проведения оплаты отправьте POST запрос на https://api.begateway.com/beyag/transactions/payments со следующими параметрами:
object
amount
обязательный
integer Сумма в минимальных денежных единицах. Например, $32.45 должна быть отправлена как 3245.
string Время в формате ISO-8601, до которого действителен платеж. По умолчанию, бессрочно. Формат: YYYY-MM-DDThh:mm:ssTZD, где YYYY – год (например, 2027), MM – месяц (например, 02), DD – день (например, 09), hh – часы (например, 18), mm – минуты (например, 20), ss – секунды (например, 45), TZD – часовой пояс (+hh:mm или –hh:mm), например, +02:00 для Вильнюса. Если в указанный момент платёж всё ещё не будет оплачен, он будет переведён в статус expired.
tracking_id
string Внутренний идентификатор платежа (номер заказа или покупателя и т.д.) в системе торговца, по которому можно будет отследить платеж в поступившем уведомлении. В параметре может быть отправлено несколько значений, разделенных символом ;. Например: "cbe59142-90af-4aea-b5a5-5bf3f66cf3da;f7883cb9-0e26-43a7-beb7-4027cb55d1a6;4a6a89d5-6950-400f". Если в запросе было передано более одного значения tracking_id, поиск транзакции в личном кабинете может быть осуществлен по любому из них.
ip
string IP-адрес покупателя, производящего оплату в магазине торговца.
language
string Язык вашей страницы оформления заказа.
Если параметр установлен и уведомление о транзакции по электронной почте включено, Demo PSP отправит письмо по электронной почте, язык текста которого будет соответсвовать значению параметра language. По умолчанию - en. Доступные значения параметра language.
notification_url
string URL, на который торговец будет получать уведомления об оплате. Если не указан, уведомления не высылаются.
verification_url
string URL, на который будут приходить запрос на подтверждение транзакции. Формат запроса на подтверждение аналогичен формату ответа транзакции.
return_url
обязательный
string URL, на который будет возвращен плательщик после завершения операции в платёжной системе.
iframe
boolean Шлите true, если вы на вашем сайте используете оплату через iFrame. Внешняя платёжная система вернет шаблон, который подойдет для открытия в iFrame.
условно обязательный
object Секция информации о покупателе. Проверьте описание платежного метода, чтобы узнать, необходимо ли передавать параметры данной секции.
string Дата рождения покупателя в формате ISO-8601 (YYYY-MM-DD).
gender
string Возможные значения: male или female.
device_id
string Идентификационный номер устройства покупателя.
taxpayer_id
string Идентификационный номер налогоплательщика (ИНН), присвоенный покупателю.
id_number
string Номер идентификационного документа покупателя.
external_id
string (255) Идентификатор покупателя в системе торговца.
object Набор параметров данной секции зависит от того, какую электронную платёжную систему планируется использовать.
type
обязательный
string Имя платёжной системы или определённый способ оплаты, поддерживаемый подключенной платёжной системой.
token
string Токен type способа оплаты, который был получен в какой-то из предыдущих операций для осуществления быстрого платежа.
object Секция, содержащая дополнительную информацию о платеже.
contract
array Массив, элементами которого могут быть параметры:
recurring - Demo PSP вернет токен способа оплаты для осуществления последующих платежей без повторного ввода необходимых для type реквизитов платежа.
receipt_text
array Текст, который будет добавлен в письмо покупателю. Должен быть представлен как массив строк, например ["Первая строка", "Вторая строка"].
object Секция дополнительной информации о покупателе.
Параметры секции зависят от того платежного метода, с помощью которого вы хотите принять оплату от покупателя.
id
условно обязательный
string ID покупателя. Проверьте описание платежного метода, чтобы узнать, какое значение необходимо передать в этом параметре.
object Секция параметров браузера покупателя.
user_agent
условно обязательный
string Cтрока агента пользователя текущего браузера. Соответствует параметру navigator.userAgent из JavaScript. Смотрите описание параметров платёжного метода, чтобы уточнить, является ли параметр обязательным.
Если запрос на оплату принят успешно, в ответ на него придет сообщение, содержащее в строковом виде JSON-объект с дополнительными информационными полями. Такое же сообщение будет отправлено после проведения оплаты в уведомлении на адрес, указанный в notification_url. Полученный в ответе JSON-объект имеет единственный ключ transaction, значением которого является другой JSON-объект со следующими полями:
object
uid
обязательный
string UID обработанной транзакции.
type
обязательный
string Тип транзакции.
status
обязательный
string Статус обработанной транзакции.
amount
обязательный
integer Сумма платежа в минимальных денежных единицах.
string Токен способа оплаты для быстрого совершения платежей в последующих операциях.
qr_code
string Ссылка на QR код для оплаты.
object
status
обязательный
string Статус обработанной транзакции.
gateway_id
обязательный
integer Идентификатор внутреннего платежного шлюза.
ref_id
string Номер операции в платёжной системе.
message
string Сообщение от платёжной системы.
bank_code
string Код результата транзакции на стороне провайдера.
rrn
string Идентификатор транзакции на стороне провайдера, полученный от третьей стороны.
object Информация о плательщике.
first_name
string Имя покупателя.
middle_name
string Отчество покупателя.
last_name
string Фамилия покупателя.
country
string Страна покупателя.
city
string Город покупателя.
zip
string Почтовый индекс покупателя.
address
string Адрес покупателя.
phone
string Номер телефона покупателя.
object Секция информации о покупателе.
ip
string IP-адрес покупателя.
email
string email покупателя.
object Элементы и атрибуты формы перенаправления на сайт платежной системы (форму с указанными полями и атрибутами необходимо предоставить пользователю для отправки):
action
string Атрибут action HTML-формы;
method
string Атрибут method HTML-формы;
array Массив данных HTML-формы (каждый элемент массива - объект, список ключей которого см. ниже):
type
string Тип поля HTML-формы;
name
string Название поля HTML-формы;
id
string Идентификатор поля HTML-формы;
value
string Значение поля HTML-формы;
В случае ошибки ответ на запрос будет иметь следующие параметры:
message
обязательный
string Сообщение об ошибке;
обязательный
object Ассоциативный массив (объект) с ключами соответствующими типам ошибок (например system - системная ошибка):
{key}
обязательный
array Массив сообщений об ошибке соответствующего типа. Если ошибка одна (как в примере) - массив будет состоять из одного элемента;
Пример ответа
{"transaction":{"uid":"2-52671c8733","type":"payment","status":"successful","amount":100,"currency":"USD","description":"Test transaction","created_at":"2024-06-11T12:04:59+03:00","updated_at":"2024-06-11T12:04:59+03:00","tracking_id":"tracking_id_000","message":"Successfully processed","test":true,"method_type":":method_name","receipt_url":"https://demo-backoffice.begateway.com/customer/transactions/2-52671c8733/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",":method_name":{"type":":method_name","token":"55524-1559836037-0-1800"},"payment":{"status":"successful","gateway_id":85,"ref_id":"777888","message":"The operation was successfully processed","bank_code":null,"rrn":null},"customer":{"ip":"127.0.0.1","email":"john@example.com"},"billing_address":{"first_name":"John","last_name":"Doe","address":"1st Street","country":"US","city":"Denver","zip":"96002","phone":17777777777}}}
Обратите внимание на то, что в ответе выше отсутствует параметры кнопки отправки формы (<input type="submit" name="submit" value="Оплатить">) - её вам необходимо добавить самостоятельно в соответствии с дизайном вашего сайта и языковыми предпочтениями.