paycrypto-node-client
v1.0.0
Published
Node.js client for PayCrypto API v1
Maintainers
Readme
PayCrypto Node.js Client
Node.js client for paycrypto.one API: signature or private-key auth, invoices, widget, user, currency rates.
Установка
npm i paycrypto-node-clientИнициализация
Ключи передаются в конструктор:
import { PayCryptoClient } from 'paycrypto-node-client';
const client = new PayCryptoClient({
publicKey: process.env.PAYCRYPTO_PUBLIC_KEY!,
privateKey: process.env.PAYCRYPTO_PRIVATE_KEY!,
baseUrl: process.env.PAYCRYPTO_BASE_URL ?? 'https://api.paycrypto.one/api/v1',
authMode: 'signature',
});Переменные окружения (по желанию): PAYCRYPTO_BASE_URL, PAYCRYPTO_PUBLIC_KEY, PAYCRYPTO_PRIVATE_KEY.
Поддерживаются ESM (import) и CommonJS (require), в т.ч. в NestJS и Express.
Примеры по эндпоинтам
Создание инвойса — POST /invoice
const { data } = await client.createInvoice({
amount: 10.5,
client_reference_id: `order-${Date.now()}`,
currency: 'USD',
cryptocurrency: 'USDT',
network: 'TRC-20',
metadata: 'my-order',
});
console.log(data);Виджет инвойса — POST /invoice/widget
const { data } = await client.createWidget({
amount: 7.5,
client_reference_id: `widget-${Date.now()}`,
currency: 'USD',
lang: 'ru-RU',
widget_description: 'Оплата заказа',
});
console.log(data);Получить инвойс по ID — GET /invoice/:id
const { data } = await client.getInvoice(invoiceId);
console.log(data);Поиск инвойсов — GET /invoice?query=
const { data } = await client.searchInvoices('order-123');
console.log(data);Подтверждение оплаты инвойса — PUT /invoice/confirm/:id
const { data } = await client.confirmInvoice(invoiceId, {
transactionId: 'tx-hash-or-id',
});
console.log(data);Текущий пользователь — GET /user
const { data } = await client.getUser();
console.log(data);Список курсов — GET /currency-rate
const { data } = await client.getCurrencyRateList();
console.log(data);Статус курса по валюте — GET /currency-rate/:currency/status
const { data } = await client.getCurrencyRateStatus('USD');
console.log(data);Тесты
npm test
npm run smoke
npm run e2e