@sotuvcore/payment-cash (0.2.0)

Published 2026-07-27 18:00:34 +05:00 by pulat

Installation

@sotuvcore:registry=
npm install @sotuvcore/payment-cash@0.2.0
"@sotuvcore/payment-cash": "0.2.0"

About this package

@sotuvcore/payment-cash

Условная «наличная» оплата для Sotuza (Medusa v2 payment provider). Заказ создаётся со статусом authorized, оператор вручную подтверждает получение денег (P2P-перевод / наличные при получении / договорённость с клиентом).

По SPEC.md §5.4: реальная оплата вне flow — Яндекс-курьер наличку не берёт, деньги идут P2P продавцу.

Подключение

apps/sotuza/medusa-config.ts:

{
  resolve: '@medusajs/medusa/payment',
  options: {
    providers: [
      {
        resolve: '@sotuvcore/payment-cash',
        id: 'cash',
        options: {
          autoCapture: false, // false = ждём оператора; true = сразу captured
          label: 'P2P / cash on delivery',
        },
      },
    ],
  },
},

Flow

  1. Клиент нажал «Наличными» в checkout
  2. initiatePayment → session_data.status = authorized (или captured если autoCapture)
  3. Заказ создаётся → бот шлёт уведомление оператору
  4. Оператор связывается с клиентом, договаривается об оплате
  5. После получения денег — оператор в admin делает capturePayment (переход в captured)
  6. При отмене — cancelPayment / refundPayment (никакой возврат денег не делается — только логическая пометка)

Что провайдер НЕ делает

  • Не обращается к внешним платёжным API
  • Не отправляет webhook'и (getWebhookActionAndData возвращает not_supported)
  • Не проверяет факт получения денег — это ответственность оператора

Roadmap

  • v0.2 — привязка к order через subscriber: при переходе payment.captured → уведомление клиенту в бот
  • v0.3 — SLA-таймер: если оплата не подтверждена 24h, order автоматически cancel'ится

Dependencies

Development dependencies

ID Version
@medusajs/framework ^2.17.0
@medusajs/types ^2.17.0
typescript ^5.5.0

Peer dependencies

ID Version
@medusajs/framework ^2.17.0
Details
npm
2026-07-27 18:00:34 +05:00
16
UNLICENSED
latest
3.8 KiB
Assets (1)
Versions (1) View all
0.2.0 2026-07-27