GoCardlessDeveloper Docs
Create a sandbox account

Create an outbound payment#

View as Markdown

There are two types of outbound payments you can create: regular outbound payments (sent to the recipient you specify) and withdrawals (transferred to your verified business bank account).

Regular outbound payments#

Let's create your first outbound payment. At a minimum, you need to specify the following details:

  • amount in minor units (e.g., pence for GBP, cents for EUR)
  • scheme — the payment scheme you want to use
  • recipient_bank_account — your customer bank account ID

Here's an example to guide you:

POST https://api.gocardless.com/outbound_payments HTTP/1.1
{
  "outbound_payments": {
    "amount": 10000,
    "scheme": "faster_payments",
    "description": "Affiliate Program Payout – January",
    "links": {
      "recipient_bank_account": "BA0001AA111AAA"
    }
  }
}

Withdrawals#

Withdrawals are essentially regular outbound payments — they follow the same lifecycle, events, creation and cancellation process, and other behaviours. The only difference is that withdrawals are sent to your nominated (and verified) bank account. A separate endpoint is provided for convenience, as you don't need to specify a recipient.

Withdrawals are useful when you wish to move funds out of your Payment Account. This is particularly relevant for organisations using the Funding from Collections model, where payouts from Collections accumulate in your Payment Account unless a withdrawal is made.

Here's an example of creating a withdrawal:

POST https://api.gocardless.com/outbound_payments/withdrawal HTTP/1.1
{
  "outbound_payments": {
    "amount": 10000,
    "scheme": "faster_payments",
    "description": "Surplus Payout January"
  }
}

Scheduling future-dated outbound payments#

In the standard scenario for instant schemes such as Faster Payments, your outbound payment is sent immediately and typically reaches the recipient's bank account within seconds (in rare cases it may take up to a few hours).

To schedule a payment for a specific future date, set the execution_date field:

POST https://api.gocardless.com/outbound_payments HTTP/1.1
{
  "outbound_payments": {
    "amount": 10000,
    "scheme": "faster_payments",
    "description": "Affiliate Program Payout – January",
    "execution_date": "2025-01-01",
    "links": {
      "recipient_bank_account": "BA0001AA111AAA"
    }
  }
}

What's next?#