Skip to content

PayCryptoOne/paycrypto-node-client

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors