---
search:
  tags:
    - customer
    - POST
seo:
  description: >-
    Requires the X-Customer-Session header. The enterprise service API…
    Reference for the POST /customer/orders/{id}/payment endpoint in the
    FreeTicket B2B API.
sidebar:
  label: Open payment for a reservation (Bold or MercadoPago, depending on the event)
  badge: POST
title: Open payment for a reservation (Bold or MercadoPago, depending on the event)
type: openapi-operation
---
Requires the `X-Customer-Session` header. The enterprise service API key is OPTIONAL (with a key, results are additionally scoped to the workspace pinned to it). The payment rail is chosen on the SERVER: Bold-eligible events (legend plan + allowlist) return the SIGNED configuration of the embedded Bold Payment Button (`apiKey` + `renderMode: "embedded"` + `integritySignature`, …), which the landing page mounts with `new BoldCheckout({...})`; all others return `publicKey` + `amount` + `currency` + `reference` + `payerEmail` to mount the MercadoPago Payment Brick (`POST .../payment/card` to charge, `POST .../payment/pse` for PSE). The landing page tells the rails apart by the SHAPE of the response (`apiKey`/`renderMode` ⇒ Bold, `publicKey` ⇒ MercadoPago), never by a separate flag. The sale must belong to the session buyer (and, with a key, to the workspace pinned to it): anything else is 404. Responds 409 with code `PAYMENT_UNAVAILABLE` if the reservation expired, the sale is no longer pending, or (Bold only) the event has no legend plan or a payment attempt is already in flight with another gateway. `{id}` accepts the sale id or its `reference`. Limited to 10 opens per minute per buyer (429 with `Retry-After`).

`POST /customer/orders/{id}/payment`
