Skip to main content

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 a checkout.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:charge

Collecting for goods requires verification

Including goods 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:
  1. Submit your CAC certificate image, NIN, business name and settlement bank account (via the dashboard).
  2. Chidori reviews and verifies the submission; on approval a Paystack subaccount is created for you.
  3. Once your profile status is verified, create-checkout requests that include goods are accepted.
Until then, including 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/json

Body 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 requests
object

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 an externalReference 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 event

Get Delivery

Track the auto-created delivery