npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@exode-team/yokassa.api

v0.0.2

Published

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

Downloads

127

Readme

YooKassa SDK

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

Установка

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

npm install @exode-team/yokassa.api
# или
yarn add @exode-team/yokassa.api

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

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

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

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

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

import { YooKassaSdk, ConnectorOpts } from '@exode-team/yokassa.api';


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

const sdk = new YooKassaSdk(initOpts);

Платежи

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

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

import { CurrencyEnum } from '@exode-team/yokassa.api';


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 '@exode-team/yokassa.api';


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.