GoCardless
Configure GoCardless bank debit payments with Hyperswitch.
ACH, BECS, and SEPA Direct Debit define the GoCardless payment gateway route. Mandates and refunds apply to every bank debit method. Capture stays automatic or sequential automatic throughout.
Status and capabilities
Integration status: sandbox
Category: payment gateway
Webhook flows: mandates, payments, refunds
bank debit
ACH Direct Debit
supported
supported
automatic, sequential automatic
USA
USD
bank debit
BECS Direct Debit
supported
supported
automatic, sequential automatic
AUS
AUD
bank debit
SEPA Direct Debit
supported
supported
automatic, sequential automatic
30
7
Activate GoCardless with Hyperswitch
Before you start
Create a GoCardless sandbox account.
Sign in to the Hyperswitch control center or create your Hyperswitch account.
In the GoCardless dashboard, go to Developers > Create > Access Token and create or copy your Access Token.
Enable the same payment methods in GoCardless and in your Hyperswitch connector configuration.
To connect GoCardless to your Hyperswitch account, follow Activate a connector on Hyperswitch, then return here for what GoCardless supports.
Connector-Specific Notes
Hyperswitch sends GoCardless-Version: 2015-07-06 on connector requests. This pins the API version used by the implementation. See GOCARDLESS_VERSION.
Authentication
Provide an <access token>. The HeaderKey mapping assigns api_key to the access token, and every connector request sends Authorization: Bearer <access token>. See GocardlessAuthType::try_from() and get_auth_header().
Webhooks
Configure a <webhook signing secret> for source verification. Hyperswitch reads a hex-encoded signature from Webhook-Signature and verifies HMAC-SHA256 over the raw request body using the configured merchant_secret. See get_webhook_source_verification_signature() and verify_webhook_source().
The connector processes 11 payment action values:
created
Payment is processing
customer_approval_granted
Payment is processing
customer_approval_denied
Payment fails
submitted
Payment is processing
confirmed
Payment succeeds
paid_out
Payment succeeds
late_failure_settled
Payment fails
surcharge_fee_debited
No status update
failed
Payment fails
cancelled
Payment fails
resubmission_required
No status update
Because WebhookAction is untagged and tries payment actions first, refund webhooks with actions created or failed, and mandate webhooks with actions cancelled, created, customer_approval_granted, failed, or submitted, are processed as payment events regardless of resource_type.
The remaining 3 refund actions and 9 mandate actions reach their resource-specific effects:
Refunds
paid
Refund succeeds
Refunds
refund_settled
No status update
Refunds
funds_returned
No status update
Mandates
customer_approval_skipped
No status update
Mandates
active
Mandate becomes active
Mandates
transferred
No status update
Mandates
expired
Mandate is revoked
Mandates
resubmission_requested
No status update
Mandates
reinstated
Mandate becomes active
Mandates
replaced
No status update
Mandates
consumed
Mandate is revoked
Mandates
blocked
No status update
The wire values use snake_case in PaymentsAction, RefundsAction, and MandatesAction. Their effects come from get_webhook_event_type().
Source reference
The connector implementation is gocardless.rs.
Last updated
Was this helpful?

