JSPM

yookassa-sdk

0.0.13
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 92
  • Score
    100M100P100Q74829F
  • License MIT

Интерфейс для интеграции с YooKassa, позволяет выполнять различные операции, такие как создание платежей, возвратов, чеков и управление ими. Написан на TypeScript.

Package Exports

  • yookassa-sdk
  • yookassa-sdk/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (yookassa-sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

YooKassa SDK

Этот модуль предоставляет интерфейс для интеграции с YooKassa, позволяя выполнять различные операции, такие как создание платежей, возвратов и управление ими. Написан на TypeScript.

Установка

Для установки используйте npm или yarn:

npm install yookassa-sdk
# или
yarn add yookassa-sdk

Использование

Параметры подключения

interface ConnectorOpts {
    debug?: boolean;
    secret_key: string;
    shop_id: string;
}
  • debug: Опциональный параметр для включения режима отладки.
  • secret_key: Секретный ключ вашего магазина.
  • shop_id: Идентификатор вашего магазина.

Инициализация SDK

Для начала работы необходимо инициализировать SDK с использованием параметров подключения.

import { YooKassa, ConnectorOpts } from 'yookassa-sdk';

const initOpts: ConnectorOpts = {
    debug: true,
    secret_key: 'ваш_секретный_ключ',
    shop_id: 'ваш_идентификатор_магазина',
};

const sdk = YooKassa(initOpts);

Платежи

Создание платежа

Для создания платежа необходимо вызвать метод create с необходимыми параметрами.

import { CurrencyEnum } from 'yookassa-sdk';

async function createPayment() {
    const response = await sdk.payments.create({
        receipt: {
            items: [
                {
                    amount: {
                        currency: CurrencyEnum.RUB,
                        value: '10.00',
                    },
                    description: 'Услуга 1',
                    quantity: 1,
                    vat_code: 1,
                },
            ],
        },
        amount: {
            currency: CurrencyEnum.RUB,
            value: '10.00',
        },
        confirmation: {
            type: 'redirect',
            return_url: 'https://example.com',
        },
        description: 'Описание заказа',
    });

    console.log('Payment created:', response);
}

createPayment();

Документация по созданию платежа

Получение информации о платеже

Для получения информации о конкретном платеже используйте метод load.

async function getPayment(paymentId: string) {
    const response = await sdk.payments.load(paymentId);
    console.log('Payment details:', response);
}

getPayment('paymentId');

Документация по получению информации о платеже

Список платежей

Для получения списка платежей используйте метод list.

async function listPayments() {
    const response = await sdk.payments.list({
        created_at: { gte: '2022-01-01T00:00:00.000Z' },
        limit: 10,
    });
    console.log('Payments list:', response);
}

listPayments();

Документация по получению списка платежей

Подтверждение платежа

Для подтверждения платежа используйте метод capture.

async function capturePayment(paymentId: string) {
    const response = await sdk.payments.capture(paymentId);
    console.log('Payment captured:', response);
}

capturePayment('paymentId');

Документация по подтверждению платежа

Отмена платежа

Для отмены платежа используйте метод cancel.

async function cancelPayment(paymentId: string) {
    const response = await sdk.payments.cancel(paymentId);
    console.log('Payment canceled:', response);
}

cancelPayment('paymentId');

Документация по отмене платежа

Возвраты

Создание возврата

Для создания возврата используйте метод create.

import { CurrencyEnum } from 'yookassa-sdk';

async function createRefund(paymentId: string) {
    const response = await sdk.refunds.create({
        payment_id: paymentId,
        amount: {
            value: '10.00',
            currency: CurrencyEnum.RUB,
        },
    });

    console.log('Refund created:', response);
}

createRefund('paymentId');

Документация по созданию возврата

Получение информации о возврате

Для получения информации о конкретном возврате используйте метод load.

async function getRefund(refundId: string) {
    const response = await sdk.refunds.load(refundId);
    console.log('Refund details:', response);
}

getRefund('refundId');

Документация по получению информации о возврате

Список возвратов

Для получения списка возвратов используйте метод list.

async function listRefunds() {
    const response = await sdk.refunds.list({
        created_at: { gte: '2022-01-01T00:00:00.000Z' },
        limit: 10,
    });
    console.log('Refunds list:', response);
}

listRefunds();

Документация по получению списка возвратов

Чеки

Создание чека

Для создания чека используйте метод create.

async function createReceipt() {
    const response = await sdk.receipts.create({
        customer: {
            full_name: 'Иван Иванов',
            inn: '1234567890',
            email: 'ivanov@example.com',
            phone: '79000000000',
        },
        items: [
            {
                description: 'Товар 1',
                quantity: 1.0,
                amount: {
                    value: '100.00',
                    currency: CurrencyEnum.RUB,
                },
                vat_code: 1,
                payment_mode: 'full_prepayment',
                payment_subject: 'commodity',
            },
        ],
        payments: [
            {
                type: 'cashless',
                amount: {
                    value: '100.00',
                    currency: CurrencyEnum.RUB,
                },
            },
        ],
        type: 'payment',
        send: true,
    });

    console.log('Receipt created:', response);
}

createReceipt();

Документация по созданию чека

Получение информации о чеке

Для получения информации о конкретном чеке используйте метод load.

async function getReceipt(receiptId: string) {
    const response = await sdk.receipts.load(receiptId);
    console.log('Receipt details:', response);
}

getReceipt('receiptId');

Документация по получению информации о чеке

Список чеков

Для получения списка чеков используйте метод list.

async function listReceipts() {
    const response = await sdk.receipts.list({
        created_at: { gte: '2022-01-01T00:00:00.000Z' },
        limit: 10,
    });
    console.log('Receipts list:', response);
}

listReceipts();

Документация по получению списка чеков

Методы SDK

Payments

  • create(data: CreatePaymentPayload): Promise<Payment>
  • load(paymentId: string): Promise<Payment>
    • Получение информации о платеже по его идентификатору. Документация
  • list(params: GetPaymentListFilter): Promise<Payments.IPayment[]>
    • Получение списка платежей с возможностью фильтрации по различным параметрам. Документация
  • capture(paymentId: string): Promise<Payment>
    • Подтверждение платежа, переводящего его в статус succeeded. Документация
  • cancel(paymentId: string): Promise<Payment>

Refunds

  • create(data: CreateRefundPayload): Promise<Refund>
  • load(refundId: string): Promise<Refund>
    • Получение информации о возврате по его идентификатору. Документация
  • list(params: GetRefundListFilter): Promise<Refunds.IRefund[]>
    • Получение списка возвратов с возможностью фильтрации по различным параметрам. Документация

Receipts

  • create(data: CreateReceiptPayload): Promise<Receipt>
  • load(receiptId: string): Promise<Receipt>
    • Получение информации о чеке по его идентификатору. Документация
  • list(params: GetReceiptListFilter): Promise<Receipts.IReceipt[]>
    • Получение списка чеков с возможностью фильтрации по различным параметрам. Документация

Заключение

Этот SDK предоставляет удобный интерфейс для работы с YooKassa API, позволяя легко интегрировать платежные функции в ваше приложение. Для получения дополнительной информации обратитесь к официальной документации YooKassa.