# Manage payment methods

> Save a card or another payment method, choose which one is your default, and remove methods you no longer use.

Source: https://docs.coritan.com/billing/payment-methods/

In the dashboard:

- /dashboard/billing/methods: https://www.coritan.com/dashboard/billing/methods

A saved card or PayPal account lets Coritan charge renewals and automatic top-ups without you. You can still pay each invoice yourself without one. Manage your methods on the **Payment methods** tab of **Billing**, which also holds the auto-pay setting and [automatic top-up](/billing/automatic-top-up/).

## Before you begin

- Sign in to the [dashboard](https://www.coritan.com/dashboard).
- Have the card or PayPal account to hand. The ways to save a method depend on your billing country ([Currencies and countries](/billing/currencies-and-regions/#your-billing-country)).

## Save a payment method

1. In the sidebar, select **Billing**, then the **Payment methods** tab.
2. Select **Add payment method**.
3. If the dialog lists more than one **Kind of payment method**, choose one.
4. Leave **Use this for renewals and top-ups** ticked to make the method your default. Clear it to save the method without making it the default.
5. Finish for the kind you chose:
   - For a card, select **Enter card details**, enter the card and select **Save card**. Your bank may ask you to confirm.
   - For PayPal, select the PayPal button, sign in to PayPal in the window that opens and approve future payments. You stay on the page.
   - For any other provider, select the button that starts with `Continue to`, complete the provider's page, and it brings you back to the **Payment methods** tab.

Coritan does not charge you when you save a method. Your bank may show a small authorisation that drops off.

## Change your default method

Your default method is the one marked `Default`. Coritan charges it for renewals and automatic top-ups. To change it, select **Make default** on another method.

## Remove a payment method

1. Select **Remove…** on the method.
2. Read the dialog and select **Remove payment method**.

Coritan stops charging the method. If it was your default, make another method the default before your next renewal; otherwise Coritan charges the method you saved most recently.

## Turn auto-pay on or off

The card at the top of the tab says whether auto-pay is on. Select **Turn off auto-pay** or **Turn on auto-pay** to change it. Auto-pay is on for new accounts.

> [!IMPORTANT]
> Turning auto-pay off does not stop automatic charges at the moment. Coritan still takes each renewal invoice from your credit first and then charges your saved methods. To pay every renewal yourself, remove your saved methods and keep your balance at zero.

## Result

A message confirms each change, for example `Visa ending in 4242 saved.`, `Visa ending in 4242 is now your default.` or `Payment method removed.` Each saved method shows its name, its expiry date (such as `Expires 08/2029`) or email address, and the date you added it.

Adding a method does two more things:

- Any renewal invoice still waiting for payment moves to the new method for its next try.
- Retries that stopped because your bank refused a card start again with the new method ([Failed payments and suspended services](/billing/failed-payments/)).

A card you pay with in the dashboard also appears in your saved methods. It becomes the default when you have no default yet.

## Troubleshooting

**No way to pay is available right now**
: Nothing is set up to save a payment method for your country. [Contact support](/support/).

**Could not start adding a payment method**
: The provider did not start the setup. The message under it gives the reason. Try again, or choose another kind of method.

`The bank did not approve the card.`
: Your bank refused the check. Nothing was saved. Try another card.

`You cancelled adding the payment method.`
: You left the provider's page before finishing. Nothing was saved.

`Back from the payment provider. If the method was approved it appears below shortly.`
: The dashboard could not tell whether the provider approved the method. Reload the tab after a minute.

**Could not confirm the payment method**
: The provider approved the method but Coritan could not save it. Add it again.

Two methods show `Default`
: Each payment provider keeps its own default, so a card and a PayPal account can both be marked `Default`. Coritan then cannot choose between them for renewals and automatic top-ups. Remove the one you do not want charged and add it again with **Use this for renewals and top-ups** cleared.

**Could not change auto-pay**
: The setting did not save. Try again.

## Related

- [Keep your credit topped up](/billing/automatic-top-up/)
- [Pay an invoice](/billing/invoices/)
- [Failed payments and suspended services](/billing/failed-payments/)

## With the API

### List your methods

[`GET /payments/methods`](/api/reference/client/payments/#op-get-api-v1-payments-methods) lists your saved methods, the default first and then the newest:

```bash
curl https://api.coritan.com/api/v1/payments/methods \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

```json
[
  {
    "id": 812,
    "gateway_name": "stripe",
    "gateway_config_id": 3,
    "currency": "USD",
    "method_type": "card",
    "display_label": "Visa ending in 4242",
    "brand": "visa",
    "last4": "4242",
    "expires_month": 8,
    "expires_year": 2029,
    "email": null,
    "is_default": true,
    "is_active": true,
    "created_at": "2026-09-01T10:20:00"
  }
]
```

`id` is what you send as `payment_method_id` when you [pay an invoice](/billing/invoices/#pay-with-a-saved-method) or [add credit](/billing/add-credit/#with-the-api). `gateway_name` is the provider account that holds the method, and `currency` is the currency automatic charges to it are made in. `method_type` is `card`, `paypal` or another kind, such as `bank_debit` or `wallet`.

### Save a method

Saving a method takes two calls, with a browser step between them for the cardholder:

1. Start with [`POST /payments/methods/setup`](/api/reference/client/payments/#op-post-api-v1-payments-methods-setup). Send `return_url` and `cancel_url`, where the provider sends the payer back. `gateway_name` picks the provider account; leave it out and Coritan picks one for `currency` (default `USD`) and your billing country. `country_code` overrides the billing country for that choice.
2. Finish the payer's step. For a card, the answer's `client_secret` is for Stripe.js `confirmSetup` in a browser. For PayPal, `session_id` is the setup token the payer approves. For other providers, send the payer to `redirect_url`.
3. Call [`POST /payments/methods/confirm`](/api/reference/client/payments/#op-post-api-v1-payments-methods-confirm) with `gateway_name`, `session_id` (the SetupIntent id for a card, or the approved PayPal token) and `set_as_default`. Send `currency` to choose the currency automatic charges use; it defaults to `USD`.

```bash
curl -X POST https://api.coritan.com/api/v1/payments/methods/setup \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"gateway_name": "stripe", "return_url": "https://www.coritan.com/dashboard/billing/methods", "cancel_url": "https://www.coritan.com/dashboard/billing/methods"}'
```

```json
{
  "redirect_url": null,
  "client_secret": "seti_1Qexample_secret_example",
  "session_id": "seti_1Qexample",
  "requires_redirect": false,
  "gateway_name": "stripe",
  "currency": "USD"
}
```

The confirm call answers with the saved method, in the same shape as the list. Both calls answer `400` with the reason when the provider cannot save a method, for example `No gateway account available for EUR`.

### Change the default or remove a method

[`PUT /payments/methods/{method_id}/default`](/api/reference/client/payments/#op-put-api-v1-payments-methods-method-id-default) makes a method the default and answers `{"message": "Default payment method updated"}`. It clears `is_default` only on your other methods from the same provider, as the dashboard does.

[`DELETE /payments/methods/{method_id}`](/api/reference/client/payments/#op-delete-api-v1-payments-methods-method-id) removes a method from Coritan and from the provider, and answers `{"message": "Payment method removed"}`. Both answer `404` with `Payment method not found` for a method that is not yours.

### See which providers can take a payment

[`GET /payments/payment-config`](/api/reference/client/payments/#op-get-api-v1-payments-payment-config) lists the provider accounts that can take a payment in a currency, as the dashboard's payment dialogs use it. It takes `currency` (default: your account's currency) and `country` (default: your billing country), and answers with `currency`, `country` and `accounts`. Each account has its `name`, `adapter` (`stripe`, `paypal` or another provider), `display_name`, the `method_types` it offers, whether it can save a method (`supports_tokenization`), charge a saved one (`supports_merchant_charge`) or run a checkout page (`supports_customer_checkout`), and the public keys a browser needs in `public_config`. The account for your country comes first, marked `preferred_for_country`.

[`GET /payments/gateways`](/api/reference/client/payments/#op-get-api-v1-payments-gateways) with `currency` lists the accounts that can save a method in that currency, in the same shape. Without `currency` it lists every provider with what it supports.

### Change the auto-pay setting

Send `auto_pay_enabled` to [`PATCH /payments/preference`](/api/reference/client/payments/#op-patch-api-v1-payments-preference). [`GET /payments/preference`](/api/reference/client/payments/#op-get-api-v1-payments-preference) returns it with your currency and country ([Currencies and countries](/billing/currencies-and-regions/#read-or-change-your-currency-and-country)). The setting has the limit described above.

```bash
curl -X PATCH https://api.coritan.com/api/v1/payments/preference \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"auto_pay_enabled": false}'
```

## API

- `GET /api/v1/payments/methods`: List payment methods (https://docs.coritan.com/api/reference/client/payments/#op-get-api-v1-payments-methods)
- `POST /api/v1/payments/methods/setup`: Setup payment method (https://docs.coritan.com/api/reference/client/payments/#op-post-api-v1-payments-methods-setup)
- `POST /api/v1/payments/methods/confirm`: Confirm payment method (https://docs.coritan.com/api/reference/client/payments/#op-post-api-v1-payments-methods-confirm)
- `PUT /api/v1/payments/methods/{method_id}/default`: Set default payment method (https://docs.coritan.com/api/reference/client/payments/#op-put-api-v1-payments-methods-method-id-default)
- `DELETE /api/v1/payments/methods/{method_id}`: Remove payment method (https://docs.coritan.com/api/reference/client/payments/#op-delete-api-v1-payments-methods-method-id)
- `GET /api/v1/payments/payment-config`: Eligible gateway accounts + non-secret public config for embedded UIs (https://docs.coritan.com/api/reference/client/payments/#op-get-api-v1-payments-payment-config)
- `GET /api/v1/payments/gateways`: List live gateway accounts, optionally filtered by pay currency (https://docs.coritan.com/api/reference/client/payments/#op-get-api-v1-payments-gateways)
- `GET /api/v1/payments/preference`: Get payment preference (https://docs.coritan.com/api/reference/client/payments/#op-get-api-v1-payments-preference)
- `PATCH /api/v1/payments/preference`: Update payment preference (https://docs.coritan.com/api/reference/client/payments/#op-patch-api-v1-payments-preference)
