ES

@core / contracts

1.0.0 ▾
verificadoMIT
GitHub

Tipos compartidos entre módulos GenPM: contenido, sitemap, búsqueda, recursos de admin, pagos y eventos

Código10 archivosContexto~532 tokensescaneo superado

El árbol exacto que se inyectará, tras aplicar .genpmignore. Anclado a

src/lib/contracts/payment.tssolo lectura · 7266529
// Pasarela de pago vista desde los pedidos: la implementa @core/checkout (Stripe); la consume @core/orders para
// reembolsos sin depender de Stripe.
import type { Money } from './money.ts';

export type PaymentStatus = 'pending' | 'succeeded' | 'failed' | 'refunded' | 'partially_refunded';

export type PaymentProvider = {
  /** `stripe`, `paypal`… Se guarda en el pedido junto a la referencia. */
  name: string;
  getPayment(paymentRef: string): Promise<{ status: PaymentStatus; amount: Money } | null>;
  /** Reembolsa `amount` (≤ lo cobrado). Debe ser idempotente por `idempotencyKey`. */
  refund(
    paymentRef: string,
    amount: Money,
    opts: { idempotencyKey: string; reason?: string },
  ): Promise<{ refundRef: string }>;
};

Reportar @core/contracts

Inicia sesión con GitHub para reportar un paquete.