QloApps Hosting
Talk to Sales

QloApps Marketplace Stripe Payment Gateway

The QloApps Marketplace Stripe Payment Gateway lets guests pay for bookings by card through Stripe, and splits each payment between the hotel sellers and the admin. It adds a Stripe settings page, a Manage Stripe page for each seller, a Stripe payment option at checkout, and a Transactions list in the Back Office. You can try it first in the module demo. The module removes the need to transfer each seller’s share of a booking by hand, so it saves the admin time and keeps the payout records accurate.

NOTE: Before buying this module, visit Stripe’s global availability page to confirm that the Stripe payment gateway is available in your country.

NOTE: This module needs the QloApps Marketplace module installed first, and a Stripe account with Connect enabled. Sellers must connect their own Stripe account before guests can pay for their room types with Stripe. The currency of your Stripe account (for example USD) must also be installed in QloApps under Localization › Currencies, or seller transfers fail. See Currency Requirement below.

  • Accept card payments for bookings on the booking website through Stripe Checkout
  • Enable or disable the Stripe payment method, and switch between Test Mode and Live Mode, from one settings page
  • Let each seller connect their own Stripe account from the Manage Stripe page
  • Split each payment in real time into the admin commission and the seller earnings, as per the commission you set
  • Transfer the seller’s share straight to the seller’s Stripe account and keep the admin commission in the admin’s account
  • Hide the Stripe option at checkout when a seller in the cart has not connected Stripe
  • List every Stripe transaction in the Back Office with order, customer, amount, and payment status
  • Show a seller-wise commission table for each transaction
  • Show the Stripe transaction and transfer ID on each booking’s order page

Get the module ZIP from the Webkul store. Install the Marketplace module before you install this one. If it is missing, QloApps shows “First you need to install marketplace module.” and stops the install.

  1. In the Back Office go to Modules and Services › Manage Modules and click Add a new module.
  2. Choose the module ZIP under Module file, then click Upload this module.
  3. Find QloApps Marketplace Stripe Payment Gateway in the list and click Install. Confirm the install when QloApps asks.
Adding a new module in Modules and Services

Then, after the install, the module shows in the list with its version and a Configure button.

QloApps Marketplace Stripe Payment Gateway in the modules list

The install adds a Marketplace Stripe Payment menu with two entries, Transactions and Configuration. Configuration opens the settings page of the module.

Go to Marketplace Stripe Payment › Configuration. You can also open Modules and Services › Manage Modules and click Configure next to the module. Both open the same Stripe Configuration page.

A note at the top says: “Ensure that all countries associated with Admin are installed in the PMS.”

Set the fields in this order:

  • Enabled: turns the Stripe payment option on or off for guests. It is off until you set it to Yes.
  • Select Mode: choose Test Mode to try the module and its functions, or Live Mode for real transactions.
  • API Secret Key: enter the secret key from your Stripe account.
  • API Publishable Key: enter the publishable key from your Stripe account.
  • API Client Id: enter the client ID from your Stripe account.

The page shows the key fields for the mode you pick, and their labels include Test or Live. Then click Save. The module checks the keys with Stripe before it saves them.

QloApps Marketplace Stripe Payment Gateway general configuration

The admin must have an account on stripe.com. Without one, you cannot get the API keys and client ID that the module needs. If you are new to Stripe, create your account first, then follow these steps.

QloApps connects to Stripe in two ways. The admin’s API keys let the module take payments and make transfers. Stripe Connect with OAuth lets each seller link their own Stripe account. Set up both in your Stripe dashboard before you save the QloApps settings.

  1. Sign in to the Stripe dashboard.
  2. Click the API Keys option (under Developers).
  3. Here you find both the publishable key and the secret key. Click Reveal test keys to see the secret key.
  4. Switch between test mode and live mode in Stripe to get the keys for each mode.
API Keys option in the Stripe Developers page
Publishable key and secret key on the Stripe API keys page

NOTE: Use the test keys if you use the module in Test Mode. Otherwise, use the live keys if you use it in Live Mode.

You paste these into API Publishable Key and API Secret Key in QloApps.

  1. In the Stripe dashboard, click the Settings icon at the top right and choose Settings from the dropdown.
  2. In the Connect section, click Settings.
  3. Open the OAuth settings, which older Stripe dashboards call the Integrations section. In the current dashboard this is Connect › Onboarding options, on the OAuth tab.
  4. Copy the client ID.
  5. Switch on Enable OAuth. The switch is labelled OAuth for Stripe Dashboard accounts. Without it, sellers cannot connect their accounts.

You paste the client ID into API Client Id in QloApps.

Settings icon in the Stripe dashboard
Settings option in the Connect section of Stripe product settings
Client ID in the Stripe integration settings
Stripe Connect OAuth settings with Enable OAuth and the redirect URI

After you get the client ID, add the redirect URL so that Stripe can authorise the seller connections.

  1. On the same OAuth settings page, find Redirects and click Add URI.
  2. Enter the redirect URL:

https://yourwebsite.com/module/qlompstripepayment/stripeconnect

NOTE: Replace yourwebsite.com with the domain of your website, including any folder it is installed in. If your site does not use friendly URLs, use https://yourwebsite.com/index.php?fc=module&module=qlompstripepayment&controller=stripeconnect instead. The easiest check is to sign in as a seller, open Manage Stripe, and copy the address from the browser.

  1. Save the URI and mark it as the Default one.
Redirect URL option in the Stripe OAuth settings

The address must match exactly, because after a seller authorises the connection, Stripe sends them back to this URL with a code. The Manage Stripe page then uses that code to finish the connection. If the URL is missing or different, Stripe refuses the connection and the seller stays on Connect with Stripe. The URL also has to use HTTPS in live mode.

Then go back to Marketplace Stripe Payment › Configuration. Paste the publishable key, the secret key, and the client ID for the mode you picked, then click Save. When Stripe accepts the secret key, the page saves the values.

Each seller connects their own Stripe account. Sellers need an approved marketplace seller account, and the Enabled switch must be Yes.

  1. Sign in to the booking website as the seller and open the Marketplace menu.
  2. Click Manage Stripe. The same link shows in My Account.
  3. Click Connect with Stripe.
  4. Sign in to Stripe and authorise the connection.
Manage Stripe page for a seller who has not connected Stripe

As a result, when Stripe sends the seller back, the page shows Connected with Stripe account. It also shows two buttons:

  • Disconnect removes the connection. The seller stops receiving Stripe transfers until they connect again.
  • Manage Stripe opens the seller’s Stripe dashboard on the Stripe site.

However, if the same Stripe account is already linked to another seller, the page shows “User email already exist! Please try with another stripe account.”

Manage Stripe page after the seller has connected Stripe

Also, if the admin has not saved an API Client Id for the active mode, the page shows “Admin’s Stripe client Id is not configured” instead of the button.

A guest adds rooms to the cart and goes to the payment step.

  1. At the payment step, the guest chooses Stripe Payment Gateway.
  2. Stripe Checkout opens with the total of the cart. The guest pays by card.
  3. After the payment, QloApps creates the booking and shows the order confirmation page.
Choosing Stripe Payment Gateway at the payment step
Stripe Checkout page for the booking total
Order confirmation after a Stripe payment

Some rules apply to the payment:

  • The Stripe option does not show when a seller in the cart has not connected Stripe, and when the currency of the cart is not enabled for the module.
  • However, Stripe has a minimum charge. For USD it is 0.50, for GBP it is 0.30, for DKK it is 2.50, and for JPY it is 50. When the total is below the minimum, the guest sees an error and Stripe does not open.
  • When the booking uses an advance payment, the guest pays the advance amount and the transaction gets the status Partial Payment. A full payment gets the status Completed.
  • When the guest cancels on the Stripe page, they return to the order page with a notice and the cart stays as it was.

Stripe makes each seller transfer in the currency of the admin’s Stripe balance, for example USD. When a guest pays in a different currency, the module converts the seller’s share into the Stripe currency by using the exchange rates in QloApps. For that, the Stripe currency must be installed in QloApps.

  1. Go to Localization › Currencies.
  2. Check that the currency of your Stripe account is in the list, for example USD. Add it if it is missing.
  3. Set its exchange rate against your default currency.

If the Stripe currency is not installed, QloApps cannot convert the amount. Stripe still takes the guest’s payment and QloApps still creates the booking, but the seller transfer fails and the full amount stays with the admin. The order then shows Not Paid in its Stripe panel. Similarly, the same check applies to the minimum charge: for a currency that Stripe does not list, the module converts the total to USD, so USD needs to be installed too. The conversion is not needed when the guest pays in the same currency as the Stripe account.

After Stripe takes the payment, the module transfers each seller’s share to the seller’s Stripe account. The admin commission stays in the admin’s Stripe account. For a cart with rooms from the admin and from sellers, the admin keeps the amount for the admin’s own rooms and the commission.

If a transfer fails, for example because the Stripe currency is not installed in QloApps, or a seller has no Stripe connection by then, the amount for that seller stays with the admin and the order shows Not Paid in its Stripe panel. The admin then pays the seller outside the module.

Go to Marketplace Stripe Payment › Transactions. The list has these columns:

  • Order reference, with a link to each order
  • Transaction ID, the Stripe charge ID
  • Customer Info, with the email and a link to the customer
  • Amount
  • Payment Status: Completed or Partial Payment
  • Date Add

Use the filter row to search by any column, then click Search.

Stripe transactions list in the Back Office

Click View on a row to open Transaction details. The first panel shows:

  • Mp Stripe Transaction ID and Order Reference
  • Customer Name and Customer Email
  • Transaction Date and Transaction Status
  • Total Transaction Amount
  • Admin Orders Amount, Total Sellers Amount, and Total Admin Commission

The Seller Wise Commission Distribution panel below breaks down the earnings of each seller in the transaction:

  • S.No is the serial number of the entry in the table.
  • Hotel Chain Name is the hotel or property group that the booking belongs to.
  • Seller is the seller who owns the hotel, shown with their email.
  • Admin Commission is the commission that the admin earns from that seller’s booking.
  • Seller Amount is the part that goes to the seller after the admin commission.
  • Paid Amount is the amount that Stripe has already transferred to the seller. So a value of 0.00 means the seller has not been paid by Stripe.
  • Linked orders lists the orders of this transaction. Each order ID is a link that opens the order details.
Transaction details with the seller wise commission distribution

Open the booking from Orders › Orders. A Stripe Order panel shows how that booking was paid.

For a booking that has only admin rooms, the panel shows the Transaction Id, the Transaction Amount, the Admin Order Amount, and a Complete status.

Stripe Order panel for a booking with admin rooms

However, for a booking with seller rooms, the panel shows the Seller Amount, the Admin Commission, and the Transfar Id column. A transfer ID means Stripe has paid the seller. Not Paid means no transfer was made and the admin still holds the seller’s share. A Seller Details panel on the same page lists the seller and the hotel chain.

Stripe Order panel for a booking with seller rooms

Then click the transaction ID in the panel to open the full Transaction details page.

The QloApps Marketplace Stripe Payment Gateway lets guests pay for bookings with Stripe and splits each payment between the admin and the sellers. This guide covered the install, the Stripe settings, the Stripe account setup, the seller connection, the guest payment, and the Back Office transaction and order views. Finally, we hope this guide has helped you configure and use the QloApps Marketplace Stripe Payment Gateway with confidence.

Additionally, to learn more about the functionality of QloApps, you can visit this link: All-in-One Property Management System. For technical assistance, raise a ticket at QloApps Support. In case of any query, issue, or requirement, please feel free to raise it on the QloApps Forum.

Current Module Version: 5.0.0

Supported QloApps Versions: 1.7.x

The module is compatible with PSD2.

Module Compatibility with QloApps and Marketplace Versions:

  • Module version 5.0.0 is compatible with QloApps version 1.7.0 and Marketplace version 5.0.0
  • Module version 4.0.0 is compatible with QloApps version 1.7.0 and Marketplace version 4.0.0
  • Module version 2.0.1 is compatible with QloApps version 1.6.1 and Marketplace version 2.0.0
. . .

Comment

Add Your Comment

Be the first to comment.

Start a Project




    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home