Skip to content

Latest commit

 

History

History
330 lines (244 loc) · 11.7 KB

readme.md

File metadata and controls

330 lines (244 loc) · 11.7 KB

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: '[email protected]',
            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.