MollieAPI.Api.PayoutsAPI (mollie_api v0.1.0-20260512)

View Source

API calls for all endpoints tagged PayoutsAPI.

Summary

Functions

Cancel payout Cancel a payout. A payout can only be canceled while it has the status requested. Once the payout moves to initiated, it is too late to cancel. The canceled payout object is returned with the status set to canceled.

Create payout Request a payout from one of your balances to the balance's configured bank account. The payout will be executed on the next scheduled business day. If no amount is specified, the full available balance minus any configured balance reserve is paid out. Once the payout is created with status requested, you can cancel it via the Cancel payout endpoint, up until the payout moves to initiated. Creating a payout via the API automatically sets the balance's transferFrequency to never, pausing any previously configured automatic settlement schedule. To resume automatic settlements, update the transfer frequency via the dashboard. ### Webhooks Subscribe to the following webhook events to track payout status changes. See the Webhook Subscriptions API for details on subscribing. | Event | Description | |---|---| | payout.initiated | The payout is being executed and funds are reserved. | | payout.processing-at-bank | The payout has been submitted to the bank. | | payout.completed | The payout has been sent to the destination bank account. | | payout.canceled | The payout was canceled via the API before being submitted to the bank. | | payout.failed | The payout failed after creation, including bank rejections and post-submission cancellations. | ### Payout failure reasons A payout request may fail immediately if one of the following conditions applies: - A payout is already scheduled for the next business day for this balance. - The balance has insufficient funds. - The balance is not active. - Payouts are blocked for this organization. - The balance has queued refunds. - One of the organization's balances is below the negative balance threshold. - The payout destination (bank account) is invalid or not configured.

Get payout Retrieve a single payout by its ID.

List payouts Retrieve a list of all payouts for your organization, including payouts initiated automatically by the balance's payout schedule and payouts requested via the API or dashboard. Only payouts created on or after April 1st, 2026 are returned. The results are paginated. Use the from query parameter together with _links.next to iterate through the full result set.

Functions

cancel_payout(connection, payout_id, opts \\ [])

Cancel payout Cancel a payout. A payout can only be canceled while it has the status requested. Once the payout moves to initiated, it is too late to cancel. The canceled payout object is returned with the status set to canceled.

Parameters

  • connection (MollieAPI.Connection): Connection to server
  • payout_id (String.t): Provide the ID of the payout.
  • opts (keyword): Optional parameters
    • :testmode (boolean()): Most API credentials are specifically created for either live mode or test mode. In those cases the testmode query parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the testmode query parameter to true. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
    • :"idempotency-key" (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.

Returns

  • {:ok, MollieAPI.Model.EntityPayoutResponse.t} on success
  • {:error, Tesla.Env.t} on failure

create_payout(connection, payout_request, opts \\ [])

Create payout Request a payout from one of your balances to the balance's configured bank account. The payout will be executed on the next scheduled business day. If no amount is specified, the full available balance minus any configured balance reserve is paid out. Once the payout is created with status requested, you can cancel it via the Cancel payout endpoint, up until the payout moves to initiated. Creating a payout via the API automatically sets the balance's transferFrequency to never, pausing any previously configured automatic settlement schedule. To resume automatic settlements, update the transfer frequency via the dashboard. ### Webhooks Subscribe to the following webhook events to track payout status changes. See the Webhook Subscriptions API for details on subscribing. | Event | Description | |---|---| | payout.initiated | The payout is being executed and funds are reserved. | | payout.processing-at-bank | The payout has been submitted to the bank. | | payout.completed | The payout has been sent to the destination bank account. | | payout.canceled | The payout was canceled via the API before being submitted to the bank. | | payout.failed | The payout failed after creation, including bank rejections and post-submission cancellations. | ### Payout failure reasons A payout request may fail immediately if one of the following conditions applies: - A payout is already scheduled for the next business day for this balance. - The balance has insufficient funds. - The balance is not active. - Payouts are blocked for this organization. - The balance has queued refunds. - One of the organization's balances is below the negative balance threshold. - The payout destination (bank account) is invalid or not configured.

Parameters

  • connection (MollieAPI.Connection): Connection to server
  • payout_request (PayoutRequest):
  • opts (keyword): Optional parameters
    • :testmode (boolean()): Most API credentials are specifically created for either live mode or test mode. In those cases the testmode query parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the testmode query parameter to true. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
    • :"idempotency-key" (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.

Returns

  • {:ok, MollieAPI.Model.EntityPayoutResponse.t} on success
  • {:error, Tesla.Env.t} on failure

get_payout(connection, payout_id, opts \\ [])

Get payout Retrieve a single payout by its ID.

Parameters

  • connection (MollieAPI.Connection): Connection to server
  • payout_id (String.t): Provide the ID of the payout.
  • opts (keyword): Optional parameters
    • :testmode (boolean()): Most API credentials are specifically created for either live mode or test mode. In those cases the testmode query parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the testmode query parameter to true. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
    • :"idempotency-key" (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.

Returns

  • {:ok, MollieAPI.Model.EntityPayoutResponse.t} on success
  • {:error, Tesla.Env.t} on failure

list_payouts(connection, opts \\ [])

@spec list_payouts(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, MollieAPI.Model.ErrorResponse.t()}
  | {:ok, MollieAPI.Model.ListPayouts200Response.t()}
  | {:error, Tesla.Env.t()}

List payouts Retrieve a list of all payouts for your organization, including payouts initiated automatically by the balance's payout schedule and payouts requested via the API or dashboard. Only payouts created on or after April 1st, 2026 are returned. The results are paginated. Use the from query parameter together with _links.next to iterate through the full result set.

Parameters

  • connection (MollieAPI.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :balanceId (String.t): Return only payouts for the balance with the given ID. The value must be a valid balance token in the format bal_*.
    • :from (String.t): Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the result set.
    • :limit (integer()): The maximum number of items to return. Defaults to 50 items.
    • :sort (Sorting): Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from newest to oldest.
    • :testmode (boolean()): Most API credentials are specifically created for either live mode or test mode. In those cases the testmode query parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the testmode query parameter to true. Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
    • :"idempotency-key" (String.t): A unique key to ensure idempotent requests. This key should be a UUID v4 string.

Returns

  • {:ok, MollieAPI.Model.ListPayouts200Response.t} on success
  • {:error, Tesla.Env.t} on failure