Skip to main content
GoCardless is a bank payment provider that lets buyers authorize payments through their bank.

Sign-up

GoCardless provides a self-service sign-up for a sandbox account. To sign up for an account, visit the sign-up page and fill in the details.

Credentials

When setting up GoCardless in the dashboard, configure the following credentials, which are obtained from GoCardless:
  • Webhook secret: Optional value used to validate incoming webhooks. Create a webhook in GoCardless using the URL shown after you set up the connector.
  • Purpose code: Optional value used for AUD PayTo transactions when required by your bank.

Create access token

Find the access token in the GoCardless Admin Portal under Developers -> API Settings -> Access Tokens.
GoCardless Access Token
If there are no access tokens in the list, create a new access token by clicking Create an access token.
GoCardless Create Access Token

Supported countries

GoCardless supports transactions from buyers in the following countries:
Country codeCountry codeCountry codeCountry codeCountry codeCountry code
ATAUBEBGCHCY
CZDEESFIFRGB
HRHUIEITLUMT
NLNONZPTROSE
SKUS

Supported currencies

GoCardless supports processing payments in the following currencies:
Currency codeCurrency codeCurrency codeCurrency code
AUDCADDKKEUR
GBPNZDSEKUSD

Features

GoCardless supports the following features:
  • Payment method tokenization: Store a bank payment method for reuse.
  • Refunds: Refund transactions in full or in part.
  • Transaction sync: Receive asynchronous updates for final status changes.

Limitations

The following limitations apply:
  • USD transactions require tokenization: USD transactions use ACH by default, which does not support Instant Bank Pay. Set store=true before you create a USD transaction.
  • Purpose code required for AUD PayTo: Provide a Purpose code either as a credential (global) or a connection option (per transaction). The credential value takes precedence.
  • Concurrent refunds not supported: Submit a new refund only after the previous refund finishes processing.
  • Metadata limits: GoCardless supports up to three metadata keys. One key is reserved, so extra keys are ignored.

Integration

GoCardless supports redirect integration only. Create a transaction with a redirect payment method, then send the buyer to the approval URL.
var transaction = await client.Transactions.CreateAsync(
    transactionCreate: new TransactionCreate()
    {
        Amount = 1299,
        Currency = "GBP",
        Country = "GB",
        PaymentMethod =
            TransactionCreatePaymentMethod.CreateCheckoutSessionWithUrlPaymentMethodCreate(
                new RedirectPaymentMethodCreate()
                {
                    Method = "gocardless",
                    RedirectUrl = "https://example.com/callback",
                }
            ),
    }
);
After you create the transaction, the API response includes payment_method.approval_url and the buyer_approval_pending status. Redirect the buyer to the approval_url to approve the payment, then rely on webhooks or polling to confirm the final status.