basalt / subscriptions/src / PaymentGateway
Interface: PaymentGateway
Defined in: subscriptions/src/payment.ts:69
Payment gateway driver contract for one-off / reference / mobile-money charges. The app talks to Basalt; only drivers talk to ProxyPay / EMIS / etc. A driver translates raw webhook payloads into PaymentEvent.
Properties
name
> readonly name: string
Defined in: subscriptions/src/payment.ts:70
Methods
createPayment()
> createPayment(request): Promise<PaymentInstruction>
Defined in: subscriptions/src/payment.ts:72
Create a payment — returns a reference, a redirect URL, or a push.
Parameters
request
Returns
Promise<PaymentInstruction>
getPayment()?
> optional getPayment(id): Promise<PaymentInstruction>
Defined in: subscriptions/src/payment.ts:80
Poll a payment's status — a fallback when you can't receive webhooks.
Parameters
id
string
Returns
Promise<PaymentInstruction>
verifyWebhook()
> verifyWebhook(rawBody, signature): PaymentEvent | null
Defined in: subscriptions/src/payment.ts:78
Verifies the signature and translates the payload. Throws WebhookInvalidError on a bad signature; returns null for a verified event that isn't a payment (gateways emit event types we don't act on).
Parameters
rawBody
string
signature
string | undefined
Returns
PaymentEvent | null