# Creates a top-up

Creates a Top-up object.

After you have created a Top-up you can use the _links.checkout link to redirect to the pay page.

Endpoint: POST /top_ups
Version: v1
Security: apiKey

## Request fields (application/json):

  - `amount` (integer, required)
    The amount that the customer will have to pay.
    Example: 1000

  - `currency` (string)
    The currency of the top-up.
    Enum: "EUR"

  - `description` (string,null)
    The description of the top-up.

  - `pay_method` (string,null)
    The pay method of the top-up.
    Enum: "bancontact", "bank-transfer", "ideal"

  - `locale` (string,null)
    Specifies the language to be used for the top-up page. If no locale or an invalid locale is specified we will ignore it and choose the locale based on the account settings.
    Enum: "de", "en", "fr", "nl"

  - `metadata` (object,null)
    You can put in random data that you like to save alongside the top-up. When you fetch the top-up this will be returned in the metadata field.

## Response 201 fields (application/json):

  - `id` (string, required)
    Example: "TUMKR465ZG6QDU"

  - `type` (string, required)
    Enum: "top_up"

  - `amount` (integer, required)
    Example: 12300

  - `description` (string, required)
    Example: "Top-up TUMKR465ZG6QDU"

  - `currency` (string, required)
    Enum: same as `currency` (1 values)

  - `pay_method` (any, required)
    Example: {"id":"ideal","type":"pay_method","name":"iDEAL | Wero","currencies":["EUR"],"minimum_amount":1,"maximum_amount":5000000,"details":{}}
    - `id` (string, required)
      Example: "ideal"
    - `type` (string, required)
      Enum: "pay_method"
    - `name` (string, required)
      Example: "iDEAL | Wero"
    - `currencies` (array)
      Enum: same as `currency` (1 values)
    - `minimum_amount` (integer)
      Example: 1
    - `maximum_amount` (integer)
      Example: 5000000
    - `details` (object)
      Example: {}
    - `details.issuers` (array,null)
    - `details.issuers.code` (string)
    - `details.issuers.name` (string)
    - `details.iban` (string,null)
    - `details.bic` (string,null)
    - `details.account_name` (string,null)
    - `details.routing_number` (string,null)
    - `details.account_number` (string,null)

  - `state` (string, required)
    Example: "paid"

  - `locale` (string,null, required)
    Enum: same as `locale` (4 values)

  - `metadata` (object, required)
    Example: {}

  - `paid_at` (string,null, required)
    Example: "2025-05-28T14:53:03Z"

  - `created_at` (string,null, required)
    Example: "2025-05-28T14:52:26Z"

  - `_links` (object, required)
    Example: {"self":"http://api.paypro.test:3000/top_ups/TUMKR465ZG6QDU"}

  - `_links.self` (string, required)
    Example: "http://api.paypro.test:3000/top_ups/TUMKR465ZG6QDU"

  - `_links.checkout` (string)


