Wayout LogoDocumentation
Invoice

Create Invoice

Endpoint for creating invoices


Introduction

The Invoice endpoint allows you to create a checkout experience for your customers.

In the request, you may specify the payment amount, currency, due date, and other metadata.


HTTP Request

POST /api/invoice

Request headers

HeaderValue
Content-Typeapplication/json
Authorization<API Key>

Request body

FieldTypeDescription
amountnumberFiat amount to charge (positive). Required.
fiat_currencystring3-letter ISO fiat currency code (e.g. USD). Required.
wallet_addressstring | nullDestination wallet address (min 5 chars). Optional.
coin_symbolstring | nullCryptocurrency symbol (e.g. BTC). Required if wallet_address provided.
memostring | nullShort note for internal or display use. Optional.
due_atstring | nullFuture due date/time (ISO 8601). Optional.
invoice_messagestring | nullLonger customer-facing message. Optional.
invoice_titlestring | nullCustom invoice title. Optional.
client_emailstring | nullCustomer email (validated). Optional.
client_namestring | nullCustomer name. Optional.
Minimal request body
{
    "amount": 25.00,
    "fiat_currency": "USD"
}

Code examples

curl --location 'https://wayout.gg/api/invoice' \
--header 'Content-Type: application/json' \
--header 'Authorization: <API Key>' \
--data '{
    "amount": 25.00,
    "fiat_currency": "USD"
}'
API key must have Automate Payments permission scope or higher.

Response

In return, you will receive an invoice ID and a payment URL to direct your customer to, in order to make payment.

Response body
{
    "success": true,
    "invoice": {
        "id": 12345,
        "share_token": "<Share Token>",
        "created_at": "2025-11-11T11:11:00.000Z",
        "pay_url": "https://point-of-sale-domain/pay-invoice?share_token=<Share Token>"
    }
}

Store the invoice ID and share token for future reference.

You will need to be able to grant access to your product or service based on the association between the invoice ID and your customer.

When the invoice is paid, events will be sent to the applicable notification channels you have set up.