🔥Создание заказа запросом (Рекомендуем)
Данные для запроса такие-же как и в переходе на форму. Все сделали для удобства перехода и меньшей мороки в коде.
Запрос
POST
https://aaio.so/merchant/get_pay_url
Заголовки
Accept: application/json
*
Content-Type: application/x-www-form-urlencoded
*
Определения
* - обязательные заголовки. Без них Вы не сможете получить корректный ответ.
Параметры (url-encoded)
merchant_id *
uuid
ID Вашего магазина
amount *
double
Сумма к оплате в валюте магазина
(Если в сумме есть копейки, то отправляйте их с разделителем "." Пример: 100.18
)
order_id *
string min: 1 max: 64
Идентификатор заказа в Вашей системе. Значение параметра может содержать только буквы, цифры и символы :
, -
, _
, [
, ]
,|
.
currency *
string
Валюта заказа. Доступные значения: RUB
, UAH
, EUR
, USD
method
string
Кодовое название платежной системы (см. способы оплаты). Предлагаемый способ оплаты. Клиент сможет изменить его в процессе оплаты
desc
string min: 1 max: 512
Описание заказа (показывается клиенту при оплате)
string
E-Mail клиента
lang
string
Язык интерфейса. Доступные значения: ru
, en
. По умолчанию: ru
referral
string
Внимание! Код реферала недоступен для данного метода, так-как пользователь будет отправлен не на основной домен aaio.so
.
us_key
string min: 1 max: 2056
Так же Вы можете передавать свои параметры, которые наш сервер вернет на Ваш URL оповещения. Ключи параметров должны начинаться с us_
и содержать только латинские символы и цифры. Максимальная длина - 15
. Значения параметров могут содержать только буквы, цифры и символы -
, _
, [
, ]
, +
,=
,|
. Например:
us_name=ivanov&us_login=ivanov1971
Обратите внимание! Параметры передаются в формате application/x-www-form-urlencoded
Примеры ответа
Формат ответа application/json
{
"type": "success",
"url": "https://......" // URL для оплаты
}
Готовые примеры запроса
<?php
$merchant_id = ''; // ID Вашего магазина
$amount = 10.54; // Сумма к оплате
$currency = 'RUB'; // Валюта заказа
$secret = ''; // Секретный ключ №1 из настроек магазина
$order_id = 'php_curl_example'; // Идентификатор заказа в Вашей системе
$sign = hash('sha256', implode(':', [$merchant_id, $amount, $currency, $secret, $order_id]));
$desc = 'Order Payment'; // Описание заказа
$lang = 'ru'; // Язык формы
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://aaio.so/merchant/get_pay_url');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'merchant_id' => $merchant_id,
'amount' => $amount,
'currency' => $currency,
'order_id' => $order_id,
'sign' => $sign,
'desc' => $desc,
'lang' => $lang
]));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); // Таймаут подключения к нашему серверу
curl_setopt($ch, CURLOPT_TIMEOUT, 60); // Таймаут обработки запроса
$result = curl_exec($ch); // Ответ
$http_code = curl_getinfo($ch, CURLINFO_RESPONSE_CODE); // Код ответа
if (curl_errno($ch)) {
die('Connect error:' . curl_error($ch)); // Вывод ошибки соединения
}
curl_close($ch);
if(!in_array($http_code, [200, 400, 401])) {
die('Response code: ' . $http_code); // Вывод неизвестного кода ответа
}
$decoded = json_decode($result, true); // Парсинг результа. На выходе получаем массив данных
if(json_last_error() !== JSON_ERROR_NONE) {
die('Не удалось пропарсить ответ');
}
if($decoded['type'] == 'success') {
print_r($decoded); // Вывод результата
} else {
die('Ошибка: ' . $decoded['message']); // Вывод ошибки
}
Last updated