Add buyer protection to your checkout.
Create an escrow for each order, send your customer to a WEYSURE payment link, and let your server react to webhook events. Release, refund, split or hold the money from your own system. API access is coming: open an account, tick the business or API option, and tell us what you are building.
What does an integration look like?
One request creates the escrow and returns a payment link. When the customer pays, a webhook tells your server. Samples are examples: the live schema is in the developer console.
POST /api/v1/public/escrow
X-API-Key: <your key>
{
"amount": 420000,
"reference": "order_2207",
"description": "Office chair, black",
"customer_name": "Ada Okafor",
"customer_email": "[email protected]"
}200 OK
{
"escrow_id": "<escrow id>",
"reference": "order_2207",
"status": "pending_payment",
"escrow_amount": 420000,
"currency": "NGN",
"payment_url": "https://<api host>/api/v1/pay/<escrow id>"
}POST https://your-store.example/hooks
X-Weysure-Event: escrow.payment_successful
X-Weysure-Signature: <hex signature>
{
"event": "escrow.payment_successful",
"escrow_id": "<escrow id>",
"reference": "order_2207",
"amount": 420000,
"currency": "NGN",
"status": "funded"
}How do I get from account to first live order?
- 01
Open an account
Tick the business or API option when you sign up so we know what you are building. API access is coming. Test keys never move real money.
- 02
Add a payout account
Required before creating any deal. It is verified, and can be changed once every 30 days.
- 03
Point webhooks at your server
Verify the signature on every message and handle repeats safely: each delivery carries an idempotency key.
- 04
Go live
Switch to your live key. Until your business is verified (business verification is coming soon), live use is capped at ₦200,000 of paid deals.
What can I do with each order?
You decide what happens to each paid order. Every action moves the money in one locked step.
release
Pay yourself after delivery, to your verified bank account.
refund
Return the money to the customer.
split
Share the money between you and the customer.
hold
Pause for up to 90 days while you investigate.
Which events does WEYSURE send?
Each message is signed with your webhook secret (header X-Weysure-Signature) and a failed delivery is retried up to 3 times. Every delivery attempt is logged in the developer console.
| Event | When it is sent |
|---|---|
| escrow.created | An escrow was created and is waiting for payment. |
| escrow.payment_successful | The customer paid. The status is now funded. |
| escrow.released | The money was released to you. |
| escrow.refunded | The money went back to the customer. |
| escrow.split_processed | The money was split between you and the customer. |
| escrow.on_hold | The escrow was put on hold. |
| escrow.hold_resolved | The hold ended and the escrow is funded again. |
How are test and live kept apart?
| Test key | Live key | |
|---|---|---|
| Real money | Never | Yes, through Paystack |
| Cost | No real charge | The escrow fee and the card charge, paid by the customer (see pricing) |
| Limits | Not applicable, no real money | ₦200,000 of paid deals until your business is verified |
| Usage logs | Yes | Yes |
Tell us what you are building.
Open an account and tick the business or API option. Already have a developer account? Your console is where it was.
Questions first? Contact us and choose the API topic.