Interface: PaymentEvent

Defined in: packages/pesa/src/types/event.ts:47

Normalized payment event — the source of truth for all payment activity.

Every webhook received and verified is parsed by the provider adapter, normalized into a PaymentEvent, persisted to the event store, and emitted to registered handlers.

Example

// Accessing event data in a handler
pesa.on('PAYMENT_SUCCESS', (event) => {
  console.log(`Payment ${event.reference} succeeded`);
  console.log(`Amount: TZS ${event.amount}`);
  console.log(`Provider: ${event.provider}`);
});

Properties

PropertyTypeDescriptionDefined in
amountnumberAmount in whole TZS.packages/pesa/src/types/event.ts:57
currency"TZS"Currency code.packages/pesa/src/types/event.ts:59
idstringUUID generated by the SDK.packages/pesa/src/types/event.ts:49
metadata?Record<string, unknown>Arbitrary metadata attached to the event.packages/pesa/src/types/event.ts:67
orderIdstringProvider-assigned transaction ID.packages/pesa/src/types/event.ts:53
providerProviderNameWhich provider processed this payment.packages/pesa/src/types/event.ts:63
raw?unknownRaw provider webhook payload. Escape hatch — prefer normalized fields.packages/pesa/src/types/event.ts:69
referencestringYour merchant reference.packages/pesa/src/types/event.ts:55
statusPaymentStatusNormalized payment status.packages/pesa/src/types/event.ts:61
timestampDateWhen the event occurred.packages/pesa/src/types/event.ts:65
typePaymentEventTypeEvent type (PAYMENT_SUCCESS, DISBURSEMENT_FAILED, etc.).packages/pesa/src/types/event.ts:51

On this page