Aaio - Документация
Вернуться на сайт
  • 😇Приветствие
  • 😱Нашли проблему?
  • 📍IP Адреса сервиса
  • ⚛️Готовые CMS модули и SDK
    • WHMCS 5.x-8.x
    • Opencart 2.3.x
    • Opencart 3.x
    • DLE Billing
    • Billmanager 6
    • WooCommerce — Плагин для WordPress
    • Xenforo 2.1.0+
    • Python 3 SDK
    • Typescript SDK
    • Java SDK
  • 🤑Прием платежей
    • 🔥Создание заказа запросом (Рекомендуем)
      • Методика формирования подписи
    • 💩Создание заказа переходом на форму (Устаревшее)
      • Методика формирования подписи
      • Пример формы на PHP
      • Пример получения ссылки на PHP
      • Пример получения ссылки на Python
    • Редирект клиента с формы оплаты
    • Оповещение об оплате заказа
      • Методика формирования подписи
      • Пример обработчика на PHP
  • 💸Вывод средств
    • Оповещение о выполнении либо отмене вывода
      • Методика формирования подписи
      • Пример обработчика на PHP
  • 🕵️API
    • Получение баланса
    • Вывод средств
    • Курс валют при выводе средств
    • Банки для вывода средств на СБП
    • Информация о заявке на вывод средств
    • Информация о заказе
    • Доступные методы для вывода средств
    • Доступные методы для создания заказа
  • Прочее
    • Кодовые названия методов пополнения
    • Кодовые названия методов вывода
Powered by GitBook
On this page
  • Запрос
  • Заголовки
  • Параметры (url-encoded)
  • Примеры ответа
  • Готовые примеры запроса
  1. Прием платежей

Создание заказа запросом (Рекомендуем)

Почему рекомендуем создавать заказ именно отправляя запрос на сервер? В связи с зачастившими блокировками домена мы выделяем новый домен под форму оплаты. Чтобы не менять его каждый раз в продакшене, мы решили сделать данный метод который будет возвращать Вам всегда актуальный URL для оплаты!

Данные для запроса такие-же как и в переходе на форму. Все сделали для удобства перехода и меньшей мороки в коде.

Запрос

POST https://aaio.so/merchant/get_pay_url

Заголовки

Accept: application/json * Content-Type: application/x-www-form-urlencoded *

Определения * - обязательные заголовки. Без них Вы не сможете получить корректный ответ.

Параметры (url-encoded)

name
type
description

merchant_id *

uuid

ID Вашего магазина

amount *

double

Сумма к оплате в валюте магазина (Если в сумме есть копейки, то отправляйте их с разделителем "." Пример: 100.18)

order_id *

string min: 1 max: 64

Идентификатор заказа в Вашей системе. Значение параметра может содержать только буквы, цифры и символы : , -, _, [, ] ,|.

sign *

string

currency *

string

Валюта заказа. Доступные значения: RUB, UAH, EUR, USD

method

string

desc

string min: 1 max: 512

Описание заказа (показывается клиенту при оплате)

email

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 для оплаты
}

Пользовательские коды ошибок - 400, 401, 429 Серверные коды ошибок - 500, 503

{
  "type": "fail",
  "code": "400",
  "message": "message"
}

Если код ответа другой, то возможна проблема на стороне сервера API. Рекомендуем учитывать такие ситуации в коде.

Готовые примеры запроса

<?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 4 months ago

Подпись заказа (SHA256 Хеш).

Кодовое название платежной системы (см. ). Предлагаемый способ оплаты. Клиент сможет изменить его в процессе оплаты

🤑
🔥
Методика формирования подписи для запроса
способы оплаты