What you can refund
Blaaiz refunds a collection only when all of these conditions are true:- The collection belongs to one of your business customers.
- You created the collection through the API.
- The collection is a successful EUR or GBP ClearJunction collection.
- The refund starts within 7 days of the collection.
- No refund exists for the collection yet.
Collections that you create on the Blaaiz dashboard (your own treasury collections)
cannot be refunded through this API. A Blaaiz admin handles those refunds.
Rules
- Full amount only. Blaaiz always refunds the full original collection amount. There is no
amountfield on the request. - One attempt per collection. After a refund starts, the collection cannot be refunded again through the API.
- 7-day window. The refund must start within 7 days of the collection.
- EUR and GBP only. Refunds to source are supported for EUR and GBP ClearJunction collections. Card collections use the card refund flow instead.
Idempotency
Send an optionalreference on the request as your idempotency key.
- The same
referenceon the sametransaction_idreturns the same refund. Blaaiz does not create a second refund. - The same
referenceon a differenttransaction_idreturns a 400 error. Use a newreference.
Authentication and scopes
The Refund API uses OAuth client-credentials tokens. Request the scopes you need:refund:create— to start a refund withPOST /refund.refund:read— to read a refund withGET /refund/{id}.
collections bundle. refund:read also belongs to the read-only bundle. See Authentication.
Refund lifecycle
- Call
POST /refundwith thetransaction_id. - Blaaiz creates the refund with
statusset toPROCESSINGand sends arefund_initiatedwebhook. - Blaaiz delivers a final webhook when the refund settles:
statusset tosuccessfulwhen the provider returns the funds.statusset tofailedwhen the refund fails.
GET /refund/{id}.
The refund
status on the API response is uppercase (PENDING, PROCESSING,
SUCCESSFUL, FAILED). The webhook status field is lowercase (processing,
successful, failed).Failed refunds
A failed refund returns a webhook withstatus set to failed and a failure_reason. Blaaiz handles the funds. You do not need to retry the refund.
Refund status on transactions
The Transaction API shows the refund state of each collection:- List transactions returns
refund_statuson every item. - Get transaction returns
refund_statusand a nestedrefundobject.
refund object needs a credential that can read refunds. An OAuth token must carry refund:read; a token with only transaction:read still sees refund_status but not the nested refund object.
Related pages
- Initiate a refund — start a refund.
- Get a refund — read a refund status.
- Refund webhook — payload and lifecycle.

