Skip to main content
Use invoices to request and track payments for bookings.

1) Prerequisites

  • OAuth2 token with booking:write
  • Booking ID to invoice
  • Stripe connection configured for your workspace
  • Supported currencies: ISO-4217 (e.g., USD, EUR, GBP)
  • Taxes: include tax lines in lineItems if applicable

2) Create an invoice for a booking

curl -X POST "https://api.boseat.com/v1/invoices" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "bookingId": "$BOOKING_ID",
    "lineItems": [
      {
        "name": "Room booking",
        "amount": 5000,
        "currency": "USD",
        "quantity": 1
      }
    ]
  }'
The response includes invoice status and a payment link when applicable. Share the returned payment link with the customer via email or SMS.

4) Track status

  • Poll /v1/invoices/{id} or
  • Subscribe to invoice.updated webhooks to track paid, failed, or voided statuses.

5) Reconciliation tips

  • Store invoice IDs alongside your booking records.
  • Treat invoice updates idempotently in webhook handlers.
  • Retry webhook delivery safely; verify signatures before processing.
Refunds and cancellations:
  • Cancel bookings before voiding invoices to keep states consistent.
  • For refunds, trigger Stripe refunds and record the result in your system; keep handlers idempotent.