> ## Documentation Index
> Fetch the complete documentation index at: https://firespark.cloud/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Activate a payment method

> Turn a payment method on for a merchant: credentials, environment, rules, and where it applies.

Activating a method creates a **payment** for your merchant. The catalog of providers and methods is shared by every merchant; your payment holds your credentials and rules.

## Before you start

* A dashboard role that can manage payments.
* The method must be listed as available in [Supported payment methods](https://firespark.cloud/docs/integrations/payments/index.md).
* For providers other than cash: a contract with the provider and the credentials they issued. Each method's page lists the exact fields.

## Create the payment

**1. Open Payments**

In the dashboard, open your merchant and go to **Payments**, then create a new payment.

**2. Pick the integration**

Choose the provider and method.

**3. Enter the connection settings**

Fill in the fields the method asks for. Secret fields (private keys, webhook signatures, and any field whose name starts with `secret_`) are stored on Fire spark and never sent to apps, web, or kiosks.

**4. Set availability**

Choose the stores, channels, and fulfillment types where the method applies, and any amount conditions.

## Optional settings

These keys work for every method. Leave them out to use the defaults.

| Setting | What it does |
| - | - |
| `provider_environment` | `sandbox` or `production`. By default it follows the merchant environment: production merchants use the provider's production, the rest use sandbox. |
| `runtime.timeout_ms` | How long to wait for the provider before treating the attempt as unknown. |
| `runtime.interaction_timeout_ms` | How long to wait for the customer on each terminal prompt. |
| `runtime.max_attempts` | Retries for errors marked retryable (1 to 10). |
| `runtime.qr_ttl_ms` | How long a QR or pending wallet payment stays valid. |
| `runtime.batch_close_at` | Daily terminal batch close time, `HH:MM`. |
| `installments` | `enabled`, the allowed `options` (number of installments), and `types` when the provider has several. |
| `charge_currency` | Charge in a currency different from the order's (three letters). |
| `exchange_rate` | With `charge_currency`: `{ "source": "manual", "rate": 36.5 }` or `{ "source": "provider" }`. The rate is fixed per attempt and stored on the intent. |

## Provider webhooks

When a method uses webhooks, configure this URL in the provider's portal:

```
https://firespark.cloud/api/webhooks/payments/{provider}
```

`{provider}` is the provider id, for example `mercadopago`. Fire spark verifies the signature with the webhook secret you entered in the connection settings. The method's page says whether it needs a webhook.

## Next

> [card] [Use payments in the SDK](https://firespark.cloud/docs/guides/payments/use-payments-in-the-sdk.md)
>
> Charge orders from your channel

> [card] [Configure a device](https://firespark.cloud/docs/guides/payments/configure-a-device.md)
>
> Terminal settings for each kiosk


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.