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
| Property | Type | Description | Defined in |
|---|---|---|---|
amount | number | Amount in whole TZS. | packages/pesa/src/types/event.ts:57 |
currency | "TZS" | Currency code. | packages/pesa/src/types/event.ts:59 |
id | string | UUID 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 |
orderId | string | Provider-assigned transaction ID. | packages/pesa/src/types/event.ts:53 |
provider | ProviderName | Which provider processed this payment. | packages/pesa/src/types/event.ts:63 |
raw? | unknown | Raw provider webhook payload. Escape hatch — prefer normalized fields. | packages/pesa/src/types/event.ts:69 |
reference | string | Your merchant reference. | packages/pesa/src/types/event.ts:55 |
status | PaymentStatus | Normalized payment status. | packages/pesa/src/types/event.ts:61 |
timestamp | Date | When the event occurred. | packages/pesa/src/types/event.ts:65 |
type | PaymentEventType | Event type (PAYMENT_SUCCESS, DISBURSEMENT_FAILED, etc.). | packages/pesa/src/types/event.ts:51 |