Dashboard

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.

Required headers — every request
CurlAuthentication headers
curl https://api.brippo.com/... \
  --header 'api_key: *********' \
  --header 'account_id: acct_*********' \
  --header 'live_mode: true'

Capture a payment

POST/v6/payment-intent/:id/capture

Captures 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

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.

Request
CurlPOST /v6/payment-intent/:id/capture
curl --location "https://api.brippo.com/v6/payment-intent/pi_******/capture" \
  --header 'api_key: *********' \
  --header 'account_id: acct_*********' \
  --header 'live_mode: true' \
  --data '{
    "amount": 2000
  }'
Response
200 OKJSON
{
  "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/refund

Refund 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

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.

Request
CurlPOST /v3/payment-intent/:id/refund
curl --location "https://api.brippo.com/v3/payment-intent/pi_******/refund" \
  --header 'api_key: *********' \
  --header 'account_id: acct_*********' \
  --header 'live_mode: true' \
  --data '{
    "amount": 2000
  }'
Response
200 OKJSON
{
  "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:

2xxSuccess — the request was processed normally.
4xxError caused by the information you provided (missing fields, invalid keys, …).
5xxError on Brippo's side — try the request again or contact support if it persists.
Error response shape

All errors share the same JSON envelope. Use errorCode for programmatic branching and message for human-readable display.

401 UnauthorizedJSON
{
  "errorCode": "unauthorized_access",
  "message": "Invalid api key",
  "statusCode": 401
}