Skip to content

Payments

The Inshuwa API supports multiple payment methods for premium collection.

The requests below are runnable — set your key once and send them from the page. See Running requests from the guide.

Set it once and every Try it out below is authenticated. It stays in this browser's local storage and is never sent anywhere but the API.

Supported Payment Methods

MethodDescription
Mobile MoneyAirtel Money, MTN Mobile Money, Zamtel Kwacha
CardVisa and Mastercard
Mobile BankingLocal banking platforms

Which gateway serves a given method is decided for you by the gateway configured on your account:

Available payment gateways
Reference →
GET/payments/gateways

Playground

Authorization

Pay for a Quotation

Works for any product line — motor, life, travel or general. The reference is your unique identifier for this transaction; store it to check payment status later.

Paying issues the policy

This call initiates the collection and issues the policy automatically once the payment confirms. There is no separate issue step on the prepaid path — see issuance flows.

Pay for a quotation
Reference →
POST/payments/{quoteId}/pay

Playground

Authorization
Variables
Key
Value
Body

Check Transaction Status

Payments through a gateway never complete inside the request: mobile money settles by callback after the payer approves on their handset, so the call comes back Pending. Poll for the outcome.

Check payment status
Reference →
GET/payments/transactions/{reference}/status

Playground

Authorization
Variables
Key
Value

For the full transaction record rather than just its status:

Get transaction details
Reference →
GET/payments/transactions/{reference}

Playground

Authorization
Variables
Key
Value

Payment Statuses

StatusDescription
PendingPayment initiated, awaiting confirmation
SuccessPayment completed successfully
FailedPayment failed

Combined Payment Endpoints

Some endpoints collect the premium in the same request that issues or changes the policy — the one-shot flow described in issuance flows:

EndpointWhat it does
POST /api/v1/policies/motor/instant/issue/payIssue and pay a motor policy
POST /api/v1/policies/motor/{policyId}/renew/payRenew and pay a motor policy
POST /api/v1/policies/motor/{policyId}/extend/payExtend and pay a motor policy
POST /api/v1/policies/travel/instant-issueIssue and pay a travel policy
POST /api/v1/policies/travel/{policyId}/renew/payRenew and pay a travel policy
POST /api/v1/policies/life/instant-issueIssue and pay a life policy
POST /api/v1/policies/life/{quoteId}/issueIssue a quoted life policy, collecting the premium if payment details are sent
POST /api/v1/policies/life/{quoteId}/renew/payRenew and pay a life policy
POST /api/v1/policies/travel/{quoteId}/issueIssue a quoted travel policy, collecting the premium if payment details are sent
POST /api/v1/credit-life/policies/{policyId}/loans/prepaidCover a batch of loans and pay for it
POST /api/v1/credit-life/policies/{policyId}/renew/loans/prepaidRenew a policy's cover period and pay for it

Each is runnable from its own product guide.

The counterparts that issue without collecting — POST /policies/motor/{quoteId}/issue, POST /policies/motor/instant/issue, POST /policies/{quoteId}/issue, POST /policies/instant/issue, POST /policies/motor/{policyId}/renew and .../extend — leave the premium outstanding for PayLater or external settlement.

Best Practices

  • Always generate a unique reference for each transaction
  • Poll transaction status after initiating payment — do not assume immediate success
  • Implement webhook handling to receive real-time payment notifications (see Webhooks)
  • Store the reference in your system to reconcile payments

Built with ❤️ by Hobbiton Technologies