パッケージの詳細

@dieugene/tochka-bot-get-payment-link

di.eugene449MIT0.1.4

Lightweight module to create Tochka payment link with receipt and persist invoice (bot)

tochka, bank, payments, payment-links

readme

Create Tochka payment link with receipt and persist invoice (bot)

Usage

const { create_link_and_invoice } = require('@dieugene/tochka-bot-get-payment-link');

const { invoice, payment_url, invoice_id, response } = await create_link_and_invoice({
  client_options: {
    base_url: process.env.TOCHKA_BASE_URL,
    access_token: process.env.TOCHKA_ACCESS_TOKEN,
    default_customer_code: process.env.TOCHKA_CUSTOMER_CODE
  },
  domain: 'prod',
  amount: 1000,
  email: 'customer@example.com',
  service_name: 'Услуга Х',
  product_code: 'search_arc',
  purpose: 'Оплата услуги Х',
  redirect_url: 'https://example.com/success',
  fail_redirect_url: 'https://example.com/fail',
  payment_mode: ['sbp', 'card'],
  pre_authorization: false,
  ttl: 10080,
  callback_url: 'https://functions.yandexcloud.net/xxxx',
  callback_payload: { some: 'data' }
});

Parameters

  • client_options: { base_url, access_token, default_customer_code }
  • domain: string (default: 'career-bot-tochka')
  • amount: number (> 0, required)
  • email: string
  • service_name: string
  • product_code: string (required)
  • purpose: string (default: 'Оплата услуг')
  • redirect_url: string
  • fail_redirect_url: string
  • payment_mode: array of strings (default: ['sbp', 'card'])
  • pre_authorization: boolean
  • ttl: number (default: 10080)
  • callback_url: string. Fallbacks: process.env.PAYMENT_CALLBACK_URL → process.env.THIS_FUNCTION_URL
  • callback_payload: object. Will be augmented automatically.

Behavior

  • Persists an invoice via @dieugene/payments-db with uuid = invoice_id, domain, amount and data containing:
    • callback_data: { url, payload }
    • product_code: value of service_name (if provided)
  • Automatically augments callback_payload with:
    • invoice_id: operation identifier from Tochka
    • is_webhook: true

Return value

{
  invoice,        // persisted invoice record
  payment_url,    // Tochka payment link
  invoice_id,     // operation identifier
  response        // raw API response
}