Overview
Create a hosted checkout and get back a link to send your customer. On the Chidori-hosted page the customer picks a delivery address, the delivery fee is computed, and they pay by bank transfer. When payment lands, Chidori auto-creates the delivery and sends you acheckout.paid webhook.
Two modes, chosen by whether you include goods:
- Delivery-only — omit
goods. The customer pays only the Chidori delivery fee. - Goods + delivery — include
goods. The customer pays for your products plus delivery; your goods total settles directly to your bank via your Paystack subaccount. Requires a verified payment profile.
Required permission:
payment:chargeCollecting for goods requires verification
Includinggoods collects money for your products (not just delivery), which settles to your bank via your Paystack subaccount. To unlock this you must first have an approved payment profile:
- Submit your CAC certificate image, NIN, business name and settlement bank account (via the dashboard).
- Chidori reviews and verifies the submission; on approval a Paystack subaccount is created for you.
- Once your profile status is
verified,create-checkoutrequests that includegoodsare accepted.
goods returns 403 with:
Delivery-only checkouts need no verification — omit
goods and you can create checkouts immediately. Verification is required only to collect for goods.Endpoint
Request
Headers
string
required
Your Chidori API key
string
required
Must be
application/jsonBody parameters
string
required
Your business name — shown on the checkout page and in customer emails.
string
required
Customer email. The checkout link is emailed here, and so is the payment confirmation.
string
required
Sender (pickup) contact phone.
string
required
Human-readable pickup address.
number
required
Pickup latitude.
number
required
Pickup longitude.
string
Customer name (optional).
string
Where to send the customer after successful payment. Chidori appends
?reference=&checkout=&status=success. If omitted, the page shows a success screen with a delivery-tracking link.string
Your idempotency key. Re-using it returns the same checkout instead of creating a new one.
array
Line items to collect for. Omit for a delivery-only checkout.
Response
boolean
Always
true for successful requestsobject
Examples
What happens next
1
Send the link
Share
data.url with your customer (Chidori also emails it to customerEmail).2
Customer pays
The customer enters their delivery address, gets a total, and pays by bank transfer on the hosted page.
3
You get notified
On payment, Chidori auto-creates the delivery and sends a
checkout.paid webhook. Reconcile using your externalReference.Idempotency
Pass anexternalReference unique to the order. Re-sending create-checkout with the same reference returns the existing checkout rather than creating a duplicate.
Error handling
Next steps
Webhooks
Handle the
checkout.paid eventGet Delivery
Track the auto-created delivery
