Take payment and buy
You charge your customer yourself, then tell NetApps InsureTech the premium was collected. The insurer issues the policy against that promise, and you settle the premium later on your statement.
1. Charge your customerlink
Use your own payment processor. Charge exactly:
- the quote's
totalMinor, to pay once, or - the
amountMinorof thequote.document.paymentOptionsentry your customer chose, to pay in installments.
Check quote.expiresAt first. An expired quote cannot be bought.
2. Buy the quotelink
curl -X POST https://insure-api.netapps.ng/api/v1/purchases \
-H "x-api-key: $INSURETECH_API_KEY" \
-H "Idempotency-Key: 7b9d2c4e-1a3f-4e6b-8d0c-5f2a9e1b3c7d" \
-H "Content-Type: application/json" \
-d '{
"providerId": "66f1c2a9e4b0d3a1c8e7f512",
"quoteId": "qt_b5e5338547a0",
"transactionId": "order_10293",
"customer": {
"customerRef": "cust_10293",
"firstName": "Adaeze",
"lastName": "Okafor",
"email": "adaeze.okafor@example.com",
"phone": "+2348012345678"
},
"startDate": "2026-10-15",
"payment": {
"reference": "PSK_T7Hq2m9xKpL4",
"processor": "paystack",
"method": "CARD",
"amountMinor": 4037500,
"currency": "NGN",
"paidAt": "2026-10-14T09:14:30.000Z"
}
}'transactionId is your own reference, such as your order number. It appears on your statement, so use one you can reconcile against.
3. Read the outcomelink
purchase.status | Meaning | What to do |
|---|---|---|
ISSUED | The policy exists. | Keep policyId and give your customer the receipt. |
RECEIVED, PROCESSING | The insurer has not issued yet. | Wait for purchase.completed, or poll GET /purchases/{providerId}/{purchaseId} until policyId appears. |
FAILED | The policy will never be issued. | Refund your customer. failureReason says why. |
Treat a status you do not recognise as "not issued yet".
4. Report installmentslink
When your customer chose a schedule, purchase.installmentPlan says how many payments there are and how much each one is. The purchase was payment 1. Report each later payment as you collect it:
curl -X POST https://insure-api.netapps.ng/api/v1/purchases/66f1c2a9e4b0d3a1c8e7f512/pur_8258cbe045d4/payments \
-H "x-api-key: $INSURETECH_API_KEY" \
-H "Idempotency-Key: 0c5e8a1d-2b4f-4c6a-9e7d-3f1b5a9c2e8d" \
-H "Content-Type: application/json" \
-d '{
"installmentNumber": 2,
"payment": {
"reference": "PSK_U8Jr3n0yLqM5",
"processor": "paystack",
"amountMinor": 30730,
"currency": "NGN",
"schedule": "MONTHLY",
"paidAt": "2026-11-14T09:14:30.000Z"
}
}'What you owelink
Every purchase and installment you report is billed on your next statement. Settle your statement explains how.
Nextlink
Receive webhooks so you hear about issued policies, renewals and claims without polling.