Skip to content

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 ​

PaymentRequest

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

Released under the MIT License.