Configure payout schedules

Change when your merchants' funds are paid out to their verified bank account.


Datman pays out the funds in a merchant's balance to their verified bank account on a payout schedule. The schedule defines when a payout is initiated, for example every weekday at 07:00.

When you change a payout schedule, consider the merchant's settlement delay: the number of days after a payment before its funds are settled. Settlement is usually two business days (T+2). Some merchants get T+1 or T+4, depending on what is agreed when the merchant is onboarded.

Requirements

Before you begin, take into account the following requirements, limitations, and preparations.

RequirementDescription
Integration typeYou need a Datman reseller or platform integration.
API credentialsYou need your api_key, sent in the api_key header. See Authentication.
LimitationsYou can only change the schedule of merchants that belong to your reseller. The merchant must have a balance account with an active payout schedule.

How it works

Each merchant with a balance account has one active payout schedule. When the time in the schedule is reached, Datman initiates a payout from the merchant's balance to their bank account.

A payout schedule has the following details:

FieldDescription
payout_scheduleThe schedule in words, for example Every weekday at 7:00 AM. For a schedule that pays out when the balance reaches an amount, it is When balance reaches <value> <currency>.
cron_expressionThe schedule as a 5-field cron expression: minute, hour, day of the month, month, day of the week. For example, 0 7 * * 1-5 is every weekday at 07:00.
payout_timezoneThe timezone of the merchant's balance account, for example Europe/London.
settlement_delayThe settlement delay in days, as a string. For example, "2" for T+2.
sweep_idThe ID of the payout schedule.

Change a payout schedule

To change when a merchant is paid out:

  1. Get the merchant's current payout schedule. Make a GET request to Get payout schedule with the merchant's MID in the path.

    Note that every field in the response is null when the merchant has no balance account or no active payout schedule. The request does not return an error in this case.

  2. Make a POST request to Update payout schedule with the merchant's MID in the path, and the following parameter in the body:

    ParameterRequiredDescription
    cronExpressionRequiredThe new schedule as a 5-field cron expression (minute hour day-of-month month day-of-week). Textual weekdays such as MON-FRI are accepted.

    In the following example, Example Pizza Ltd wants its funds paid out every weekday at 07:00.

    Pay out every weekday at 07:00

    {
      "cronExpression": "0 7 * * 1-5"
    }

    The API Explorer has the full Update payout schedule request, with examples you can try.

  3. The response contains the payout schedule after the update, with the same fields as in step 1.

    Response - Schedule updated

    {
      "data": {
        "payout_schedule": "Every weekday at 7:00 AM",
        "payout_timezone": "Europe/London",
        "settlement_delay": "2",
        "cron_expression": "0 7 * * 1-5",
        "sweep_id": "SWPC00000000000000000000001"
      }
    }

If the request fails, the response contains an error.code:

HTTP statuserror.codeWhat to check
404NOT_FOUNDThe merchant doesn't belong to your reseller, or it has no active payout schedule.
422VALIDATION_ERRORThe cron expression is missing or isn't a valid 5-field cron expression, or the merchant has no balance account.
502UPSTREAM_ERRORThe payout schedule could not be updated. Try again later.

Track payouts

You can track the payouts of a merchant by listing them:

  1. List the payouts of the merchant, with the merchant's MID in the path. Use the limit query parameter to set the number of payouts, up to 200. The default is 50.

    The response contains the most recent payouts, newest first. For each payout, it contains:

    • total: the payout amount, in major units.
    • status: the status of the payout, for example SENT, PENDING or FAILED.
    • expected_date: the date the payout is expected.
    • payment_provider: the route the payout was sent through.

    Note that the list has no paging. Payouts from a merchant's balance account are included only when their status is SENT or FAILED.

    Response - Payouts

    {
      "data": [
        {
          "id": 778899,
          "total": 1250.75,
          "status": "SENT",
          "expected_date": "2026-10-20T00:00:00Z",
          "sort_date": "2026-10-19T07:00:12Z"
        }
      ]
    }
  2. To see totals, get the payout statistics of the merchant. The response contains, for each payout status, the number of payouts (order_count) and the total amount in major units (total_amount), for all time.

    Note that the statistics only count payouts from the merchant's balance account. Payouts made in batches are not included.

See also

On this page

Need help?

Questions about your integration, credentials or going live?

Contact supportRequest a sandbox