Методи

Реалізація методів Crypto Pay API.

CryptoPay.get_me()

Метод getMe.

Використовуйте цей метод для перевірки токена автентифікації вашого застосунку. Не потребує параметрів. У разі успіху повертає базову інформацію про застосунок.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_f4a0fd9ca0

Тип повернення:

App

CryptoPay.create_invoice(amount, asset=None, *, currency_type=None, fiat=None, accepted_assets=None, swap_to=None, description=None, hidden_message=None, paid_btn_name=None, paid_btn_url=None, payload=None, allow_comments=None, allow_anonymous=None, expires_in=None)

Метод createInvoice.

Використовуйте цей метод для створення нового рахунку. У разі успіху повертає об’єкт створеного aiosend.types.Invoice.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_38468af1a6

Параметри:
  • amount (float) – Сума рахунку у вигляді числа з рухомою комою. Наприклад: 125.50

  • currency_type (CurrencyType | None) – Опціонально. Тип ціни, може бути “crypto” або “fiat”. За замовчуванням crypto.

  • asset (Asset | None) – Опціонально. Обов’язково, якщо currency_type є “crypto”. Літерний код криптовалюти. Підтримувані активи: “USDT”, “TON”, “BTC”, “ETH”, “LTC”, “BNB”, “TRX” і “USDC”.

  • fiat (Fiat | None) – Опціонально. Обов’язково, якщо currency_type є “fiat”. Код фіатної валюти. Підтримувані фіатні валюти: “USD”, “EUR”, “RUB”, “BYN”, “UAH”, “GBP”, “CNY”, “KZT”, “UZS”, “GEL”, “TRY”, “AMD”, “THB”, “INR”, “BRL”, “IDR”, “AZN”, “AED”, “PLN” і “ILS”.

  • accepted_assets (list[Asset] | None) – Опціонально. Список літерних кодів криптовалют. Активи, якими можна оплатити рахунок. Доступно лише якщо currency_type є “fiat”. Підтримувані активи: “USDT”, “TON”, “BTC”, “ETH”, “LTC”, “BNB”, “TRX” і “USDC” (а також “JET” для testnet). За замовчуванням доступні всі валюти.

  • swap_to (Asset | None) – Опціонально. Актив, на який буде здійснено спробу обміну після того, як користувач виконає платіж (обмін не гарантується). Підтримувані активи: «USDT», «TON», «TRX», «ETH», «SOL», «BTC», «LTC».

  • description (str | None) – Опціонально. Опис рахунку. Користувач побачить цей опис під час оплати рахунку. До 1024 символів.

  • hidden_message (str | None) – Опціонально. Текст повідомлення, яке буде показано користувачеві після оплати рахунку. До 2048 символів.

  • paid_btn_name (PaidBtnName | None) – Опціонально. Мітка кнопки, яка буде показана користувачеві після оплати рахунку.

  • paid_btn_url (str | None) – Опціонально. Обов’язково, якщо вказано paid_btn_name. URL, який відкривається кнопкою, що буде показана користувачеві після оплати рахунку. Ви можете встановити будь-яке callback-посилання, наприклад посилання успішного виконання або посилання на головну сторінку. Починається з https або http.

  • payload (str | None) – Опціонально. Будь-які дані, які ви хочете прикріпити до рахунку, наприклад ID користувача, ID платежу тощо. До 4 КБ.

  • allow_comments (bool | None) – Опціонально. Дозволяє користувачеві додати коментар до платежу. За замовчуванням True.

  • allow_anonymous (bool | None) – Опціонально. Дозволяє користувачеві оплатити рахунок анонімно. За замовчуванням True.

  • expires_in (int | None) – Опціонально. Ви можете встановити обмеження часу оплати рахунку в секундах. Допустимі значення від 1 до 2678400.

Тип повернення:

Invoice

CryptoPay.delete_invoice(invoice_id)

Метод deleteInvoice.

Використовуйте цей метод для видалення рахунків, створених вашим застосунком. Повертає True у разі успіху.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_da2ea9f39c

Параметри:

invoice_id (int) – ID рахунку, який потрібно видалити.

Тип повернення:

bool

Порада

Щоб використовувати метод /create_check, потрібно увімкнути його в налаштуваннях обмежень у @CryptoBot таким чином:

🏝 Crypto Pay -> My Apps -> <Your App> -> Security -> Checks -> Enable.

CryptoPay.create_check(amount, asset, pin_to_user_id=None, pin_to_username=None)

Метод createCheck.

Використовуйте цей метод для створення нового чека. У разі успіху повертає об’єкт створеного aiosend.types.Check.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_cef427b32c

Параметри:
  • amount (float) – Сума чека у вигляді числа з рухомою комою. Наприклад: 125.50

  • asset (Asset) – Літерний код криптовалюти. Підтримувані активи: “USDT”, “TON”, “BTC”, “ETH”, “LTC”, “BNB”, “TRX” і “USDC” (а також “JET” для testnet).

  • pin_to_user_id (int | None) – Опціонально. ID користувача, який зможе активувати чек.

  • pin_to_username (str | None) – Опціонально. Користувач із вказаним ім’ям користувача зможе активувати чек.

Тип повернення:

Check

CryptoPay.delete_check(check_id)

Метод deleteCheck.

Використовуйте цей метод для видалення чеків, створених вашим застосунком. Повертає True у разі успіху.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_b27428d56a

Параметри:

check_id (int) – ID чека, який потрібно видалити.

Тип повернення:

bool

Порада

Щоб використовувати метод /transfer, потрібно увімкнути його в налаштуваннях обмежень у @CryptoBot таким чином:

🏝 Crypto Pay -> My Apps -> <Your App> -> Security -> Transfers -> Enable.

CryptoPay.transfer(user_id, asset, amount, spend_id=None, comment=None, *, disable_send_notification=None)

Метод transfer.

Використовуйте цей метод, щоб надіслати монети з балансу вашого застосунку користувачеві. У разі успіху повертає виконаний aiosend.types.Transfer. Спочатку цей метод потрібно увімкнути в налаштуваннях безпеки вашого застосунку.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_c932ff301f

Параметри:
  • user_id (int) – ID користувача в Telegram. Користувач має раніше використовувати @CryptoBot (@CryptoTestnetBot для testnet).

  • asset (Asset) – Літерний код криптовалюти. Підтримувані активи: “USDT”, “TON”, “BTC”, “ETH”, “LTC”, “BNB”, “TRX” і “USDC” (а також “JET” для testnet).

  • amount (float) – Сума переказу у вигляді числа з рухомою комою. Мінімальні та максимальні ліміти суми для кожного з підтримуваних активів приблизно відповідають 1–25000 USD. Використовуйте aiosend.CryptoPay.get_exchange_rates() для конвертації сум. Наприклад: 125.50

  • spend_id (str | None) – Випадковий UTF-8 рядок, унікальний для кожного переказу, для ідемпотентних запитів. Один і той самий spend_id може бути прийнятий лише один раз від вашого застосунку. До 64 символів.

  • comment (str | None) – Опціонально. Коментар до переказу. Користувач побачить цей коментар у сповіщенні про переказ. До 1024 символів.

  • disable_send_notification (bool | None) – Опціонально. Передайте true, щоб не надсилати користувачеві сповіщення про переказ. За замовчуванням False.

Тип повернення:

Transfer

CryptoPay.get_invoices(asset=None, fiat=None, invoice_ids=None, status=None, *, offset=None, count=None)

Метод getInvoices.

Використовуйте цей метод для отримання рахунків, створених вашим застосунком. У разі успіху повертає масив об’єктів aiosend.types.Invoice.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_e4c2ccb208

Параметри:
  • asset (Asset | None) – Опціонально. Літерний код криптовалюти. Підтримувані активи: “USDT”, “TON”, “BTC”, “ETH”, “LTC”, “BNB”, “TRX” і “USDC” (а також “JET” для testnet). За замовчуванням усі валюти.

  • fiat (Fiat | None) – Опціонально. Код фіатної валюти. Підтримувані фіатні валюти: “USD”, “EUR”, “RUB”, “BYN”, “UAH”, “GBP”, “CNY”, “KZT”, “UZS”, “GEL”, “TRY”, “AMD”, “THB”, “INR”, “BRL”, “IDR”, “AZN”, “AED”, “PLN” і “ILS”. За замовчуванням усі валюти.

  • invoice_ids (list[int] | None) – Опціонально. Список ID рахунків, розділених комою.

  • status (Optional[Literal[ACTIVE, PAID]]) – Опціонально. Статус рахунків, які потрібно повернути. Доступні статуси: “active” і “paid”. За замовчуванням усі статуси.

  • offset (int | None) – Опціонально. Зміщення, необхідне для повернення певної підмножини рахунків. За замовчуванням 0.

  • count (int | None) – Опціонально. Кількість рахунків, які потрібно повернути. Допустимі значення від 1 до 1000. За замовчуванням 100.

Тип повернення:

list[Invoice]

CryptoPay.get_checks(asset=None, check_ids=None, status=None, offset=None, count=None)

Метод getChecks.

Використовуйте цей метод для отримання чеків, створених вашим застосунком. У разі успіху повертає масив об’єктів aiosend.types.Check.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_d23dda1828

Параметри:
  • asset (Asset | None) – Опціонально. Літерний код криптовалюти. Підтримувані активи: “USDT”, “TON”, “BTC”, “ETH”, “LTC”, “BNB”, “TRX” і “USDC” (а також “JET” для testnet). За замовчуванням усі валюти.

  • check_ids (list[int] | None) – Опціонально. Список ID чеків, розділених комою.

  • status (CheckStatus | None) – Опціонально. Статус чеків, які потрібно повернути. Доступні статуси: “active” і “activated”. За замовчуванням усі статуси.

  • offset (int | None) – Опціонально. Зміщення, необхідне для повернення певної підмножини чеків. За замовчуванням 0.

  • count (int | None) – Опціонально. Кількість чеків, які потрібно повернути. Допустимі значення від 1 до 1000. За замовчуванням 100.

Тип повернення:

list[Check]

CryptoPay.get_transfers(asset=None, transfer_ids=None, spend_id=None, offset=None, count=None)

Метод getTransfers.

Використовуйте цей метод для отримання переказів, створених вашим застосунком. У разі успіху повертає масив об’єктів aiosend.types.Transfer.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_a9c71eaebd

Параметри:
  • asset (Asset | None) – Опціонально. Літерний код криптовалюти. Підтримувані активи: “USDT”, “TON”, “BTC”, “ETH”, “LTC”, “BNB”, “TRX” і “USDC” (а також “JET” для testnet). За замовчуванням усі валюти.

  • transfer_ids (list[int] | None) – Опціонально. Список ID переказів, розділених комою.

  • spend_id (str | None) – Опціонально. Унікальний UTF-8 рядок переказу.

  • offset (int | None) – Опціонально. Зміщення, необхідне для повернення певної підмножини переказів. За замовчуванням 0.

  • count (int | None) – Опціонально. Кількість переказів, які потрібно повернути. Допустимі значення від 1 до 1000. За замовчуванням 100.

Тип повернення:

list[Transfer]

CryptoPay.get_balance()

Метод getBalance.

Використовуйте цей метод для отримання балансів вашого застосунку. Не потребує параметрів. Повертає масив об’єктів aiosend.types.Balance.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_86005049de

Тип повернення:

list[Balance]

CryptoPay.get_exchange_rates()

Метод getExchangeRates.

Використовуйте цей метод для отримання курсів обміну підтримуваних валют. Не потребує параметрів. Повертає масив об’єктів aiosend.types.ExchangeRate.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_bc0e2dee1c

Тип повернення:

list[ExchangeRate]

CryptoPay.get_currencies()

Метод getCurrencies.

Використовуйте цей метод для отримання списку підтримуваних валют. Не потребує параметрів. Повертає список літерних кодів фіатних валют і криптовалют.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_f5cd57dd47

Тип повернення:

list[Currency]

CryptoPay.get_stats(start_at=None, end_at=None)

Метод getStats.

Використовуйте цей метод для отримання статистики застосунку. У разі успіху повертає об’єкт aiosend.types.AppStats.

Джерело: https://help.send.tg/en/articles/10279948-crypto-pay-api#h_1590f8f4ed

Параметри:
  • start_at (datetime | None) – Опціонально. Дата, з якої починати розрахунок статистики. За замовчуванням це поточна дата мінус 24 години.

  • end_at (datetime | None) – Опціонально. Дата, на якій потрібно завершити розрахунок статистики. За замовчуванням це поточна дата.

Тип повернення:

AppStats