Brippo API
REST endpoints for capturing and refunding payments, plus the authentication scheme used across every Brippo API request. All requests are JSON over HTTPS.
Authentication
The Brippo API uses an API key to authenticate requests. View and manage your API key in the Developers section of your Brippo Dashboard.
Your API key carries many privileges — keep it secret. Never share it in publicly accessible places (GitHub, client-side code, screenshots).
All API requests must be made over HTTPS. Plain HTTP calls will fail. Requests without authentication will also fail.
Both your API key and Connected Account ID must be sent in the headers of every request, otherwise you'll receive a 400 error.
curl https://api.brippo.com/... \ --header 'api_key: *********' \ --header 'account_id: acct_*********' \ --header 'live_mode: true'
Capture a payment
POST/v6/payment-intent/:id/captureCaptures an authorized Brippo Payment that hasn't been captured yet, identified by its ID.
Parameters- amountinteger
The amount (in cents) to capture from the Payment, which must be less than or equal to the original amount. Any amount left is automatically refunded.
Returns a Payment object if the Payment was successfully captured. Returns an error if the Payment isn't capturable or an invalid amount is provided.
Requestcurl --location "https://api.brippo.com/v6/payment-intent/pi_******/capture" \ --header 'api_key: *********' \ --header 'account_id: acct_*********' \ --header 'live_mode: true' \ --data '{ "amount": 2000 }'
{
"id": "pi_******",
"object": "payment_intent",
"amount": 2000,
"amount_capturable": 0,
"created": 1735001487,
"currency": "gbp",
"last_payment_error": null,
"latest_charge": {
"id": "ch_********",
"object": "charge",
"amount": 2000,
"amount_captured": 2000,
"amount_refunded": 0,
"description": "From Brippo Demo Store",
"outcome": {
"risk_level": "normal",
"risk_score": 51,
"seller_message": "Payment complete."
}
},
"livemode": true,
"status": "succeeded"
}
Refund a payment
POST/v3/payment-intent/:id/refundRefund a successful Brippo Payment, identified by its ID. Funds are returned to the credit or debit card that was originally charged. You can optionally refund only part of a charge, multiple times, until the entire charge has been refunded.
Parameters- amountinteger
The amount (in cents) to refund from the Payment, which must be less than or equal to the original amount.
Returns a Payment object if the Payment was successfully refunded. Returns an error if the Payment isn't refundable or an invalid amount is provided.
Requestcurl --location "https://api.brippo.com/v3/payment-intent/pi_******/refund" \ --header 'api_key: *********' \ --header 'account_id: acct_*********' \ --header 'live_mode: true' \ --data '{ "amount": 2000 }'
{
"id": "pi_******",
"object": "payment_intent",
"amount": 2000,
"amount_capturable": 0,
"currency": "gbp",
"latest_charge": {
"id": "ch_********",
"amount": 2000,
"amount_captured": 2000,
"amount_refunded": 2000
},
"livemode": true,
"status": "succeeded"
}
Errors
Brippo API uses conventional HTTP response codes to indicate the success or failure of an API request:
All errors share the same JSON envelope. Use errorCode for programmatic branching and message for human-readable display.
{
"errorCode": "unauthorized_access",
"message": "Invalid api key",
"statusCode": 401
}

