# PayChoice > PayChoice Payment Gateway developer documentation: card and bank payments, webhooks, tokens, the hosted payment widget and recurring billing. - [PayChoice Payment Gateway](https://developers.paychoice.com.au/index.md): Take card and bank payments, keep payment methods on file, and bill customers on a schedule — through a hosted widget or directly from your own systems. - [Environments and authentication](https://developers.paychoice.com.au/getting-started/environments-and-authentication.md): Where to send requests, how to authenticate, and which API version to use. - [Your first charge](https://developers.paychoice.com.au/getting-started/first-charge.md): From credentials to an approved test transaction, with a webhook registered to tell you the outcome. - [Choosing an integration](https://developers.paychoice.com.au/taking-payments/choosing-an-integration.md): Widget or API: which one fits your situation, and what each means for PCI scope. - [PayChoice Widget](https://developers.paychoice.com.au/taking-payments/widget.md): Embed the hosted payment page in an iframe so card and bank details never touch your systems. - [Brand settings](https://developers.paychoice.com.au/taking-payments/brand-settings.md): Style the Widget and the hosted tokenisation page to match your site. - [Charging via the API](https://developers.paychoice.com.au/taking-payments/charging-via-the-api.md): Create a charge against a card, a bank account or a stored token from your own systems. - [Webhooks](https://developers.paychoice.com.au/getting-the-result/webhooks.md): Register an endpoint, verify signatures, and handle bank settlements and missed notifications. - [Reconciliation](https://developers.paychoice.com.au/getting-the-result/reconciliation.md): Look up charges by your own reference, retrieve a charge by ID, and close the loop on anything a webhook didn't tell you. - [Tokens](https://developers.paychoice.com.au/storing-payment-methods/tokens.md): Store a card or bank account once and charge it again later without holding the details. - [Create Token page](https://developers.paychoice.com.au/storing-payment-methods/create-token-page.md): A hosted page that captures a card or bank account and returns a token to your page, without the details touching your systems. - [Refunds](https://developers.paychoice.com.au/after-the-payment/refunds.md): Refund all or part of an approved charge. - [Pre-authorisations](https://developers.paychoice.com.au/after-the-payment/pre-authorisations.md): Hold an amount on a card, then capture or release it. - [BPay](https://developers.paychoice.com.au/after-the-payment/bpay.md): Report on BPay payments received for your customers. - [Recurring billing overview](https://developers.paychoice.com.au/billing/overview.md): Customers, memberships, subscriptions, payment schedules and invoices — and the response format they share. - [Customers](https://developers.paychoice.com.au/billing/customers.md): Create, retrieve, list, edit and archive customer records. - [Payment methods](https://developers.paychoice.com.au/billing/payment-methods.md): Attach stored cards and bank accounts to a customer, set a default, and remove them. - [Memberships](https://developers.paychoice.com.au/billing/memberships.md): Reusable plans: setup fee, trial, billing cycle, minimum term and cancellation rules. - [Subscriptions](https://developers.paychoice.com.au/billing/subscriptions.md): Link a customer to a membership from a start date; archive to cancel. - [Payment schedule](https://developers.paychoice.com.au/billing/payment-schedule.md): See what a subscription will charge and when; add, edit or cancel items. - [Invoices](https://developers.paychoice.com.au/billing/invoices.md): Create and retrieve invoices, and pay one with a stored payment method. - [Dishonour fees](https://developers.paychoice.com.au/billing/dishonour-fees.md): Check whether a failed payment attracted a dishonour fee, and collect it. - [3D Secure](https://developers.paychoice.com.au/coming-soon/3d-secure.md): Cardholder authentication for online card payments. Targeted for release at the end of November 2026. - [Create a charge](https://developers.paychoice.com.au/api-reference/charges/create-a-charge.md) - [Retrieve a charge](https://developers.paychoice.com.au/api-reference/charges/retrieve-a-charge.md) - [List charges](https://developers.paychoice.com.au/api-reference/charges/list-charges.md) - [Register a webhook](https://developers.paychoice.com.au/api-reference/webhooks/register-a-webhook.md) - [Retrieve webhooks for a merchant](https://developers.paychoice.com.au/api-reference/webhooks/retrieve-webhooks.md) - [Update a webhook](https://developers.paychoice.com.au/api-reference/webhooks/update-a-webhook.md) - [Re-send notifications](https://developers.paychoice.com.au/api-reference/webhooks/re-send-notifications.md) - [Store a credit card](https://developers.paychoice.com.au/api-reference/tokens/store-a-credit-card.md) - [Retrieve a credit card](https://developers.paychoice.com.au/api-reference/tokens/retrieve-a-credit-card.md) - [Remove a credit card](https://developers.paychoice.com.au/api-reference/tokens/remove-a-credit-card.md) - [Store a bank account](https://developers.paychoice.com.au/api-reference/tokens/store-a-bank-account.md) - [Retrieve a bank account](https://developers.paychoice.com.au/api-reference/tokens/retrieve-a-bank-account.md) - [Remove a bank account](https://developers.paychoice.com.au/api-reference/tokens/remove-a-bank-account.md) - [Refund a charge](https://developers.paychoice.com.au/api-reference/refunds-and-pre-authorisations/refund-a-charge.md) - [Pre-authorise a card](https://developers.paychoice.com.au/api-reference/refunds-and-pre-authorisations/pre-authorise-a-card.md) - [Reverse a pre-authorisation](https://developers.paychoice.com.au/api-reference/refunds-and-pre-authorisations/reverse-a-pre-authorisation.md) - [Errors](https://developers.paychoice.com.au/reference/errors.md): HTTP status codes, the two error body formats, and gateway error codes. - [Charge status](https://developers.paychoice.com.au/reference/charge-status.md): The status and status_code values on charges, refunds and pre-authorisations, and where each appears. - [Testing](https://developers.paychoice.com.au/reference/testing.md): Sandbox test cards, CVV rules, and how to trigger a specific response. - [Changelog](https://developers.paychoice.com.au/reference/changelog.md): Notable changes to the PayChoice API and this documentation. ## OpenAPI Specs - [swagger](https://api-sandbox.paychoice.com.au/swagger/v5/swagger.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.