A mandate is the authorization a customer gives once, letting you collect direct debit payments from their account going forward. The API handles creating that mandate, then creating payments against it on whatever schedule your business needs, one-off or recurring.
GoCardless has a sandbox environment for testing this before any real bank account is involved, and a developer API reference documenting the endpoints and webhook event types. Beyond standing mandates, it also offers an open-banking-based payment option for collecting a single payment quickly without first setting up a recurring mandate, useful for a first payment or a one-time collection where speed matters more than building a standing authorization.
Webhooks are where the real integration work tends to concentrate: a payment confirming, failing, or getting charged back, or a mandate getting created, canceled, or failing to be set up, each fires an event, and whether anything useful happens with that event is entirely up to what's built to receive it.