Документация API
Сгенерировать карту
- Данный API предназначен для генерации карт для указанного клиента, суммы и валюты.
Базовый URL:
https://paysync.bot/
Для генерации карты через API PaySync можно добавить необязательный параметр data в запрос. Этот параметр позволит передать произвольные данные, которые будут возвращены в ответе на вебхук. Это может быть полезно для отслеживания или сохранения дополнительных сведений о запросе.
$client = номер клиента; $amount = сумма; $cur = валюта; // URL для GET-запроса $url = "https://paysync.bot/api/client$client/amount$amount/currency$cur?data=ваши данные"; // Используем функцию curl_init для инициализации сеанса cURL $ch = curl_init($url); // Устанавливаем опции cURL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Выполняем запрос и получаем результат $response = curl_exec($ch); // Проверяем наличие ошибок при выполнении запроса if (curl_errno($ch)) { echo 'Ошибка cURL: ' . curl_error($ch); } else { // Выводим результат в формате JSON echo $response; } // Завершаем сеанс cURL curl_close($ch);
Параметры запроса
Имя параметра | Тип данных | Обязательно | Описание |
---|---|---|---|
client | float | + | Уникальный номер клиента из бота @PaySyncBot он же ID пользователя Telegram. |
amount | string | + | Сумма для оплаты. |
currency | string | + | Валюта суммы к оплате. Если этот параметр не задан, по умолчанию считается, что сумма в рублях RUB. Доступные валюты [RUB,UAH,KZT,MDL]. |
data | string | + | Произвольные данные, которые будут возвращены в ответе на вебхук. |
Пример ответа
JSON:
{"amount":"5000","card_number":"5269940013348901\u00a0 ","commission":"13.0","rate":"487.652","result":"success","trade":2913962,"usdt_amount":"8.92"}
Сгенерировать криптоадрес
Все запросы к API должны быть отправлены по следующему базовому URL:
Базовый URL https://paysync.bot/api/crypto
Получить платеж
Эти конечные точки предоставляют удобный способ генерировать уникальные платежные адреса для каждой транзакции. Используя эти конечные точки, вы можете легко отслеживать свои платежи и управлять ими более эффективным образом.
cURL
curl "https://paysync.bot/api/crypto?ticker={ticker}&address={address}&callback={callback}"
PHP
Доступные монеты : btc, ltc, doge, eth, trx, trc20/usdt
// Укажите здесь вашу криптовалюту, адрес и URL обратного вызова $ticker = 'trc20/usdt'; // замените на вашу монету $address = 'TVLFx4qobzYjufDpLM2cVBAKQUPzD1gMDe'; // замените на ваш адрес $callbackUrl = 'https://paysync.bot/callback'; // замените на ваш callback url // Создание URL для запроса $requestUrl = "https://paysync.bot/api/crypto?ticker=" . urlencode($ticker) . "&address=" . urlencode($address) . "&callback=" . urlencode($callbackUrl); // Инициализация сеанса cURL $ch = curl_init(); // Настройка параметров cURL curl_setopt($ch, CURLOPT_URL, $requestUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Выполнение запроса и получение ответа $response = curl_exec($ch); // Проверка на ошибки if (curl_errno($ch)) { echo 'Ошибка cURL: ' . curl_error($ch); } else { // Просто выводим ответ сервера echo $response; } // Закрытие сеанса cURL curl_close($ch);
Параметры запроса
Имя параметра | Тип данных | Обязательно | Описание |
---|---|---|---|
ticker | float | + | Символьный код криптовалюты (например, trc20/usdt для токена USDT на блокчейне TRC20). Определяет, в какой валюте будет производиться транзакция. |
address | string | + | Криптоадресс получателя |
callback | string | + | URL для обратного вызова. Сюда будут отправляться уведомления о статусе транзакции (например, подтверждена или отклонена). |
Как правило, сервис PaySync начинает выполнять обратные вызовы с 0 подтверждений (новая неподтвержденная транзакция в сети). Если средства будут перенаправлены указанным получателям, к данным обратного вызова будет добавлена некоторая дополнительная информация.
Предупреждение: Не пополняйте баланс и не завершайте заказ клиента, если вы получили неподтвержденную транзакцию. Мошенники могут произвести двойную трату (откроется новое окно) и перенаправить этот платеж. Пожалуйста, завершите заказ только после 1-3 подтверждений в сети. Обратные вызовы будут отправляться до тех пор, пока не будет получен ответ *ok* (код состояния HTTP 200, тип содержимого text/plain).
*ok*
Важно отметить, что URL для обратного вызова (callback URL) должен быть уникальным для каждого клиента. Это требование обеспечивает индивидуальную обработку каждой транзакции и помогает предотвратить путаницу в обработке данных.
Если для разных запросов от одного и того же клиента будет использоваться один и тот же callback URL, API может вернуть тот же криптоадрес, что использовался в предыдущих транзакциях.
Создать инвойс
Этот метод API предназначен для создания инвойса или выставления счёта на оплату, при успешном выполнении, пользователь будет перенаправлен на URL инвойса.
Для генерации инвойса через API PaySync можно добавить необязательный параметр data в запрос. Этот параметр позволит передать произвольные данные, которые будут возвращены в ответе на вебхук. Это может быть полезно для отслеживания или сохранения дополнительных сведений о запросе.
PHP
// Замените значения {client}, {amount} и {currency} на реальные данные $client = "client_value"; $amount = "amount_value"; $currency = "currency_value"; // Соберите URL с параметрами $url = "https://paysync.bot/create_invoice/{$client}/{$amount}/{$currency}?data=ваши данные"; // Отправьте GET-запрос и получите результат $result = file_get_contents($url); // Выведите результат echo $result;
Python
import requests # Замените значения {client}, {amount} и {currency} на реальные данные client = "client_value" amount = "amount_value" currency = "currency_value" # Соберите URL с параметрами url = f"https://paysync.bot/create_invoice/{client}/{amount}/{currency}?data=ваши данные" # Отправьте GET-запрос и получите результат response = requests.get(url) # Перейдите по полученной ссылке if response.status_code == 200: result_url = response.url print(f"Переход по ссылке: {result_url}") else: print(f"Ошибка при выполнении запроса. Код состояния: {response.status_code}")
Параметры запроса
Имя параметра | Тип данных | Обязательно | Описание |
---|---|---|---|
client | float | + | Уникальный номер клиента из бота @PaySyncBot он же ID пользователя Telegram. |
amount | string | + | Сумма для оплаты. |
currency | string | + | Валюта суммы к оплате. Если этот параметр не задан, по умолчанию считается, что сумма в рублях RUB. Доступные валюты [RUB,UAH,KZT,MDL]. |
data | string | + | Произвольные данные, которые будут возвращены в ответе на вебхук. |
Пример ответа
{"amount":1200,"conversion_rate":50.26,"conversion_usdt":"23.88","currency":"UAH","data":"privet","trade":"4781612535","url":"https://paysync.bot/invoice/42ed6ef4-94d6-476e-9766-e57d5b700ef0","usdt_amount":"20.77"}
Активация кода
https://paysync.bot/api/activate_code/user_id/code
Этот endpoint используется для активации транзакционного кода для пользователя. Он проверяет действительность кода, его статус активации и обновляет баланс пользователя, если код действителен и ранее не был активирован.
cURL
curl https://paysync.bot/api/activate_code/user_id/code
Пример ответа : 200
{ "success": "Code activated successfully", "added_amount": "amount" }
Пример ответа : 400
{ "error": "User not found" }
или
{ "error": "Code not found" }
Код уже активирован.
{ "error": "Code already activated" }
Примечания
Endpoint также отправляет уведомление пользователю через Telegram, указывая на успешную активацию кода и обновленный баланс.
Убедитесь, что идентификатор пользователя и код корректно введены, чтобы избежать ошибок, таких как "Пользователь не найден" или "Код не найден".
Этот endpoint должен быть защищен и доступен только для аутентифицированных пользователей, чтобы предотвратить несанкционированную активацию.
Получить текущий курс
Этот метод API предназначен для получения текущего курса трейдеров ByBit
cURL для получения всех курсов
curl https://paysync.bot/api/curs
cURL для получения курса одной валюты
curl https://paysync.bot/curs?currency=USD
Пример ответа для всех валют
{"BYN":"3.60","EUR":"0.93","INR":"93.25","KGS":"93.44","KZT":"463.44","MDL":"19.39","PLN":"4.12","RUB":"97.89","UAH":"41.92","USD":"1.00","UZS":"14192.26"}
Пример ответа для одной валюты (USD)
{"USD":"1.00","timestamp":"2024-09-22 14:32:02"}
Выплаты
Все запросы к API должны быть отправлены по следующему базовому URL:
Базовый URL https://paysync.bot/send/usdt
Аутентификация
Некоторые эндпоинты API могут требовать аутентификации с использованием API-ключа. Для получения API-ключа Зайдите в нашего бота Telegram нажмите
🚀 Сервисы > ⚙️ Настройки API > Выпустить токен
cURL
curl -X POST -H "Content-Type: application/json" -d '{"apikey":"your_api_key","amount":100.0,"address":"recipient_address"}' https://paysync.bot/send/usdt
PHP
// URL сервера, куда вы хотите отправить POST-запрос $server_url = 'https://paysync.bot/send/usdt'; // Данные, которые вы хотите отправить на сервер $data = array( 'apikey' => 'ВАШКЛЮЧ', 'amount' => 100, // Замените этот параметр на нужное значение 'address' => 'ВАШАДРЕСС', // Замените этот параметр на нужное значение ); // Инициализируем cURL-сессию $ch = curl_init($server_url); // Устанавливаем параметры запроса curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); // Выполняем запрос $response = curl_exec($ch); // Закрываем cURL-сессию curl_close($ch); // Обрабатываем ответ сервера if ($response === false) { echo 'Ошибка при выполнении запроса: ' . curl_error($ch); } else { // Выводим ответ сервера echo 'Ответ от сервера: ' . $response; }
Параметры запроса
Имя параметра | Тип данных | Обязательно | Описание |
---|---|---|---|
apikey | float | + | Уникальный api-ключ из бота @PaySyncBot он же ключ доступа . |
amount | string | + | Сумма для вывода средств в USDT TRC20. |
address | string | + | Адрес кошелька USDT TRC20. |
Перевод между пользователей без коммисии
Позволяет переводить средства от одного пользователя другому с использованием API-ключа.
URL для запроса:
GET https://paysync.bot/api/transfer
Параметры запроса:
Для использования этого API, отправьте GET-запрос на указанный URL с соответствующим apikey. Ответ будет представлен в формате JSON, как указано выше.
Получение списка транзакций
Данный API-метод позволяет получить список транзакций клиента в формате JSON. Для получения списка требуется указать уникальный идентификатор ключа.
URL для запроса:
GET https://paysync.bot/get_transactions/apikey
Параметры запроса:
Ответ предоставляется в формате JSON, который содержит массив transactions. Каждый элемент массива является объектом транзакции и содержит следующие данные:
Пример ответа
{ "transactions": [ { "amount": "600", "card_number": "5168180003354781", "currency": "UAH", "status": "wait", "trade": "456412" }, // Дополнительные транзакции... ] }
Для использования этого API, отправьте GET-запрос на указанный URL с соответствующим apikey. Ответ будет представлен в формате JSON, как указано выше.
Проверка баланса
API get_balance
предоставляет возможность получения баланса пользователя на платформе paysync.bot
. Для доступа к этому API необходимо использовать ваш уникальный API-ключ, который вы можете получить, следуя указанным ниже инструкциям.
Получение API-ключа
Для получения API-ключа, необходимо выполнить следующие шаги:
Пример запроса
Выполните GET-запрос к следующему URL, подставив ваш API-ключ вместо {api_key}
:
https://paysync.bot/get_balance/{api_key}
Пример ответа
JSON
{ "balance": 100.50 }
Если при выполнении запроса возникнут ошибки, API вернет соответствующий статус и описание ошибки в формате JSON.
{"error":"Неправильный API ключ"}
Проверка статуса заявки
Этот документ предоставляет подробности о том, как использовать API для получения статуса торговли с помощью запроса типа GET.
Получение статуса торговли
GET https://paysync.bot/gettrans/{trade}
Параметры
trade
— Уникальный идентификатор торговли, для которой вы хотите проверить статус.Ответ
API возвращает JSON-объект, содержащий информацию о статусе указанной торговли. В ответе будут следующие поля:
status
— Строка, указывающая текущий статус торговли. Возможные значения:paid
— Торговля успешно оплачена.wait
— Торговля находится в состоянии ожидания.amount
— ожидаемая сумма в USDT.card_number
— номер карты.JSON
{ "amount":"384", "card_number":"4149609024775746", "conversion_rate":"41.0", "currency":"UAH","status":"paid", "time":"2024-03-07 20:54:37", "time_paid":"2024-03-07 21:06:05", "trade":"109070", "usdt_amount":8.1519, "user_id":1931502438 }
Создание инвойса внутри бота
PaySync предоставляет бесплатный API для создания счетов на оплату без необходимости верификации. Вы можете легко интегрировать выставление счетов в свой сервис, используя баланс бота для проведения платежей.
Создание счета на оплату
GET https://paysync.bot/api/payinvoice?user_id=[номерклиента]&amount=[суммаUSDT]&callback_url=[вебхук урл]
Параметры
amount
— Сумма к оплате в USDT.user_id
— Номер клиента.callback_url
— Вебхук урл.Ответ
API возвращает JSON-объект со следующей информацией:
amount
— Сумма к оплате в USDTinvoice_id
— Уникальный идентификатор счетаpayment_url
— Ссылка для оплаты счета через ботsuccess
— Статус успешности запросаuser_id
— Идентификатор пользователяwebhook
— URL для получения уведомленийJSON
{ "amount": 2.0, "invoice_id": "f1c5005a-adb2-4dbb-86d8-0baf48e10c8b", "payment_url": "https://t.me/paysyncbot?start=pay_invoice_f1c5005a-adb2-4dbb-86d8-0baf48e10c8b", "success": true, "user_id": ваш айди в боте, "webhook": "https://cpbot.cc/api/test/hook.php" }
Callback URL ответ
После оплаты инвойса, на указанный callback_url будет отправлен следующий JSON:
{ "invoice_id": "f1c5005a-adb2-4dbb-86d8-0baf48e10c8b", "amount": 2.0, "status": "paid", "user_id": айди клиента который оплатил, "recipient_id": ваш айди в боте }
WebHook
Callback URL используется для получения уведомлений о подтверждении заявок в реальном времени. Это URL, на который API будет отправлять HTTP POST запросы при подтверждении заявок.
Формат Callback
Когда заявка подтверждается, на установленный Callback URL будет отправлен HTTP POST запрос с JSON телом, содержащим информацию о транзакции.
{ "trade": "678099", "card_number": "2200 3804 5257 1862", "amount": "7539", "usdt_amount": "69.54", "currency": "RUB", "conversion_rate": "95.95", "status": "paid", "time": "2024-09-21 10:03:18", "time_paid": "2024-09-21 10:06:09", "token": "f571d339-dd80-4d88-a6ee-43a3986e301e", "user_id": "********", "data": "ваши данные", }
Дополнительная защита подписи
Когда мы отправляем обратный вызов (callback), обычно он не содержит аутентификационной подписи. Однако, для дополнительного уровня проверки, вы можете включить проверку подписи вебхука. Для этого необходимо включить параметры apikey и client_id в хеш sha256.
apikey
можно получить из раздела настроек API вашего бота.
client_id
представляет собой ваш уникальный идентификатор клиента, который также можно найти в нашем боте.
При получении вебхука от нас, осуществите проверку по параметру sign, используя хеш sha256(apikey + client_id).
{ "trade": "678099", "card_number": "2200 3804 5257 1862", "amount": "7539", "usdt_amount": "69.54", "currency": "RUB", "conversion_rate": "95.95", "status": "paid", "time": "2024-09-21 10:03:18", "time_paid": "2024-09-21 10:06:09", "token": "f571d339-dd80-4d88-a6ee-43a3986e301e", "user_id": "********", "data": "ваши данные", "sign": "d1de74fe96b8d01784df0da20927cce8e63d89b36fa84f54b4e9974d4dfccb06" }
Обработка
При получении Callback, ваш сервер должен обработать информацию о транзакции и отправить ответ со статусом 200 OK
, чтобы подтвердить, что уведомление было успешно получено.
Уведомление в боте
Независимо от того, установлен ли Callback URL, пользователи всегда будут получать уведомления о транзакциях напрямую в боте-кошельке. Это обеспечивает дополнительный уровень уверенности, что пользователь не пропустит уведомление о транзакции, даже если какие-то проблемы возникнут с Callback URL или сервером пользователя.
Интеграция с callback url
Если Callback URL также установлен, уведомления в боте будут дополняться уведомлениями, отправленными на Callback URL. Это позволяет пользователям использовать уведомления в боте для быстрой проверки транзакций и Callback URL для автоматизированной обработки транзакций на стороне сервера.