Полный платёжный сценарий
Готовая страница оплаты без разработки платёжного интерфейса
Paymos показывает доступные сети и активы, формирует платёжные реквизиты и QR-код, отслеживает транзакцию и отображает итоговый статус. Создайте счёт и перенаправьте клиента на его платёжный адрес.
Понятный путь оплаты
Все действия для оплаты — на одной странице
Страница читается на любом устройстве, копируется на любой кошелёк, рассчитывается в любой поддержанной сети — клиент ни разу не выходит из потока.
Тап и адрес скопирован
Один тап на мобильном, один клик на десктопе. Никаких ручных копирований длинных стейблкоин-адресов.
QR-код прямо на странице
На компьютере клиент сканирует код телефоном. На телефоне — открывает кошелёк прямой ссылкой.
Статус платежа в реальном времени
«Ожидание» → «Подтверждение» → «Оплачено» меняется сам, как только перевод приходит в блокчейн. Обновлять страницу не нужно.
Переход в кошелёк на мобильном устройстве
На телефоне клиент открывает MetaMask, Trust, TronLink, TON Keeper прямо кнопкой на странице.
Любое устройство
Одна страница для телефона, планшета и компьютера
На компьютере клиент сканирует QR-код, на телефоне — открывает совместимый кошелёк со страницы. Интерфейс адаптируется к размеру экрана.

Оплата для международной аудитории
Выставляйте в фиате. Получайте в стейблкоине. Показывайте на языке клиента.
Инвойсы в 40+ валютах — USD, EUR, GBP, JPY, AUD, BRL и других. Клиент видит сумму в своей валюте и эквивалент в стейблкоине, который придёт в блокчейне. Мультиязычный чекаут для каждого рынка, в который продаёте.
Ваш бренд, ваш чекаут
Настройки бренда. Превью в реальном времени.
Настройте логотип, акцент, цвет текста и стиль страницы в панели. У каждого проекта отдельный профиль оформления с предварительным просмотром.

Начало работы
Подключение через единый сценарий счёта
Создайте счёт, перенаправьте клиента на страницу оплаты и исполните заказ после подписанного вебхука. REST API работает с любым серверным стеком.
Документацияimport { Paymos, externalOrderId } from '@paymos/sdk';
const paymos = new Paymos({
apiKey: process.env.PAYMOS_API_KEY,
apiSecret: process.env.PAYMOS_API_SECRET,
});
const invoice = await paymos.invoices.create({
projectId: 'prj_xxxxxxxxxxxx',
amount: '100.00',
currency: 'USD',
externalOrderId: externalOrderId('order'),
clientId: 'customer-456',
});
console.log(invoice.invoiceId, invoice.paymentUrl);import os
from paymos import Paymos
paymos = Paymos(
api_key=os.environ["PAYMOS_API_KEY"],
api_secret=os.environ["PAYMOS_API_SECRET"],
)
invoice = paymos.invoices.create(
project_id="prj_xxxxxxxxxxxx",
amount="100.00",
currency="USD",
external_order_id="order-123",
client_id="customer-456",
)
print(invoice["invoice_id"], invoice["payment_url"])<?php
use Paymos\Client;
use Paymos\ClientConfig;
use Paymos\IdempotencyKey;
$paymos = new Client(new ClientConfig(
getenv('PAYMOS_API_KEY'),
getenv('PAYMOS_API_SECRET')
));
$invoice = $paymos->invoices()->create(array(
'project_id' => 'prj_xxxxxxxxxxxx',
'amount' => '100.00',
'currency' => 'USD',
'external_order_id' => IdempotencyKey::externalOrderId('order'),
'client_id' => 'customer-456',
));
echo $invoice['invoice_id'] . ' ' . $invoice['payment_url'];package main
import (
"context"
"fmt"
"os"
paymos "github.com/Paymos-labs/go-sdk/v2"
)
func main() {
client, err := paymos.NewClient(os.Getenv("PAYMOS_API_KEY"), os.Getenv("PAYMOS_API_SECRET"))
if err != nil {
panic(err)
}
invoice, err := client.Invoices.Create(context.Background(), paymos.CreateInvoiceParams{
ProjectID: "prj_xxxxxxxxxxxx",
Amount: "100.00",
Currency: "USD",
ExternalOrderID: "order-123",
ClientID: stringPointer("customer-456"),
})
if err != nil {
panic(err)
}
fmt.Println(invoice.InvoiceID, invoice.PaymentURL)
}
func stringPointer(value string) *string { return &value }using Paymos;
using var paymos = new PaymosClient(
Environment.GetEnvironmentVariable("PAYMOS_API_KEY")!,
Environment.GetEnvironmentVariable("PAYMOS_API_SECRET")!);
var invoice = await paymos.Invoices.CreateAsync(new CreateInvoiceRequest(
ProjectId: "prj_xxxxxxxxxxxx",
Amount: "100.00",
Currency: "USD",
ExternalOrderId: "order-123",
ClientId: "customer-456"));
Console.WriteLine($"{invoice.InvoiceId} {invoice.PaymentUrl}");import io.paymos.CreateInvoiceRequest;
import io.paymos.Invoice;
import io.paymos.PaymosClient;
PaymosClient paymos = new PaymosClient(
System.getenv("PAYMOS_API_KEY"),
System.getenv("PAYMOS_API_SECRET"));
Invoice invoice = paymos.invoices.create(
CreateInvoiceRequest.builder()
.projectId("prj_xxxxxxxxxxxx")
.amount("100.00")
.currency("USD")
.externalOrderId("order-123")
.clientId("customer-456")
.build());
System.out.println(invoice.invoiceId() + " " + invoice.paymentUrl());require 'paymos'
paymos = Paymos::Client.new(
api_key: ENV.fetch('PAYMOS_API_KEY'),
api_secret: ENV.fetch('PAYMOS_API_SECRET')
)
invoice = paymos.invoices.create(
project_id: 'prj_xxxxxxxxxxxx',
amount: '100.00',
currency: 'USD',
external_order_id: 'order-123',
client_id: 'customer-456'
)
puts "#{invoice.invoice_id} #{invoice.payment_url}"use paymos::{CreateInvoiceRequest, PaymosClient};
let paymos = PaymosClient::new(
std::env::var("PAYMOS_API_KEY")?,
std::env::var("PAYMOS_API_SECRET")?,
)?;
let invoice = paymos
.invoices()
.create(&CreateInvoiceRequest {
project_id: "prj_xxxxxxxxxxxx".to_owned(),
amount: "100.00".to_owned(),
currency: "USD".to_owned(),
external_order_id: "order-123".to_owned(),
network: None,
allow_multiple_payments: None,
customer_fee_percent: None,
client_id: Some("customer-456".to_owned()),
})
.await?;
println!("{} {}", invoice.invoice_id, invoice.payment_url);Последовательное подключение
Создайте проект, выпустите API-ключи и проверьте первый счёт в тестовой среде перед включением реальных платежей.
Работает с любым бэкендом
REST API и вебхуки работают с Node, Python, PHP, Go, Ruby, Java, .NET и любым сервером с поддержкой HTTP.
Выберите свой путь
Другие способы принять оплату
Тот же бэкенд Paymos. Выберите способ, который ближе к тому, как ваши клиенты уже платят, — или запустите сразу несколько.
Встроить на свой сайт
Тот же чекаут открывается внутри вашего домена — без новой вкладки и нового URL. От корзины до подтверждения — в вашем бренде.
Открыть встроенную оплатуОтправить платёжную ссылку
Ссылка из панели, без кода. Вставьте куда угодно — в письмо, SMS, Telegram, чат поддержки, PDF-счёт.
Открыть Payment LinksВиджет с кнопкой оплаты
Добавьте кнопку оплаты на любую страницу — под донаты, чаевые и оплату «сколько посчитаете нужным». Сумму выбирает клиент.
Открыть виджет с кнопкой оплатыТерминал из телефона
Любой телефон, планшет или кассовый ПК становится крипто-терминалом. Введите сумму, покажите QR — клиент сканирует и платит.
Открыть терминалЧто включено
Возможности готовой страницы оплаты
Платёжная страница
- Адаптивная вёрстка, в первую очередь под мобильные
- QR-код и тап для копирования адреса
- Логотип и акцентный цвет под проект
- Мультиязычный чекаут
Режимы цены
- Фиатный (40+ валют)
- Криптовый (один токен)
- Фиксированная сеть без пикера
- Курс фиксируется в момент выбора токена
Поддерживаемые активы
- USDT, USDC, USD1, DAI, XAUT
- Tron, Ethereum, BSC, Polygon
- Arbitrum, Optimism, Base, TON
- Расчёт на ваш баланс Paymos, вывод по запросу
Для разработчиков
- Один REST-эндпоинт для создания
- Идемпотентность через external_order_id
- Подписанные вебхуки с повторной отправкой
- Изолированный тестовый режим
Тарифы
Стандартная ставка — 1,0 % с оплаченного счёта
Индивидуальные ставки от 0,3 % доступны по запросу. Paymos не берёт комиссию за вывод; мерчант оплачивает субсидированную сетевую комиссию.
Тарифы