---
title: "Get a Webhook Event"
method: GET
path: "/v2/events/{webhookEventId}"
tags: ["Webhook Events API"]
---

# Get a Webhook Event

`GET /v2/events/{webhookEventId}`

## Request

- Base URL: `https://api.mollie.com`
- URL: `https://api.mollie.com/v2/events/{webhookEventId}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://my.mollie.com/oauth2/authorize`
    - Token URL: `https://api.mollie.com/oauth2/tokens` scopes: `events.read`

Retrieve a single webhook event object by its event ID.

> 🔑 Access with
>
> [Advanced access token with **events.read**](/reference/authentication)
>
> [OAuth access with **events.read**](/reference/authentication)

## Query parameters

- `testmode` boolean

## Response `200`

The webhook event object.

- object
  - `resource` string, required: Indicates the response contains a webhook event object. Will always contain the string `event` for this endpoint.
  - `id` string, required: The identifier uniquely referring to this event.
  - `type` string, required: The list of events to enable for this webhook. You may specify `'*'` to add all events, except those that require explicit selection. Possible values: `payment.paid` `payment.authorized` `payment.failed` `payment.canceled` `payment.expired` `payment.pending` `refund.queued` `refund.pending` `refund.processing` `refund.refunded` `refund.failed` `refund.canceled` `chargeback.received` `chargeback.reversed` `capture.succeeded` `capture.failed` `payment-link.paid` `balance-transaction.created` `payout.initiated` `payout.processing-at-bank` `payout.completed` `payout.canceled` `payout.failed` `sales-invoice.created` `sales-invoice.issued` `sales-invoice.canceled` `sales-invoice.paid` `sales-invoice.e-invoice-failed` `sales-invoice.e-invoice-issued` `business-account-transfer.requested` `business-account-transfer.initiated` `business-account-transfer.pending-review` `business-account-transfer.processed` `business-account-transfer.failed` `business-account-transfer.blocked` `business-account-transfer.returned` `business-account-draft-transfer.created` `business-account-draft-transfer.approved` `business-account-draft-transfer.declined` `unmatched-credit-transfer.received` `unmatched-credit-transfer.matched` `unmatched-credit-transfer.returned` `unmatched-credit-transfer.expired` `unmatched-credit-transfer.match.completed` `unmatched-credit-transfer.match.failed` `unmatched-credit-transfer.return.completed` `unmatched-credit-transfer.return.failed` `*`
  - `entityId` string, required: The entity token that triggered the event
  - `createdAt` string, required: The event's date time of creation.
  - `_embedded` object, nullable: Full payload of the event.
    - `entity` union
      - object
        - `resource` string, required: Indicates the response contains a payment object. Will always contain the string `payment` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this payment. Mollie assigns this identifier at payment creation time. Mollie will always refer to the payment by this ID. Example: `tr_5B8cwPMGnU6qLbRvo7qEZo`.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `description` string, required: The description of the payment will be shown to your customer on their card or bank statement when possible. We truncate the description automatically according to the limits of the used payment method. The description is also visible in any exports you generate. We recommend you use a unique identifier so that you can always link the payment to the order in your back office. This is particularly useful for bookkeeping. The maximum length of the description field differs per payment method, with the absolute maximum being 255 characters. The API will not reject strings longer than the maximum length but it will truncate them to fit.
        - `amount` object, required: The amount that you want to charge, e.g. `{currency:"EUR", value:"1000.00"}` if you would want to charge €1000.00. You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint. If a tip was added for a Point-of-Sale payment, the amount will be updated to reflect the initial amount plus the tip amount.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `amountRefunded` object: The total amount that is already refunded. Only available when refunds are available for this payment. For some payment methods, this amount may be higher than the payment amount, for example to allow reimbursement of the costs for a return shipment to the customer.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `amountRemaining` object: The remaining amount that can be refunded. Only available when refunds are available for this payment.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `amountCaptured` object: The total amount that is already captured for this payment. Only available when this payment supports captures.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `amountChargedBack` object: The total amount that was charged back for this payment. Only available when the total charged back amount is not zero.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `settlementAmount` object: **Deprecated.** This field will be removed on January 1st, 2027. Use the [Settlements API](list-settlements) or the [List balance transactions endpoint](list-balance-transactions) for settlement data. The amount that will be settled to your account, converted to the currency your account is settled in. Only available once the payment is finalized and the final settlement amount has been determined. Amounts not settled by Mollie are not reflected here (e.g. PayPal or gift cards). If no amount is settled by Mollie, this field is omitted from the response.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `redirectUrl` string, nullable: The URL your customer will be redirected to after the payment process. It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns. The parameter is normally required, but can be omitted for recurring payments (`sequenceType: recurring`) and for Apple Pay payments with an `applePayPaymentToken`.
        - `cancelUrl` string, nullable: The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the `redirectUrl` instead — see above. Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations.
        - `webhookUrl` string, nullable: The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to your payment. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine.
        - `lines` object[], nullable: Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `billink`, `in3`, `klarna`, `riverty` and `voucher`.
          - `type` string: The type of product purchased. For example, a physical or a digital product. The `tip` payment line type is not available when creating a payment. Possible values: `physical` `digital` `shipping_fee` `discount` `store_credit` `gift_card` `surcharge` `tip` (default: `physical`)
          - `description` string, required: A description of the line item. For example *LEGO 4440 Forest Police Station*.
          - `quantity` integer, required: The number of items.
          - `quantityUnit` string: The unit for the quantity. For example *pcs*, *kg*, or *cm*.
          - `unitPrice` object, required: The price of a single item including VAT. For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `discountAmount` object: Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `totalAmount` object, required: The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `vatRate` string: The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed.
          - `vatAmount` object: The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `sku` string: The SKU, EAN, ISBN or UPC of the product sold.
          - `categories` string[]: An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. Possible values: `eco` `gift` `meal` `sport_culture` `additional` `consume`
          - `imageUrl` string: A link pointing to an image of the product sold.
          - `productUrl` string: A link pointing to the product page in your web shop of the product sold.
          - `recurring` object: The details of subsequent recurring billing cycles. These parameters are used in the Mollie Checkout to inform the shopper of the details for recurring products in the payments.
            - `description` string: A description of the recurring item. If not present, the main description of the item will be used.
            - `interval` string, required: Cadence unit of the recurring item. For example: `12 months`, `52 weeks` or `365 days`. Possible values: `... days`, `... weeks`, `... months`.
            - `amount` object: Total amount and currency of the recurring item.
              - …
            - `times` integer: Total number of charges for the subscription to complete. Leave empty for ongoing subscription.
            - `startDate` string, nullable: The start date of the subscription if it does not start right away (format `YYYY-MM-DD`)
        - `billingAddress` object: The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `alma`, `in3`, `klarna`, `billie`, `billink` and `riverty`.
          - `title` string: The title of the person, for example *Mr.* or *Mrs.*.
          - `givenName` string: The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `familyName` string: The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `organizationName` string: The name of the organization, in case the addressee is an organization. Required for payment method `billie`.
          - `streetAndNumber` string: A street and street number. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `streetAdditional` string: Any additional addressing details, for example an apartment number.
          - `postalCode` string: A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `email` string: A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
          - `phone` string: If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070.
          - `city` string: A city name. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `region` string: The top-level administrative subdivision of the country. For example: Noord-Holland.
          - `country` string: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
        - `shippingAddress` object: The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`.
          - `title` string: The title of the person, for example *Mr.* or *Mrs.*.
          - `givenName` string: The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `familyName` string: The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `organizationName` string: The name of the organization, in case the addressee is an organization.
          - `streetAndNumber` string: A street and street number. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `streetAdditional` string: Any additional addressing details, for example an apartment number.
          - `postalCode` string: A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `email` string: A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
          - `phone` string: If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070.
          - `city` string: A city name. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `region` string: The top-level administrative subdivision of the country. For example: Noord-Holland.
          - `country` string: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
        - `locale` string, nullable: Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any `xx_XX` format ISO 15897 locale, but our hosted payment pages currently only support the specified languages. For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment. Possible values: `ca_ES` `cs_CZ` `da_DK` `de_AT` `de_CH` `de_DE` `de_LU` `el_GR` `en_BE` `en_GB` `en_NL` `en_US` `es_ES` `fi_FI` `fr_BE` `fr_FR` `fr_LU` `hu_HU` `is_IS` `it_IT` `lt_LT` `lv_LV` `nb_NO` `nl_BE` `nl_NL` `pl_PL` `pt_PT` `sk_SK` `sl_SI` `sv_SE` `tr_TR`
        - `countryCode` string, nullable: This optional field contains your customer's ISO 3166-1 alpha-2 country code, detected by us during checkout. This field is omitted if the country code was not detected.
        - `method` string, nullable: The payment method used for this transaction. If a specific method was selected during payment initialization, this field reflects that choice. Possible values: `alma` `applepay` `bacs` `bancomatpay` `bancontact` `banktransfer` `belfius` `billie` `billink` `bizum` `blik` `creditcard` `directdebit` `eps` `giftcard` `ideal` `in3` `kbc` `klarna` `mbway` `mobilepay` `multibanco` `mybank` `paybybank` `paypal` `paysafecard` `pointofsale` `przelewy24` `riverty` `satispay` `swish` `trustly` `twint` `vipps` `voucher` `wero`
        - `issuer` string, nullable: **Only relevant for iDEAL, KBC/CBC, gift card, and voucher payments.** **⚠️ With the introduction of iDEAL 2 in 2025, this field will be ignored for iDEAL payments. For more information on the migration, refer to our [help center](https://help.mollie.com/hc/articles/19100313768338-iDEAL-2-0).** Some payment methods are a network of connected banks or card issuers. In these cases, after selecting the payment method, the customer may still need to select the appropriate issuer before the payment can proceed. We provide hosted issuer selection screens, but these screens can be skipped by providing the `issuer` via the API up front. The full list of issuers for a specific method can be retrieved via the Methods API by using the optional `issuers` include. A valid issuer for iDEAL is for example `ideal_INGBNL2A` (for ING Bank).
        - `restrictPaymentMethodsToCountry` string, nullable: For digital goods in most jurisdictions, you must apply the VAT rate from your customer's country. Choose the VAT rates you have used for the order to ensure your customer's country matches the VAT country. Use this parameter to restrict the payment methods available to your customer to those from a single country. If available, the credit card method will still be offered, but only cards from the allowed country are accepted. The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`.
        - `metadata` union: Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
          - string
          - number
          - object
          - string[]
        - `captureMode` string, nullable: Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/) and capture at a later time. This field needs to be set to `manual` for method `riverty`. Possible values: `automatic` `manual`
        - `captureDelay` string, nullable: **Only relevant if you wish to manage authorization and capturing separately.** Some payment methods allow placing a hold on the card or bank account. This hold or 'authorization' can then at a later point either be 'captured' or canceled. By default, we charge the customer's card or bank account immediately when they complete the payment. If you set a capture delay however, we will delay the automatic capturing of the payment for the specified amount of time. For example `8 hours` or `2 days`. To schedule an automatic capture, the `captureMode` must be set to `automatic`. The maximum delay is 7 days (168 hours). Possible values: `... hours` `... days`
        - `captureBefore` string, nullable: Indicates the date before which the payment needs to be captured, in ISO 8601 format. From this date onwards we can no longer guarantee a successful capture. The parameter is omitted if the payment is not authorized (yet).
        - `applicationFee` object, nullable: With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you use OAuth to create payments on a connected merchant's account, you can charge a fee using this `applicationFee` parameter. If the payment succeeds, the fee will be deducted from the merchant's balance and sent to your own account balance. If instead you want to split a payment on your own account between yourself and a connected merchant, refer to the `routing` parameter.
          - `amount` object, required: The fee that you wish to charge. Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge a €0.99 fee on a €1.00 payment.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `description` string, required: The description of the application fee. This will appear on settlement reports towards both you and the connected merchant.
        - `routing` object[], nullable: *This functionality is not enabled by default. Reach out to our partner management team if you wish to use it.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants. If you create payments on your own account that you want to split between yourself and one or more connected merchants, you can use this `routing` parameter to route the payment accordingly. The `routing` parameter should contain an array of objects, with each object describing the destination for a specific portion of the payment. It is not necessary to indicate in the array which portion goes to yourself. After all portions of the total payment amount have been routed, the amount left will be routed to the current organization automatically. If instead you use OAuth to create payments on a connected merchant's account, refer to the `applicationFee` parameter.
          - `resource` string, required: Indicates the response contains a route object. Will always contain the string `route` for this endpoint.
          - `id` string, required: The identifier uniquely referring to this route. Mollie will always refer to the route by this ID. Example: `rt_5B8cwPMGnU6qLbRvo7qEZo`.
          - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
          - `amount` object, required: The portion of the total payment amount being routed. Currently only `EUR` payments can be routed.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `destination` object, required: The destination of this portion of the payment.
            - `type` string, required: The type of destination. Currently only the destination type `organization` is supported. Possible values: `organization`
            - `organizationId` string, required: Required for destination type `organization`. The ID of the connected organization the funds should be routed to.
          - `createdAt` string, required: The date and time when the route was created. The date is given in ISO 8601 format.
          - `releaseDate` string, nullable: Optionally, schedule this portion of the payment to be transferred to its destination on a later date. The date must be given in `YYYY-MM-DD` format. If no date is given, the funds become available to the connected merchant as soon as the payment succeeds.
          - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
            - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
              - …
            - `payment` object, required: The API resource URL of the [payment](get-payment) that belong to this route.
              - …
        - `sequenceType` string, required: **Only relevant for recurring payments.** Indicate which part of a recurring sequence this payment is for. Recurring payments can only take place if a mandate is available. A common way to establish such a mandate is through a `first` payment. With a `first` payment, the customer agrees to automatic recurring charges taking place on their account in the future. If set to `recurring`, the customer's card is charged automatically. Defaults to `oneoff`, which is a regular non-recurring payment. For PayPal payments, recurring is only possible if your connected PayPal account allows it. You can call our [Methods API](list-methods) with parameter `sequenceType: first` to discover which payment methods on your account are set up correctly for recurring payments. Possible values: `oneoff` `first` `recurring`
        - `subscriptionId` string, nullable: If the payment was automatically created via a subscription, the ID of the [subscription](get-subscription) will be added to the response.
        - `mandateId` string, nullable: **Only relevant for recurring payments and stored cards.** When creating recurring or stored cards payments, the ID of a specific [mandate](get-mandate) can be supplied to indicate which of the customer's accounts should be debited.
        - `customerId` string, nullable: The ID of the [customer](get-customer) the payment is being created for. This is used primarily for recurring payments, but can also be used on regular payments to enable single-click payments. If `sequenceType` is set to `recurring`, this field is required.
        - `profileId` string, required: The identifier referring to the [profile](get-profile) this entity belongs to. When using an API Key, the `profileId` must not be sent since it is linked to the key. However, for OAuth and Organization tokens, the `profileId` is required. For more information, see [Authentication](authentication).
        - `settlementId` string, nullable: The identifier referring to the [settlement](get-settlement) this payment was settled with.
        - `orderId` string, nullable: If the payment was created for an [order](get-order), the ID of that order will be part of the response.
        - `status` string, required: The payment's status. Refer to the [documentation regarding statuses](https://docs.mollie.com/docs/handling-payment-status) for more info about which statuses occur at what point. Possible values: `open` `pending` `authorized` `paid` `canceled` `expired` `failed`
        - `statusReason` object, nullable: This object offers details about the status of a payment. Currently it is only available for point-of-sale payments. You can find more information about the possible values of this object on [this page](status-reasons).**
          - `code` union, required
            - 'approved_or_completed_successfully' | 'refer_to_card_issuer' | 'invalid_merchant' | 'capture_card' | 'do_not_honor' | 'error' | 'partial_approval' | 'invalid_transaction' | 'invalid_amount' | 'invalid_issuer' | 'lost_card' | 'stolen_card' | 'insufficient_funds' | 'expired_card' | 'invalid_pin' | 'transaction_not_permitted_to_cardholder' | 'transaction_not_allowed_at_terminal' | 'exceeds_withdrawal_amount_limit' | 'restricted_card' | 'security_violation' | 'exceeds_withdrawal_count_limit' | 'allowable_number_of_pin_tries_exceeded' | 'no_reason_to_decline' | 'cannot_verify_pin' | 'issuer_unavailable' | 'unable_to_route_transaction' | 'duplicate_transaction' | 'system_malfunction' | 'honor_with_id' | 'invalid_card_number' | 'format_error' | 'contact_card_issuer' | 'pin_not_changed' | 'invalid_nonexistent_to_account_specified' | 'invalid_nonexistent_from_account_specified' | 'invalid_nonexistent_account_specified' | 'lifecycle_related' | 'domestic_debit_transaction_not_allowed' | 'policy_related' | 'fraud_security_related' | 'invalid_authorization_life_cycle' | 'purchase_amount_only_no_cash_back_allowed' | 'cryptographic_failure' | 'unacceptable_pin' | 'refer_to_card_issuer_special_condition' | 'pick_up_card_special_condition' | 'vip_approval' | 'invalid_account_number' | 're_enter_transaction' | 'no_action_taken' | 'unable_to_locate_record' | 'file_temporarily_unavailable' | 'no_credit_account' | 'closed_account' | 'no_checking_account' | 'no_savings_account' | 'suspected_fraud' | 'transaction_does_not_fulfill_aml_requirement' | 'pin_data_required' | 'unable_to_locate_previous_message' | 'previous_message_located_inconsistent_data' | 'blocked_first_used' | 'transaction_reversed' | 'credit_issuer_unavailable' | 'pin_cryptographic_error_found' | 'negative_online_cam_result' | 'violation_of_law' | 'force_stip' | 'cash_service_not_available' | 'cashback_request_exceeds_issuer_limit' | 'decline_for_cvv2_failure' | 'transaction_amount_exceeds_pre_authorized_amount' | 'invalid_biller_information' | 'pin_change_unblock_request_declined' | 'unsafe_pin' | 'card_authentication_failed' | 'stop_payment_order' | 'revocation_of_authorization' | 'revocation_of_all_authorizations' | 'forward_to_issuer_xa' | 'forward_to_issuer_xd' | 'unable_to_go_online' | 'additional_customer_authentication_required': A machine-readable code that indicates the reason for the payment's status.
            - 'merchant_id_not_found' | 'merchant_account_closed' | 'terminal_id_not_found' | 'terminal_closed' | 'invalid_category_code' | 'invalid_currency' | 'missing_cvv2_cvc2' | 'cvv2_not_allowed' | 'merchant_not_registered_vbv' | 'merchant_not_registered_for_amex' | 'transaction_not_permitted_at_terminal' | 'agreement_terminal_not_related' | 'invalid_processor_id' | 'invalid_merchant_data' | 'sub_merchant_account_closed': A machine-readable code that indicates the reason for the payment's status.
            - 'terminal_busy' | 'terminal_unreachable': A machine-readable code that indicates the reason for the payment's status.
            - 'service_failed' | 'invalid_operation' | 'authorization_error' | 'login_failed_without_reason' | 'invalid_retailer' | 'refer_to_card_issuer' | 'card_does_not_exist' | 'expired_card' | 'card_is_blocked' | 'insufficient_funds' | 'invalid_card_id' | 'card_is_transferred' | 'card_is_not_active' | 'incorrect_purchase_value' | 'card_not_available' | 'wrong_currency' | 'login_failed_unknown_user' | 'login_failed_invalid_password' | 'invalid_pin' | 'invalid_ean_code': A machine-readable code that indicates the reason for the payment's status.
          - `message` string, required: A description of the status reason, localized according to the payment `locale`.
        - `isCancelable` boolean, nullable: Whether the payment can be canceled. This parameter is omitted if the payment reaches a final state.
        - `details` object, nullable: An object containing payment details collected during the payment process. For example, details may include the customer's card or bank details and a payment reference. For the full list of details, please refer to the [method-specific parameters](extra-payment-parameters) guide.
          - `consumerName` string, nullable: The customer's name, if made available by the payment method. For card payments, refer to `details.cardHolder`.
          - `consumerAccount` string, nullable: The customer's account reference. For banking-based payment methods — such as iDEAL — this is normally either an IBAN or a domestic bank account number. For PayPal, the account reference is an email address. For card and Bancontact payments, refer to `details.cardNumber`.
          - `consumerBic` string, nullable: The BIC of the customer's bank account, if applicable.
          - `shippingAddress` object, nullable: For wallet payment methods — such as Apple Pay and PayPal — the shipping address is often already known by the wallet provider. In these cases the shipping address may be available as a payment detail.
          - `cardNumber` string, nullable: The customer's masked card number.
          - `bankName` string: The name of the bank that the customer will need to make the bank transfer payment towards.
          - `bankAccount` string: The bank account number the customer will need to make the bank transfer payment towards.
          - `bankBic` string: The BIC of the bank the customer will need to make the bank transfer payment towards.
          - `billingEmail` string, nullable: <Callout icon="🚧" theme="warn"> This field is deprecated. Use `billingAddress.email` instead. </Callout> The email address which the customer requested us to send the payment instructions to. Only available if provided via the API during payment creation, or if filled out by the customer in the hosted checkout screen.
          - `transferReference` string, nullable: The Mollie-generated reference the customer needs to use when transfering the amount. Do not apply any formatting here; show it to the customer as-is.
          - `bizumReference` string, nullable: Bizum payment reference of the transaction.
          - `cardFingerprint` string, nullable: A unique fingerprint for this specific card. Can be used to identify returning customers.
          - `cardHolder` string, nullable: The customer's name as shown on their card.
          - `cardAudience` string, nullable: The card's target audience, if known. Possible values: `consumer` `business`
          - `cardLabel` string, nullable: The card's label, if known. Possible values: `American Express` `Carta Si` `Carte Bleue` `Cartes Bancaires` `Dankort` `Diners Club` `Discover` `JCB` `Laser` `Maestro` `Mastercard` `Unionpay` `Visa` `Vpay`
          - `cardCountryCode` string, nullable: The ISO 3166-1 alpha-2 country code of the country the card was issued in.
          - `cardExpiryDate` string, nullable: The expiry date (`MM/YY`) of the card as displayed on the card.
          - `cardFunding` string, nullable: The card type. Possible values: `debit` `credit` `prepaid` `deferred-debit`
          - `cardSecurity` string, nullable: The level of security applied during card processing. Possible values: `normal` `3dsecure`
          - `feeRegion` string, nullable: The applicable card fee region. Possible values: `american-express` `amex-intra-eea` `carte-bancaire` `cartes-bancaires-business` `cartes-bancaires-consumer` `domestic` `inter` `intra-eu` `intra-eu-corporate` `intra_eea` `maestro` `mastercard-credit-business-domestic` `mastercard-credit-consumer-domestic` `mastercard-credit-consumer-intra-eea` `mastercard-debit-business-domestic` `mastercard-debit-business-intra-eea` `mastercard-debit-consumer-domestic` `mastercard-debit-consumer-inter` `mastercard-debit-consumer-intra-eea` `other` `visa-credit-business-domestic` `visa-credit-consumer-domestic` `visa-credit-consumer-inter` `visa-credit-consumer-intra-eea` `visa-debit-business-domestic` `visa-debit-business-intra-eea` `visa-debit-consumer-domestic` `visa-debit-consumer-inter` `visa-debit-consumer-intra-eea`
          - `cardMaskedNumber` string, nullable: The first6 and last4 digits of the card number.
          - `card3dsEci` string, nullable: The outcome of authentication attempted on transactions enforced by 3DS (ie valid only for `oneoff` and `first`).
          - `cardBin` string, nullable: The first6 digit of the card bank identification number.
          - `cardIssuer` string, nullable: The issuer of the Card.
          - `failureReason` string, nullable: A failure code to help understand why the payment failed. Possible values: `authentication_abandoned` `authentication_failed` `authentication_required` `authentication_unavailable_acs` `card_declined` `card_expired` `inactive_card` `insufficient_funds` `invalid_cvv` `invalid_card_holder_name` `invalid_card_number` `invalid_card_type` `possible_fraud` `refused_by_issuer` `unknown_reason`
          - `failureMessage` string, nullable: A human-friendly failure message that can be shown to the customer. The message is translated in accordance with the payment's locale setting.
          - `wallet` string, nullable: The wallet used when creating the payment. Possible values: `applepay` `googlepay`
          - `multibancoReference` string, nullable: Multibanco payment reference of the transaction.
          - `multibancoEntity` string, nullable: Multibanco entity reference of the transaction.
          - `paypalReference` string, nullable: PayPal's reference for the payment.
          - `paypalPayerId` string, nullable: ID of the customer's PayPal account.
          - `sellerProtection` string, nullable: Indicates to what extent the payment is eligible for PayPal's Seller Protection. Only available for PayPal payments, if the information is made available by PayPal. Classic values: `Eligible` `Ineligible` `Partially Eligible - INR Only` `Partially Eligible - Unauth Only` `PartiallyEligible` `None` `Active` `Fraud Control - Unauth Premium Eligible` Current values: `ELIGIBLE` `PARTIALLY_ELIGIBLE` `NOT_ELIGIBLE` _Note:_ Classic values are legacy and may still appear in older payments. Possible values: `ELIGIBLE` `PARTIALLY_ELIGIBLE` `NOT_ELIGIBLE`
          - `paypalFee` object, nullable: An amount object containing the fee PayPal will charge for this transaction. The field may be omitted if PayPal will not charge a fee for this transaction.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `customerReference` string: The paysafecard customer reference either provided via the API or otherwise auto-generated by Mollie.
          - `terminalId` string: The ID of the terminal device where the payment took place on.
          - `maskedNumber` string, nullable: The first 6 digits & last 4 digits of the customer's masked card number.
          - `creditorIdentifier` string, nullable: The creditor identifier indicates who is authorized to execute the payment. In this case, it is a reference to Mollie.
          - `dueDate` string, date, nullable: Estimated date the payment is debited from the customer's bank account, in `YYYY-MM-DD` format.
          - `signatureDate` string, date, nullable: Date the payment has been signed by the customer, in `YYYY-MM-DD` format. Only available if the payment has been signed.
          - `bankReasonCode` string, nullable: The official reason why this payment has failed. A detailed description of each reason is available on the website of the European Payments Council.
          - `bankReason` string, nullable: A human-friendly description of the failure reason.
          - `endToEndIdentifier` string, nullable: The end-to-end identifier you provided in the batch file.
          - `mandateReference` string, nullable: The mandate reference you provided in the batch file.
          - `batchReference` string, nullable: The batch reference you provided in the batch file.
          - `fileReference` string, nullable: The file reference you provided in the batch file.
          - `qrCode` object: **Optional include.** If a QR code was requested during payment creation for a QR-compatible payment method, the QR code details will be available in this object. The QR code can be scanned by the customer to complete the payment on their mobile device. For example, Bancontact QR payments can be completed by the customer using the Bancontact app. * `height` _integer_ * `width` _integer_ * `src` _string_
            - `height` integer: The height of the QR code image in pixels.
            - `width` integer: The width of the QR code image in pixels.
            - `src` string: The URL to the QR code image.
          - `voucherNumber` string: For payments with gift cards: the masked gift card number of the first gift card applied to the payment.
          - `giftcards` object[]: An array of detail objects for each gift card that was used on this payment, if any.
          - `issuer` string: For payments with vouchers: the brand name of the first voucher applied.
          - `vouchers` object[]: An array of detail objects for each voucher that was used on this payment, if any.
          - `remainderAmount` object: An amount object for the amount that remained after all gift cards or vouchers were applied.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `remainderMethod` string: The payment method used to pay the remainder amount, after all gift cards or vouchers were applied.
          - `remainderDetails` object: **Optional include.** The full payment method details of the remainder payment.
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `authorizedAt` string, nullable: The date and time the payment became authorized, in ISO 8601 format. This parameter is omitted if the payment is not authorized (yet).
        - `paidAt` string, nullable: The date and time the payment became paid, in ISO 8601 format. This parameter is omitted if the payment is not completed (yet).
        - `canceledAt` string, nullable: The date and time the payment was canceled, in ISO 8601 format. This parameter is omitted if the payment is not canceled (yet).
        - `expiresAt` string, nullable: The date and time the payment will expire, in ISO 8601 format. This parameter is omitted if the payment can no longer expire.
        - `expiredAt` string, nullable: The date and time the payment was expired, in ISO 8601 format. This parameter is omitted if the payment did not expire (yet).
        - `failedAt` string, nullable: The date and time the payment failed, in ISO 8601 format. This parameter is omitted if the payment did not fail (yet).
        - `dueDate` string, nullable: The date by which the payment should be completed in `YYYY-MM-DD` format. Sending `null` has the same effect as omitting the field.
        - `storeCredentials` boolean: Whether the card details should be stored for the customer after a successful payment. This will create a mandate for the customer, allowing for future customer present saved-card CIT payments. Requires customerId, cardToken, and the creditcard method to be specified.
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
        - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
          - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `checkout` object: The URL your customer should visit to make the payment. This is where you should redirect the customer to.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `mobileAppCheckout` object: The deeplink URL to the app of the payment method. Currently only available for `bancontact`.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `changePaymentState` object, nullable: For test mode payments in certain scenarios, a hosted interface is available to help you test different payment states. Firstly, for recurring test mode payments. Recurring payments do not have a checkout URL, because these payments are executed without any user interaction. Secondly, for paid test mode payments. The payment state screen will then allow you to create a refund or chargeback for the test payment.
            - `href` string: The actual URL string.
            - `type` string: The content type of the page or endpoint the URL points to.
          - `dashboard` object, required: Direct link to the payment in the Mollie Dashboard.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `refunds` object: The API resource URL of the [refunds](list-payment-refunds) that belong to this payment.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `chargebacks` object: The API resource URL of the [chargebacks](list-payment-chargebacks) that belong to this payment.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `captures` object: The API resource URL of the [captures](list-payment-captures) that belong to this payment.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `settlement` object: The API resource URL of the [settlement](get-settlement) this payment has been settled with. Not present if not yet settled.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `customer` object: The API resource URL of the [customer](get-customer).
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `mandate` object: The API resource URL of the [mandate](get-mandate).
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `subscription` object: The API resource URL of the [subscription](get-subscription).
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `order` object: The API resource URL of the [order](get-order) this payment was created for. Not present if not created for an order.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `terminal` object: The API resource URL of the [terminal](get-terminal) this payment was created for. Only present for point-of-sale payments.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `documentation` object: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `status` object: Link to customer-facing page showing the status of the bank transfer (to verify if the transaction was successful).
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `payOnline` object: Link to Mollie Checkout page allowing customers to select a different payment method instead of legacy bank transfer.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
      - object
        - `resource` string, required: Indicates the response contains a refund object. Will always contain the string `refund` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this refund. Mollie assigns this identifier at refund creation time. Mollie will always refer to the refund by this ID. Example: `re_4qqhO89gsT`.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `description` string, nullable, required: The description of the refund that may be shown to your customer, depending on the payment method used.
        - `amount` object, required: The amount refunded to your customer with this refund. The amount is allowed to be lower than the original payment amount.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `settlementAmount` object, nullable: In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `metadata` union, required: Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
          - string
          - number
          - object
          - string[]
        - `paymentId` string, required: The unique identifier of the payment this refund was created for. The full payment object can be retrieved via the payment URL in the `_links` object.
        - `settlementId` string, nullable: The identifier referring to the settlement this refund was settled with. This field is omitted if the refund is not settled (yet).
        - `status` 'queued' | 'pending' | 'processing' | 'refunded' | 'failed' | 'canceled', required
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `externalReference` object
          - `type` string: Specifies the reference type Possible values: `acquirer-reference`
          - `id` string: Unique reference from the payment provider
        - `reverseRouting` boolean, nullable: *This feature is only available to marketplace operators.* With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie merchants, by providing the `routing` object during [payment creation](create-payment). When creating refunds for these *routed* payments, by default the full amount is deducted from your balance. If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to `true` when issuing a full refund. For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead.
        - `routingReversals` object[], nullable: *This feature is only available to marketplace operators.* When creating refunds for *routed* payments, by default the full amount is deducted from your balance. If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount needs to be reversed from which merchant(s). If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead.
          - `amount` object: The amount that will be pulled back.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `source` object: Where the funds will be pulled back from.
            - `type` string: The type of source. Currently only the source type `organization` is supported. Possible values: `organization`
            - `organizationId` string: Required for source type `organization`. The ID of the connected organization the funds should be pulled back from.
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
        - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
          - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `payment` object, required: The API resource URL of the [payment](get-payment) that this refund belongs to.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `settlement` object, nullable: The API resource URL of the [settlement](get-settlement) this refund has been settled with. Not present if not yet settled.
            - `href` string: The actual URL string.
            - `type` string: The content type of the page or endpoint the URL points to.
          - `documentation` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
      - object
        - `resource` string, required: Indicates the response contains a chargeback object. Will always contain the string `chargeback` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this chargeback. Example: `chb_n9z0tp`.
        - `amount` object, required: The amount charged back by the customer.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `settlementAmount` object, nullable: In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `reason` object, nullable: Reason for the chargeback as given by the bank. Only available for chargebacks of SEPA Direct Debit payments.
          - `code` string, required: Technical code provided by the bank.
          - `description` string, required: A more detailed human-friendly description.
        - `paymentId` string, required: The unique identifier of the payment this chargeback was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. The full payment object can be retrieved via the payment URL in the `_links` object.
        - `settlementId` string, nullable: The identifier referring to the settlement this payment was settled with. For example, `stl_BkEjN2eBb`. This field is omitted if the refund is not settled (yet).
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `reversedAt` string, nullable: The date and time the chargeback was reversed if applicable, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
          - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `payment` object, required: The API resource URL of the [payment](get-payment) that this chargeback belongs to.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `settlement` object, nullable: The API resource URL of the [settlement](get-settlement) this chargeback has been settled with. Not present if not yet settled.
            - `href` string: The actual URL string.
            - `type` string: The content type of the page or endpoint the URL points to.
          - `documentation` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
      - object
        - `resource` string, required: Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this capture. Example: `cpt_mNepDkEtco6ah3QNPUGYH`.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `description` string: The description of the capture.
        - `amount` object, nullable, required: The amount captured. If no amount is provided, the full authorized amount is captured.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `settlementAmount` object, nullable: In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `status` string, required: The capture's status. Possible values: `pending` `succeeded` `failed`
        - `metadata` union: Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
          - string
          - number
          - object
          - string[]
        - `paymentId` string, required: The unique identifier of the payment this capture was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`. The full payment object can be retrieved via the payment URL in the `_links` object.
        - `shipmentId` string, nullable: The unique identifier of the shipment that triggered the creation of this capture, if applicable. For example: `shp_gNapNy9qQTUFZYnCrCF7J`.
        - `settlementId` string, nullable: The identifier referring to the settlement this capture was settled with. For example, `stl_BkEjN2eBb`. This field is omitted if the capture is not settled (yet).
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
        - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
          - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `payment` object, required: The API resource URL of the [payment](get-payment) that this capture belongs to.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `settlement` object, nullable: The API resource URL of the [settlement](get-settlement) this capture has been settled with. Not present if not yet settled.
            - `href` string: The actual URL string.
            - `type` string: The content type of the page or endpoint the URL points to.
          - `shipment` object, nullable: The API resource URL of the [shipment](get-shipment) this capture is associated with. Not present if it isn't associated with a shipment.
            - `href` string: The actual URL string.
            - `type` string: The content type of the page or endpoint the URL points to.
          - `documentation` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
      - object
        - `resource` string, required: Indicates the response contains a payment link object. Will always contain the string `payment-link` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this payment link. Example: `pl_4Y0eZitmBnQ6IDoMqZQKh`.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `description` string, required: A short description of the payment link. The description is visible in the Dashboard and will be shown on the customer's bank or card statement when possible.
        - `amount` object, nullable, required: The amount of the payment link. If no amount is provided initially, the customer will be prompted to enter an amount.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `minimumAmount` object, nullable: The minimum amount of the payment link. This property is only allowed when there is no amount provided. The customer will be prompted to enter a value greater than or equal to the minimum amount.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `archived` boolean, required: Whether the payment link is archived. Customers will not be able to complete payments on archived payment links.
        - `redirectUrl` string, nullable, required: The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided, the customer will be shown a generic message after completing the payment.
        - `webhookUrl` string, nullable, required: The webhook URL where we will send payment status updates to. The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments resulting from the payment link. The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your local machine.
        - `lines` object[], nullable: Optionally provide the order lines for the payment. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the payment. Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`.
          - `type` string: The type of product purchased. For example, a physical or a digital product. The `tip` payment line type is not available when creating a payment. Possible values: `physical` `digital` `shipping_fee` `discount` `store_credit` `gift_card` `surcharge` `tip` (default: `physical`)
          - `description` string, required: A description of the line item. For example *LEGO 4440 Forest Police Station*.
          - `quantity` integer, required: The number of items.
          - `quantityUnit` string: The unit for the quantity. For example *pcs*, *kg*, or *cm*.
          - `unitPrice` object, required: The price of a single item including VAT. For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. For types `discount`, `store_credit`, and `gift_card`, the unit price must be negative. The unit price can be zero in case of free items.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `discountAmount` object: Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `totalAmount` object, required: The total amount of the line, including VAT and discounts. Should match the following formula: `(unitPrice × quantity) - discountAmount`. The sum of all `totalAmount` values of all order lines should be equal to the full payment amount.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `vatRate` string: The VAT rate applied to the line, for example `21.00` for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed.
          - `vatAmount` object: The amount of value-added tax on the line. The `totalAmount` field includes VAT, so the `vatAmount` can be calculated with the formula `totalAmount × (vatRate / (100 + vatRate))`. Any deviations from this will result in an error. For example, for a `totalAmount` of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of `SEK 100.00 × (25 / 125) = SEK 20.00`.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `sku` string: The SKU, EAN, ISBN or UPC of the product sold.
          - `categories` string[]: An array with the voucher categories, in case of a line eligible for a voucher. See the [Integrating Vouchers](https://docs.mollie.com/docs/integrating-vouchers/) guide for more information. Possible values: `eco` `gift` `meal` `sport_culture` `additional` `consume`
          - `imageUrl` string: A link pointing to an image of the product sold.
          - `productUrl` string: A link pointing to the product page in your web shop of the product sold.
        - `billingAddress` object: The customer's billing address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`. Required for payment method `in3`, `klarna`, `billie` and `riverty`.
          - `title` string: The title of the person, for example *Mr.* or *Mrs.*.
          - `givenName` string: The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `familyName` string: The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `organizationName` string: The name of the organization, in case the addressee is an organization.
          - `streetAndNumber` string: A street and street number. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `streetAdditional` string: Any additional addressing details, for example an apartment number.
          - `postalCode` string: A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `email` string: A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
          - `phone` string: If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070.
          - `city` string: A city name. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `region` string: The top-level administrative subdivision of the country. For example: Noord-Holland.
          - `country` string: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
        - `shippingAddress` object: The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. Should include `email` or a valid postal address consisting of `streetAndNumber`, `postalCode`, `city` and `country`.
          - `title` string: The title of the person, for example *Mr.* or *Mrs.*.
          - `givenName` string: The given name (first name) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `familyName` string: The given family name (surname) of the person should be at least two characters and cannot contain only numbers. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `organizationName` string: The name of the organization, in case the addressee is an organization.
          - `streetAndNumber` string: A street and street number. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `streetAdditional` string: Any additional addressing details, for example an apartment number.
          - `postalCode` string: A postal code. This field may be required if the provided country has a postal code system. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `email` string: A valid e-mail address. If you provide the email address for a `banktransfer` payment, we will automatically send the instructions email upon payment creation. The language of the email will follow the locale parameter of the payment. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
          - `phone` string: If provided, it must be in the [E.164](https://en.wikipedia.org/wiki/E.164) format. For example: +31208202070.
          - `city` string: A city name. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
          - `region` string: The top-level administrative subdivision of the country. For example: Noord-Holland.
          - `country` string: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. Required for payment methods `alma`, `billie`, `in3`, `klarna` and `riverty`.
        - `profileId` string, nullable, required: The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` must not be sent in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
        - `reusable` boolean, nullable, required: Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple payments using the same link. If no value is specified, the field defaults to `false`, allowing only a single payment per link.
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `paidAt` string, nullable, required: The date and time the payment link became paid, in ISO 8601 format.
        - `expiresAt` string, nullable, required: The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front, the payment link will not expire automatically.
        - `allowedMethods` string[], nullable, required: An array of payment methods that are allowed to be used for this payment link. When this parameter is not provided or is an empty array, all enabled payment methods will be available. Possible values: `applepay` `bacs` `bancomatpay` `bancontact` `banktransfer` `belfius` `billie` `blik` `creditcard` `eps` `giftcard` `googlepay` `ideal` `in3` `kbc` `klarna` `mbway` `multibanco` `mybank` `paybybank` `paypal` `paysafecard` `pointofsale` `przelewy24` `riverty` `satispay` `swish` `trustly` `twint` `voucher` `wero`
        - `applicationFee` object: With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie merchants. If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent to your own account balance.
          - `amount` object, required: The fee that you wish to charge. Be careful to leave enough space for Mollie's own fees to be deducted as well. For example, you cannot charge a €0.99 fee on a €1.00 payment.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `description` string, required: The description of the application fee. This will appear on settlement reports towards both you and the connected merchant.
        - `sequenceType` string: If set to `first`, a payment mandate is established right after a payment is made by the customer. Defaults to `oneoff`, which is a regular payment link and will not establish a mandate after payment. The mandate ID can be retrieved by making a call to the [Payment Link Payments Endpoint](get-payment-link-payments). Possible values: `oneoff` `first`
        - `customerId` string, nullable: **Only relevant when `sequenceType` is set to `first`** The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided, the customer will be required to input relevant information which will be used to establish a mandate after the payment is made.
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
        - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
          - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `paymentLink` object, required: The URL your customer should visit to make the payment. This is where you should redirect the customer to.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
      - object
        - `resource` string, required: Indicates the response contains a payout object. Will always contain the string `payout` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this payout. Mollie assigns this identifier at payout creation time. Mollie will always refer to the payout by this ID. Example: `payout_j8NvRAM2WNZtsykpLEX8J`.
        - `balanceId` string, required: The identifier of the balance that will be paid out. Example: `bal_gVMhHKqSSRYJyPsuoPNFH`.
        - `amount` object, nullable: The amount to pay out. When omitted from the request, the full available balance minus any configured balance reserve is paid out. Merchants registered in the United Kingdom cannot specify a custom amount — omit this field to pay out the full available balance. The value in the response reflects the amount paid out, excluding any applicable fees.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `description` string, nullable: The description that will appear on the bank statement for this payout.
        - `status` string, required: The status of the payout. Possible values: `requested` `initiated` `processing-at-bank` `completed` `failed` `canceled`
        - `statusReason` object, required: The reason for the payout's current status.
          - `code` string, required: A machine-readable code describing the reason for the payout's current status. Possible values: `requested` `initiated` `processing_at_bank` `completed` `canceled` `failed` `insufficient_funds` `returned` `invalid_request` `organization_inactive` `payouts_blocked` `bank_processing_failed` `balance_not_found` `expired`
          - `message` string, required: A human-readable description of the status reason.
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `initiatedAt` string, nullable: The date and time the payout was initiated, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. This is the moment Mollie attempted to reserve the funds on the balance.
        - `completedAt` string, nullable: The date and time the payout was sent to the destination bank account, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` if the payout has not completed yet.
        - `canceledAt` string, nullable: The date and time the payout was canceled, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` if the payout was not canceled.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
        - `_links` object: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
          - `self` object, required: The URL to the current resource.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `documentation` object, required: The URL to the documentation of the current resource.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
      - object
        - `resource` string, required: Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this invoice. Example: `invoice_4Y0eZitmBnQ6IDoMqZQKh`.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
        - `invoiceNumber` string, nullable: When issued, an invoice number will be set for the sales invoice.
        - `profileId` string, nullable: The identifier referring to the [profile](get-profile) this entity belongs to. Most API credentials are linked to a single profile. In these cases the `profileId` must not be sent in the creation request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
        - `status` string: The current status of the invoice. Possible values: `draft` `issuing` `issued` `pending-payment` `paid` `overdue` `payment-reversed` `cancelled` `expired` `failed`
        - `eInvoiceStatus` string: The e-invoice submission status for the invoice, if it was configured to be an e-invoice. Possible values: `issuing` `issued` `failed`
        - `vatScheme` string: The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it. Possible values: `standard` `one-stop-shop` (default: `standard`)
        - `vatMode` string: The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply. Possible values: `exclusive` `inclusive` (default: `exclusive`)
        - `memo` string, nullable: A free-form memo you can set on the invoice, and will be shown on the invoice PDF.
        - `metadata` object, nullable: Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
        - `paymentTerm` string, nullable: The payment term to be set on the invoice. Possible values: `7 days` `14 days` `30 days` `45 days` `60 days` `90 days` `120 days` (default: `30 days`)
        - `paymentDetails` object[]: Used when setting an invoice to status of `paid`, and will store a payment that fully pays the invoice with the provided details. Required for `paid` status.
          - `source` string, required: The way through which the invoice is to be set to paid. Possible values: `manual` `payment-link` `payment`
          - `sourceReference` string, nullable: A reference to the payment the sales invoice is paid by. Required for `source` values `payment-link` and `payment`.
        - `emailDetails` object, nullable: Used when setting an invoice to status of either `issued` or `paid`. Will be used to issue the invoice to the recipient with the provided `subject` and `body`. Required for `issued` status.
          - `subject` string, required: The subject of the email to be sent.
          - `body` string, required: The body of the email to be sent. To add newline characters, you can use `\n`.
        - `customerId` string: The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`.
        - `mandateId` string: The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided, `customerId` becomes required as well. Only allowed for invoices with status `paid`.
        - `recipientIdentifier` string: An identifier tied to the recipient data. This should be a unique value based on data your system contains, so that both you and us know who we're referring to. It is a value you provide to us so that recipient management is not required to send a first invoice to a recipient.
        - `recipient` object, nullable
          - `type` string, required: The type of recipient, either `consumer` or `business`. This will determine what further fields are required on the `recipient` object. Possible values: `consumer` `business`
          - `title` string, nullable: The title of the `consumer` type recipient, for example Mr. or Mrs..
          - `givenName` string, nullable: The given name (first name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers.
          - `familyName` string, nullable: The given name (last name) of the `consumer` type recipient should be at least two characters and cannot contain only numbers.
          - `organizationName` string, nullable: The trading name of the `business` type recipient.
          - `organizationNumber` string, nullable: The Chamber of Commerce number of the organization for a `business` type recipient. Either this or `vatNumber` has to be provided.
          - `vatNumber` string, nullable: The VAT number of the organization for a `business` type recipient. Either this or `organizationNumber` has to be provided.
          - `email` string, required: The email address of the recipient. If the domain contains non-ASCII characters, encode it as Punycode per [RFC 3492](https://www.rfc-editor.org/rfc/rfc3492).
          - `phone` string, nullable: The phone number of the recipient.
          - `streetAndNumber` string, required: A street and street number.
          - `streetAdditional` string, nullable: Any additional addressing details, for example an apartment number.
          - `postalCode` string, required: A postal code.
          - `city` string, required: The recipient's city.
          - `region` string, nullable: The recipient's region.
          - `country` string, required: A country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
          - `locale` string, required: The locale for the recipient, to be used for translations in PDF generation and payment pages. Possible values: `en_US` `en_GB` `nl_NL` `nl_BE` `de_DE` `de_AT` `de_CH` `fr_FR` `fr_BE`
        - `lines` object[], nullable: Provide the line items for the invoice. Each line contains details such as a description of the item ordered and its price. All lines must have the same currency as the invoice.
          - `description` string, required: A description of the line item. For example *LEGO 4440 Forest Police Station*.
          - `quantity` integer, required: The number of items.
          - `vatRate` string, required: The vat rate to be applied to this line item.
          - `unitPrice` object, required: The price of a single item excluding VAT. For example: `{"currency":"EUR", "value":"89.00"}` if the box of LEGO costs €89.00 each. The unit price can be zero in case of free items.
            - `currency` string, required: A three-character ISO 4217 currency code.
            - `value` string, required: A string containing an exact monetary amount in the given currency.
          - `discount` object, nullable: The discount to be applied to the line item.
            - `type` string, required: The type of discount. Possible values: `amount` `percentage`
            - `value` string, required: A string containing an exact monetary amount in the given currency, or the percentage.
        - `discount` object, nullable: The discount to be applied to the entire invoice, applied on top of any line item discounts.
          - `type` string, required: The type of discount. Possible values: `amount` `percentage`
          - `value` string, required: A string containing an exact monetary amount in the given currency, or the percentage.
        - `isEInvoice` boolean: This indicates whether the invoice is an e-invoice. The default value is `false` and can't be changed after the invoice has been issued. When `emailDetails` is provided, an additional email is sent to the recipient. E-invoicing is only available for merchants based in Belgium, Germany, and the Netherlands, and only when the recipient is also located in one of these countries. When set to true, the invoice will be delivered via the Peppol network. In this case, the organizationNumber or vatNumber provided must match the identifier the recipient is actually registered with on Peppol, otherwise delivery will fail. Note: for recipients in Germany, the vatNumber is the required identifier for Peppol registration.
        - `amountDue` object: The amount that is left to be paid.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `subtotalAmount` object: The total amount without VAT before discounts.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `totalAmount` object: The total amount with VAT.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `totalVatAmount` object: The total VAT amount.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `discountedSubtotalAmount` object: The total amount without VAT after discounts.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `createdAt` string: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `issuedAt` string, nullable: If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `paidAt` string, nullable: If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `dueAt` string, nullable: If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `_links` object: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
          - `self` object: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `invoicePayment` object: The URL your customer should visit to make payment for the invoice. This is where you should redirect the customer to unless the `status` is set to `paid`.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `pdfLink` object, nullable: The URL the invoice is available at, if generated.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `documentation` object: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `next` object, nullable: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
          - `previous` object, nullable: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
            - `href` string, required: The actual URL string.
            - `type` string, required: The content type of the page or endpoint the URL points to.
      - object
        - `resource` string, required: Indicates the response contains a transfer object. Will always contain the string `business-account-transfer` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this transfer. Mollie assigns this identifier at transfer creation time.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `debtorIban` string: The IBAN of the debtor's (sender) Mollie account from which to initiate the transfer.
        - `debtor` object, required: A party involved in the transfer, representing either the debtor (sender) or creditor (recipient). Contains the party's name and account details.
          - `fullName` string, required: The full name of the account holder.
          - `account` object, required: The bank account details of the party.
            - `iban` string, required: The IBAN (International Bank Account Number) of the account holder.
        - `creditor` object, required: The creditor (recipient) of the transfer, including their name and account details.
          - `fullName` string, required: The full name of the account holder.
          - `account` object, required: The bank account details of the party.
            - `iban` string, required: The IBAN (International Bank Account Number) of the account holder.
        - `amount` object, required: The amount of the transfer, e.g. `{"currency":"EUR", "value":"100.00"}` if you would want to transfer €100.00. Only `EUR` is supported for SEPA transfers.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `description` string, nullable: A short description of the transfer. This will appear on the bank statement of both the debtor and creditor. It must begin with an alphanumeric character, followed by any combination of letters, numbers, spaces or special characters `/ - ? : ( ) . , ' + _`. Constraints: - Cannot be solely a hyphen (-) or colon (:) - Cannot contain consecutive hyphens (--) - Cannot contain consecutive colons (::)
        - `businessAccountTransactionId` string, required: The identifier of the corresponding transaction in the business accounts transaction resource.
        - `transferScheme` object, required: The scheme, as requested by the client.
          - `type` string, required: The transfer scheme to be used for the transfer. The transfer scheme determines the processing time and method of the transfer. Possible values: `sepa-credit-inst` `sepa-credit`
        - `creditDebitIndicator` string, required: Indicates whether the entry is a credit or debit from the perspective of the account holder. Possible values: `credit` `debit`
        - `status` string, required: The status of the transfer. Possible values: `requested` `initiated` `pending-review` `processed` `failed` `blocked` `returned`
        - `statusHistory` object[], required: A chronological list of status transitions the transfer has gone through.
          - `status` string, required: The status that the transfer transitioned to. Possible values: `requested` `initiated` `pending-review` `processed` `failed` `blocked` `returned`
          - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `statusReason` object, nullable: A human-readable reason explaining the current status of the transfer. Only populated when the transfer has reached a terminal status of `failed`, `rejected`, or `blocked`. This field is `null` for transfers that have not reached one of these statuses.
            - `code` string: A machine-readable code indicating the reason for the transfer's terminal status. Possible values: `insufficient-funds` `rejected` `error`
            - `message` string: Provides further details about failure indicated. This field is only populated if the`code` field is set to `error`.
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `statusReason` object, nullable: A human-readable reason explaining the current status of the transfer. Only populated when the transfer has reached a terminal status of `failed`, `rejected`, or `blocked`. This field is `null` for transfers that have not reached one of these statuses.
          - `code` string: A machine-readable code indicating the reason for the transfer's terminal status. Possible values: `insufficient-funds` `rejected` `error`
          - `message` string: Provides further details about failure indicated. This field is only populated if the`code` field is set to `error`.
        - `metadata` union: Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
          - string
          - number
          - object
          - string[]
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
      - object
        - `resource` string, required: Indicates the response contains a draft transfer object. Will always contain the string `business-account-draft-transfer` for this endpoint.
        - `id` string, required: The identifier uniquely referring to this draft transfer. Mollie assigns this identifier at draft transfer creation time.
        - `mode` string, required: Whether this entity was created in live mode or in test mode. Possible values: `live` `test`
        - `debtorIban` string: The IBAN of the debtor's (sender) Mollie Business Account.
        - `debtor` object, required: A party involved in the draft transfer, representing either the debtor (sender) or creditor (recipient). Contains the party's name and account details.
          - `fullName` string, required: The full name of the account holder.
          - `account` object, required: The bank account details of the party.
            - `iban` string, required: The IBAN (International Bank Account Number) of the account holder.
        - `creditor` object, required: The creditor (recipient) of the draft transfer, including their name and account details.
          - `fullName` string, required: The full name of the account holder.
          - `account` object, required: The bank account details of the party.
            - `iban` string, required: The IBAN (International Bank Account Number) of the account holder.
        - `amount` object, required: The amount of the draft transfer, e.g. `{"currency":"EUR", "value":"100.00"}` if you would want to transfer €100.00. Only `EUR` is supported.
          - `currency` string, required: A three-character ISO 4217 currency code.
          - `value` string, required: A string containing an exact monetary amount in the given currency.
        - `description` string, nullable: A short description of the draft transfer. Once approved, this will appear on the bank statement of both the debtor and creditor.
        - `scheduledExecutionDate` string, date, nullable: The date on which the resulting transfer will be executed, once approved. Defaults to same-day if omitted, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date format.
        - `status` string, required: The status of the draft transfer. Possible values: `pending-review` `approved` `declined`
        - `statusReason` object, nullable: The reason for the draft transfer's current status. `null` unless `status` is `declined`.
          - `code` string, required: A machine-readable code that indicates the reason for the draft transfer's current status. Possible values: `deleted-by-creator` `declined-by-initiator` `account-closed`
          - `message` string, required: A human-readable explanation of the status reason. For `declined-by-initiator`, this includes the initiator's free-text reason when they provided one.
        - `createdAt` string, required: The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `approvedAt` string, nullable: The date and time the draft transfer was approved, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `status` is `approved`.
        - `declinedAt` string, nullable: The date and time the draft transfer was declined by the initiator, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `statusReason.code` is `declined-by-initiator`.
        - `deletedAt` string, nullable: The date and time the draft transfer was deleted via the [Cancel draft transfer](cancel-draft-transfer) endpoint, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `statusReason.code` is `deleted-by-creator`.
        - `testmode` boolean, nullable: Whether to create the entity in test mode or live mode. Most API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
        - `_links` object, required: Links to related resources.
          - `self` object, required: The URL to this draft transfer.
            - `href` string
            - `type` string
  - `_links` object, required: An object with several relevant URLs. Every URL object will contain an `href` and a `type` field.
    - `self` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.
    - `documentation` object, required: In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.
    - `entity` object: The API resource URL of the entity that this event belongs to.
      - `href` string, required: The actual URL string.
      - `type` string, required: The content type of the page or endpoint the URL points to.

## Other responses

- `404`: No entity with this ID exists.
- `429`: Rate Limit has been reached.

---

[API](https://skmtc.dev/mollie/apis/mollie-connect.md) - [All operations](https://skmtc.dev/mollie/apis/mollie-connect/llms.txt) - [OpenAPI document](https://skmtc.dev/mollie/apis/mollie-connect/revisions/65271e79a786?raw)
