Skip to main content

Activating Payments

To enable online payment functionality for your services, follow these steps to configure the payment workflow.

Step 1 - General price configuration

  1. Navigate to the Settings section of TheBooking plugin and open the Core > General tab. This is where you can adjust the overall settings related to pricing.

  2. Select your desired currency from the available options. This ensures that all prices displayed within the booking system are presented in the currency of your choice.

  3. Specify the desired payment expiration time. This is the duration within which customers must complete the payment process. After this time elapses, the reservation may be automatically canceled if payment has not been made.

  4. Configure the formatting options according to your preferences. This includes settings such as decimal numbers, price thousands separators, and the position of the currency symbol. Adjust these options to align with your desired formatting conventions.

Payment General Settings

Step 2 - Set the service price

To set a price for your service and configure the payment settings, navigate to the Services section of the plugin. Locate the desired service, and open its Settings panel, then navigate to the Payments tab.

Service Payment Settings

Along with the price, you will find the available payment options:

  • Online: Selecting this option requires customers to make an online payment when booking the service. If no payment is made within the specified pending time (see Step 1), the reservation will be automatically cancelled.

  • Local: If you choose this option, the plugin will not handle the payment process. Instead, you should manually mark the reservation as Paid when the payment is received locally or through another offline method.

  • Discretionary: With this setting, customers have the flexibility to choose whether to pay online or pay later/locally. They can decide their preferred payment method during the reservation process.

Step 3 - Activate one or more Payment Gateways

Navigate to the Settings section of TheBooking plugin and open the Payment Gateways tab. This is where you can manage the available payment gateways.

Choose one or more payment gateways that you want to offer to your customers during the booking process.

Each payment gateway may have specific configuration options, such as API keys or account details.

info

Please note that in order to enable payment gateways, there are a few requirements to fulfill:

  1. Price for Service: You must have at least one service that is configured with a price greater than zero. Online payments can only be processed for services with a defined price.
  2. Payment Setting: Additionally, ensure that the payment setting for the service is set to either online or discretionary. This setting determines whether online payment is required or optional for the service.

PayPal

The PayPal gateway tab offers a straightforward configuration process. Here, you can set up your payment settings by providing essential information such as your PayPal account email and a redirect URL for completed payments.

  • Account email: Specify the PayPal account email to which all payments will be addressed.
  • Primary e-mail (optional): If your PayPal account handles multiple email addresses, you can enter your primary email here. This allows payments received to be cross-checked against this specific email address.
  • Redirect URL: After a PayPal payment is completed, customers will be redirected to the specified URL. However, please note that customers have the option to skip this step, so it cannot be assumed that they will always land on that page.
  • Use sandbox: Activate this option if you wish to test the entire payment process using fake payments. It is important to exercise caution and only enable this feature if you are familiar with the PayPal Sandbox environment and understand the consequences of testing, especially in a localhost or development environment.
  • Debug (IPN): Activate this option if you encounter issues such as reservations remaining in a pending status even after a payment has been made. It is important to note that after activating this option, you must perform a test reservation to effectively observe the issue. Then, reach out to our support team, as this will help us gather useful information regarding any potential failures in the PayPal Instant Payment Notification (IPN) chain.
About the IPN chain

An IPN, or Instant Payment Notification, is a crucial component of the PayPal payment process. When a customer makes a payment using PayPal, the actual transaction occurs on the PayPal website. To ensure a seamless payment experience, the plugin needs to be notified promptly when a payment is completed and verified.

The plugin actively listens for incoming IPN callbacks from PayPal. Upon receiving a successful notification, it promptly updates the corresponding reservation status, reflecting the completion of the payment.

It's important to note that PayPal has implemented stringent security standards for IPN. To process IPN callbacks successfully, your server must meet specific requirements. It should be SHA256, TLSv1.2, and G5 compliant. These security measures ensure the integrity and security of the payment notification process.

If you encounter any issues where reservations remain in a pending payment status, it's crucial to investigate potential causes on the server-side. The strict security standards set by PayPal necessitate thorough examination of the server configuration to ensure compliance and proper processing of IPN callbacks.

Stripe

The Stripe gateway tab provides a straightforward interface for configuring your payment settings with Stripe. Within this tab, you can enter essential information such as your Stripe secret key and publishable key, as well as customize receipt options and more.

To set up Stripe payments, you'll need to obtain your Stripe secret key and publishable key from your Stripe account. These keys authenticate your integration with Stripe and allow the plugin to securely process payments.

How to obtain the Stripe API keys