GuestLens Payments

Run your site

Payments

Hosts pay you once for each plan. GuestLens supports three ways to pay. Turn on one, two, or all three under Payments in the admin.

Way to payHow it works
Card, through StripeThe host is sent to Stripe's own payment page. Card numbers never touch your server, which keeps you out of PCI scope.
PayPalThe host is sent to PayPal to approve the payment, and the money is taken when they come back.
Bank transferThe host sees your bank details, sends the money, and uploads a receipt. You approve it by hand.

Until one of these is on, hosts can only take a free plan, and the admin Overview reminds you.

Set up the ways to pay

Scroll down the Payments screen to Ways to pay.

The Ways to pay card with the currency, the Stripe, PayPal, and Bank transfer sections, and the save button.
Admin, Payments, Ways to pay.
  1. Currency: three letters, such as USD or EUR. Your payment service must accept it. It is used for every new purchase.
  2. Stripe: turn it on and paste your keys. See below.
  3. Webhook URL: the address you paste into Stripe. Each gateway has its own, with a Copy button.
  4. PayPal: turn it on and paste your app details. See below.
  5. Bank transfer: turn it on and type the bank details hosts should see.
  6. Save payment settings. All keys are stored encrypted.

Stripe

  1. Sign in to your Stripe Dashboard. Open Developers, then API keys, and copy the Secret key. It starts with sk_live_ (or sk_test_ for testing).
  2. Paste it into Secret key in GuestLens.
  3. In Stripe, open Developers, then Webhooks, then Add endpoint. Paste the Webhook URL that GuestLens shows.
  4. Choose the events checkout.session.completed and charge.refunded, and save.
  5. Stripe now shows a Signing secret that starts with whsec_. Paste it into Signing secret in GuestLens. Without it, GuestLens refuses every message from Stripe.
  6. Tick Let hosts pay by card and save.

PayPal

  1. Sign in to the PayPal Developer dashboard and open (or create) a REST app. Copy its Client ID and Secret into GuestLens.
  2. In the same app, scroll to Webhooks and click Add webhook. Paste the Webhook URL that GuestLens shows.
  3. Tick CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.COMPLETED, and PAYMENT.CAPTURE.REFUNDED, and save.
  4. PayPal shows a Webhook ID next to the new webhook. Copy it into Webhook ID in GuestLens. Without it, GuestLens cannot check that a message really came from PayPal, so it refuses all of them.
  5. Tick Let hosts pay with PayPal.
  6. Leave Test mode (sandbox) on while you test with sandbox keys. Turn it off before you sell anything, and use your live app keys. In test mode PayPal takes no real money.

Bank transfer

Type the details hosts need to pay you: the account name, the bank, the account number, and what to use as the reference. They see this on their purchase page and in an email. Bank transfer stays hidden from hosts until this box is filled in.

Webhooks sometimes do not arrive, so there is a second check. Every ten minutes, cron asks Stripe and PayPal directly about any payment that is still waiting. A host who paid gets their plan within ten minutes even if the webhook was lost. This is another reason cron matters.

All purchases

The Payments screen with this month's numbers, search filters, and a table of purchases with their status.
Admin, Payments.
  1. This month: money received, bank transfers to check, how many ways to pay are on, and the currency.
  2. Search by host, and filter by gateway and status.
  3. Each purchase: the host, plan, gateway, amount, date, and status. Open shows the details.
  4. Waiting for approval shows only the bank transfers you still need to check.
StatusMeans
Waiting for paymentThe host started paying but has not finished, or a bank transfer has not been approved yet.
Receipt uploadedA bank transfer host uploaded a receipt. Check your bank, then approve it.
PaidThe host has the plan.
FailedThe payment service refused the payment.
CanceledThe host, or you, canceled it before it was paid.
RefundedThe money went back. The host loses the events they did not use.

Approve a bank transfer

When a host uploads a receipt, the purchase shows Receipt uploaded. Open it, click Open the receipt at the top, and check that the money really arrived in your bank account.

One bank transfer purchase with what it bought, its history, its details, and the approve and cancel buttons.
Admin, Payments, one purchase.
  1. What this purchase bought: the copy of the plan taken when the host bought it.
  2. What happened: every step of this payment, with times.
  3. Actions. Approve and give the plan gives the host the plan at once and emails them a receipt. Cancel this purchase closes it without giving anything. You can add a note to either.

Refunds

Send the money back in Stripe, PayPal, or your bank. Stripe and PayPal tell GuestLens through the webhook, and the purchase is marked as refunded by itself. For a bank transfer, open the purchase and press Mark as refunded. Marking a refund only records it. It does not send any money.

Guest gifts go through the same Stripe and PayPal accounts and the same webhook addresses. There is nothing extra to set up. See Guest donations and payouts.