# Activating Payments

If you wish to accept online payments for your services, here are the steps to do in order to configure the payment workflow.

{% hint style="info" %}
You must have at least one service that has a price > 0 and the [payment setting](../services/settings/payments) set to **online** or **discretionary**
{% endhint %}

## Step 1

Go to **`Settings`**, open the **`Core > General`** tab.

Select the desired **currency**, and the desired payment expiration time (customers must complete the payment process within this time).

<figure><img src="https://3756443945-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FB6MFqxyFEkMr6ffOGnO0%2Fuploads%2FZgvPeHNcYs5jMEUqf5cc%2Fimage.png?alt=media&#x26;token=acfc26c5-11c2-4a20-a76c-4d988adf58b7" alt=""><figcaption></figcaption></figure>

## Step 2

Go to **`Settings`**, open the **`Payment Gateways`**  tab.

Here you can activate and configure the Payment Gateways you want to offer to your customers.

### PayPal

{% hint style="info" %}
**IMPORTANT:** in order to use PayPal without issues, your server must be SHA256, TLSv1.2 and G5 compliant.
{% endhint %}

The PayPal gateway tab is quite self-explanatory. There you can configure your payments settings providing some basic information as PayPal account email and a redirect URL when payment is done.

*   **Account email**

    All the PayPal payments will be addressed to this account.
*   **Primary e-mail (optional)**

    Payments received will be checked against this email. Use this setting if your PayPal account handles multiple email addresses and payments are not addressed to your primary one.
*   **Redirect URL**

    After a PayPal payment, the customer will be redirected to this URL. Please note: the customer can choose to skip this step, so don't assume he will necessarily land to that page.
* **Use sandbox**\
  To test the whole payment process, you can activate this option to use fake payments. Only do that if you really know what the PayPal Sandbox is, and the consequences of testing, e.g., in a localhost environment.
* **Debug (IPN)**\
  Activate it if you're experiencing issues like reservations kept in pending status after a payment is made. Once activated, you should perform a test reservation to trigger the issue, and get in touch with our support. This helps us to collect useful info about a possible failure of the PayPal IPN chain.

{% hint style="info" %}
**About the IPN chain.** What is an IPN? It is an **Instant Payment Notification** from PayPal. When a customer makes a payment with PayPal, the payment is made on the PayPal website. So, your site needs to know when the payment is done, and if it's legit.

The plugin listens for any incoming IPN callback from PayPal. In case of success, the plugin updates the relative reservation status.

PayPal introduced a very severe security standard for IPN. So, **you server must be SHA256, TLSv1.2 and G5 compliant** in order to be able to process any IPN callback. That's why in case of issues with reservations that stay in pending payment status, the reason must be investigated in your server.
{% endhint %}

### Stripe

The Stripe gateway tab is quite self-explanatory. There you can configure your payments settings providing some basic informations as Stripe secret key and publishable key, receipt and so on.

To know how to obtain the Stripe API keys:

{% embed url="https://stripe.com/docs/keys" %}
