Help Topic: Payments

Q. Payments are revenues!

Within the software, payments are sometimes referred to as revenues.  If you see the term revenues used, these are payments made by your clients.

Q. What is pay assist?

Pay assist allows you to accept 1-time payments from your clients.  When your client provides their credit card, you can use pay assist to perform the transaction.

Pay assist requires you have a Stripe account.  Stripe is free to use and very easy to set up.  If you need help with Stripe, please contact support.

Q. What is the different between add payment and add payments

When you track payments from your clients, you can do it using two methods:

  1. Add Payment: allows you to record one payment from a client
  2. Add Payments: allows you to record multiple payments from multiple clients

The two methods are the same.  You can even use the Add Payments option to add 1 payment.  You can use which ever method you like the most.

Q. How do i review the payment history of a client?

This is how you can review the service history of a specific client:

  • go to ACCOUNTING > INVOICES
  • click on the service payment icon (2nd icon listed) within the options column for the client
  • this is the payment history table

Q. How do i register a stripe account?

To register a stripe account go to the following URL:

https://dashboard.stripe.com/register

Setting Up A Stripe Account

  • Do not worry about the developer part
  • When you have created the account, you can get your Stripe keys by clicking on the API link from the main menu

Q. Where do i get my stripe keys?

If you want to use Stripe to accept online payments from your clients, here is a guide for finding your Stripe Keys.

https://docs.wpsimplepay.com/articles/setting-stripe-api-keys/

OR

When you login to Stripe, click on the API hyperlink within the main menu.  This will take you to a page where the keys can be copied and pasted.

Make sure to get the following:

  • Test Public Key
  • Test Secret Key
  • Live Public Key
  • Live Secret Key

After you have configured your Stripe keys, make sure to send a test transaction to ensure it is working.

How To Use Stripe

Q. How do I setup payment processing through Stripe?

To set up payment processing, you need to do the following first:

  1. register a stripe account
  2. get your stripe test and live keys

If you do not know how to do the above, please search the help section by selecting payments.

Now that you have a stripe account and your stripe keys you are ready to configure payment processing, do the following:

  • click on your name at the top right hand corner of the page
  • click on ACCOUNT
  • click on Online Payments
  • copy and paste your test and live public and private keys
  • make sure to place the correct key in the appropriate field!
  • choose your currency
  • click Submit

Now that you have added your stripe keys, you can make a test call to stripe to ensure everything is working.

To the right of the page you will have the opportunity to send a test transaction.  Click on the Send Test button.

If everything is working, you will get a green success message.  If you do not get a success message, please notify info@bizstim.com right away and we will investigate.

Q. How does stripe work with the program?

When you have a Stripe account, you can use it to accept online payments from your clients.

Clients can:

  • login to their accounts and make a payment
  • when they login, they will see a payment processing section on their dashboard that reveals their current balance.  All they need to do is enter their credit card information and make a payment.  They are never redirected off site.  They will be able to review and download a receipt right away

You can:

  • initiate payments on their behalf by using "Pay Assist."  You can find pay assist by going to ACCOUNTING > PAYMENTS and selecting the "Pay Assist" button
  • when you initiate a payment using pay assist, the online payment transaction is sent, and the program will record the payment automatically for you
  • you can review the receipt / pdf and print it or email it to the client if you wish

Q. What online payment options do you provide?

We provide online payment processing through:

  • Stripe
  • PayPal

Each of these payment gateways have their strength's and weaknesses.

With Stripe, you and your clients never leave the software when making payments.  Furthermore, we have a 1-click payment processing option for administrators.  If Stripe operates in your country we highly recommend it.

On the other hand, PayPal has a greater, global presence.

With PayPal, your clients are directed to PayPal to make payments to their account.  We do use Instant Payment Notifications (IPN's) to update your data when a payment is made.  If the administrator wants to initiate payments, you will have to have Virtual Terminal through PayPal.  This is a feature that is available through the PayPal website.

Q. What is allow client initiated payments for Stripe?

If you allow your clients to log into the software, and you use Stripe as your payment gateway, selecting "Allow CllientInitiated Payments," allows your clients to make payments on their account.  This is used for making payments to the account, or making payments to pending invoices.

If you do not select this option, the software will not allow payments to be made by clients.

Q. What is instant payment notifications for PayPal

Instant Payment Notifications or IPN's allows PayPal to contact the Bizstim software when a payment is received.

Payments that are initiated by your clients through the software will be processed by PayPal and the payment recorded by the software through an IPN.  This also occurs when a client makes a payment to an invoice.

If you use Virtual Terminal, you can use the IPN to track a payment against a pending invoice by providing our invoice number within the "Invoice" field on the Virtual Terminal form.

For instructions on how to setup your IPN please go to: SETTINGS > SETTINGS > ONLINE PAYMENTS.  We have detailed instructions for setting up your IPN and PayPal account with Bizstim.

Q. What payment gateway do you recommend

We recommend Stripe over PayPal because it currently provides a better user experience within the Bizstim software.

Q. How to ensure clients pre-pay for services?

If you want to have your clients pre-pay for services, you would collect the service cost ahead of time.  The software will track their account balance.  To help you manage this you have 2 options:

  1. set a minimum account balance to add a session to the calendar.  You can set this in the system setting by navigating to: SETTINGS > SETTINGS > SYSTEM >SESSION CONTROL and enable Pre-Payment of Services then place a Threshold Amount equal to 1 session.  For example, if your sessions are typically $30 you would place the number 30 for the threshold.  If the client does not meet this minimum threshold, you will not be able to add a new session
  2. set an inactive future date to the client's account.  This will automatically set the client to inactive status when the date is reached.  To set the inactive date go to: CLIENTS > CLIENTS LIST > EDIT PAGE > AVAILABILITY TAB and provide an inactive date.

You can also use the balances tool to review client balances manually.  You can find the balances tool at: ACCOUNTING > BALANCES.

From the balances pages you also have a tool called, Service Reports.  The Service Reports tool will allow you to monitor client expenditures by a specific service for a given date range.

Q. Where can i find discount codes?

To view your discount codes or to add a discount code go to:

ACCOUNTING > ACCOUNT METHODS > DISCOUNTS

Some rules that apply are:

  • "Uses" refers to the number of times a discount code can be used by a student
  • Services is optional. If services are selected the discount code can only be used when that service is chosen within the online booking tool
  • When the discount code expires it can not be applied by a student
  • A secret discount code can only be applied by the administrator and staff users
  • The "Code" or the name of the discount code must be unique. You will not be permitted to add discount codes with identical code names.
  • Administrator and staff users can apply any discount code at any time regardless of uses, expiry date or services

Q. How do i save a customer credit card to Stripe?

Saving Stripe information on your customers occurs in a couple ways:

  1. save a new customer card to Stripe
  2. save a customer ID to Bizstim that already exists in Stripe

OPTION 1: SAVE A NEW CUSTOMER CARD TO STRIPE

If you want to add a customer credit card that does not exist with stripe do the following:

  • from the main menu click on ACCOUNTING
  • from the main menu click on + Pay Assist
  • click on the credit button within the Pay Assist table under the OPTIONS column for the client
  • provide the customers credit card number, expiry date and CVC
  • the card will be saved with Bizstim and Stripe

OPTION 2: SAVE A CUSTOMER ID TO BIZSTIM THAT ALREADY EXISTS IN STRIPE

  • from the main menu click on ACCOUNTING
  • from the main menu click on + Pay Assist
  • click on the + button within the Pay Assist table under the OPTIONS column for the client
  • provide the customer id you get from Stripe. It looks like this: cus_xxxxxxxxxxxxxx
  • select the credit card brand from the drop down list
  • provide the last 4 digits of the credit card
  • the card will be saved with Bizstim

That's it.

Q. What are payment packages?

Payment packages are groups of services that are used to sell services in bulk.

For example, you may have 3 services in a tiered service group that are sold in a payment package. The first tiered service offers 1 session for $100, the second tiered service offers 10 sessions for $80 and the last tiered service offers 25 sessions for $60.

Our software makes it possible to reward your clients with lower cost services if they purchase those services in bulk.

After a payment is made you record the payment package so the software knows they have access to the lower cost service.  If they do not have access to the lower costs service, it will not be available for selection by your client or practitioner (tutor).

In the event a client has used all of their payment package, the software will alert the administrator via email that the low cost service no longer has available credit.  At this point the administrator can arrange an additional payment or assign an additional payment package.

If your clients are allowed to use the online booking tool and you have service groups active, these payment packages will be provided to them as an additional option during the payment process.  In this case, the payment will be processed, the payment added, and a payment package will be recorded.

Payment packages are not additional funds added to the account.  They are merely a record so the system knows when to alert the admin and discontinue offering the lower cost service to the client.  In this way the system is helping you to manage the various service rates you offer.

Q. How to add a payment?

You can select the client's name, add the payment amount, apply any discounts, and determine if you would like a copy of the receipt to be sent to the client's email.

The receipt will have an attached PDF of the payment and will display your large logo and business colors.  The software fully brands documents you send to your clients.

Furthermore, there are three types of payments; they include: regular payments, credits, and debits.  Credits and debits make it easy to zero out a client's balance if they are no longer seeking your services.

Billing clients and tracking payments are made easy with our software.  The process is quick and easy.

Q. How to use and integrate with gocardless

ADMINISTRATION PANEL

 Figure 1 is an image of the administration panel before the administrator has clicked the Authorize GoCardless button. The image to the right is a hyperlink and will take the administrator to the GoCardless website for more information.

 Until the Bizstim account is authorized with GoCardless, no additional information will be provided as depicted by the five tabs marked; mandates, import mandates, clone mandates, ignored mandates, and events log.

 This administration panel can be found by navigating to SETTINGS > SETTINGS > ONLINE PAYMENTS > GOCARDLESS from the main menu.

Figure 1: Administration Panel

  When GoCardless is not activated there will be a button prompt to activate GoCardless from the Pay Assist page depicted in Figure 17 for administrators.

 Staff users with the permission to manage payment gateways have a similar button but the button is disabled. Staff users do not have access to the Administration Panel for security reasons.

 As instructed by the authorization redirect flow, explained by the Partnership Guide and GoCardless API Reference, the administrator is redirected to a screen where they can sign in to an existing account or create a new account with GoCardless.

 Figure 2 depicts this sign on/sign up form hosted by Gocardless. When this form is complete the administrator is redirected back to Bizstim.

 A redirect page is hosted by Bizstim and takes the reference within the url parameters and returns a unique session token. This session token is confirmed by GoCardless and the user is shown a verification indicator as depicted in Figure 3. 

Figure 2: Connecting With GoCardless

When the administrator has provided their account information or created a new account with GoCardless they are redirected back to Bizstim. They will clearly see a message, "Bizstim is connected to your GoCardless account."

In addition, a status indicator is on the page which portrays a VERIFIED status.

At this point the MANDATES tab lists the administrators active clients. Since the account was newly linked no mandates currently exist. Mandates may exists within a pre-existing GoCardless account but until they are imported into Bizstim they are not listed here.

Each client has a label marked, "NONE" for their status as can be seen in Figure 3. 

Figure 3: Account Verified With GoCardless

There are two button above the active client list; they are: Email Template and Remove All Mandates.

The Email Template allows the administrator to create a customized email that is sent out to clients asking them to authorize the company to make withdraws from their bank account. Figure 4 show the default message sent to clients.

This template has a number of shortcodes available to help personalize the email and explain why their banking information is required.

The {LINK} shortcode is generated with a redirect flow URL taking the client to a page as depicted in Figure 7. 

Figure 4: Client Email Template

The Remove All Mandates button, when clicked, will ask the administrator if they would like to cancel all mandates with GoCardless OR cancel the mandate information within the Bizstim software only.

Removing all mandates will send an API call to GoCardless and cancel each mandate on record. A webhook URL is set up to handle any responses. All webhook responses are saved and can be audited using the EVENTS LOG. More information on the events log will follow.

Administrators may want to keep the mandate with GoCardless but delete the mandate within the Bizstim software. For example, if a client is not currently consuming services it may be better to prevent payments from being made to their account.

If a client mandate is deleted within the software but kept with GoCardless the mandate will be present within the IMPORT MANDATES tab. The administrator can leave the account in the import list or they can choose to ignore the mandate and move it to the IGNORED MANDATES list.

To send an email request to their client the administrator need only click the orange email icon from within the OPTIONS column. When this icon is clicked, the NONE label found within the STATUS column is changed to an EMAILED label. You can see this in Figure 5. 

Figure 5: Mandates List and Features

CLIENT PERSPECTIVE

Figure 6 is an example of the email sent to a client asking them to provide their direct debit information for future payments.

When the client clicks on the setup link they are directed to a Gocardless form as seen in Figure 7. 

Figure 6: Client Direct Debit Setup Email

The EMAILED label from Figure 5 will remain until the setup link is clicked. This helps the administrator to remember which clients have received a setup email and which clients have not.

No payments can be initiated by clients or the administrator until a mandate has been created and saved within the Bizstim software.

Figure 7 depicts a typical form required by a client before payments can be made. This form is hosted by GoCardless and will change based on the location of the client.

Figure 7: Direct Debit Setup Form

When the client has filled out this form they are directed to a review page where they are asked to confirm the information about their bank account. Figure 8 provides an example of this form.

If the information in Figure 8 is accurate the client clicks on the green CONFIRM button. 

Figure 8: Review & Confirm Banking Information

The client is redirected to a white-labeled, branded page hosted by Bizstim. See Figure 9 below. The administrators large logo and business contact information is provided on this page.

The branding and logo will be familiar to the client. Within the page the client will see the following message:

 "Thank you. Your direct debit information has been confirmed."

The client can either leave the page, close the browser or click on the link to

Figure 9: Confirmation Page For Direct Debit Setup

ADMINISTRATION PANEL PART 2

We are back to the administrator's panel.

Now the client has confirmed their banking information and a mandate has been sent via a webhook.

When the webhook is processed you will see the EMAILED label change to CREATED. You can see this process depicted in Figure 10 below.

Below the green outlined label, the unique mandate code can be viewed. The mandate ID is shown to help the administrator locate this mandate from within the GoCardless dashboard, if they so desire.

When a mandate achieves the end of its confirmation process and is ACTIVE, the green outlined label will turn a solid green.

If at any time the mandate is canceled by the client or their banking institution, the mandate will be deleted from Bizstim and a NONE status label will be added. There is a webhook method written to handle canceled mandates.

See Figure 11: Mandates Webhook for a visual example how a resource type of "mandates" is handled. 

Figure 10: Mandate Status

For mandates that are successful, the mandate information is saved to the Bizstim database. For those mandates that have a problem, the mandate is deleted. In both cases the administrator is contacted via email. Figure 11 is an example of an email sent to the administrator.

Furthermore, all webhooks, regardless of their resource type or event action are logged and can be found within the EVENTS LOG tab.

When a user upgrades their GoCardless account and receives a new mandate ID, the mandates webhook is listening for the replaced event action.  When the replaced event action occurs the software will locate the old mandate ID and replace it with the new mandate ID.

When a mandate status changes the administrator is sent an email like the one shown in Figure 11.

The client email template and the email shown below are the only emails sent by Bizstim. GoCardless sends emails for virtually all changes with mandates and payments and for this reason it is not necessary to overwhelm clients and administrators with emails.

For those events that are not sent the Events Log captures the interaction. Administrators can review the Events Log from time to time to see what is happening with their GoCardless account. 

Figure 11: Mandate Change Email Notification

When a mandate is at least a CREATED status the administrator has the option to delete the mandate. Deleting a specific mandate can be initiated using the red, X button under the OPTIONS column. You can see the red button under the OPTIONS column in Figure 10 and Figure 12.

When you click on the delete mandate button a popup window is shown. You have two options when deleting a mandate. Option 1 is to delete the mandate with GoCardless and Bizstim and option 2 is deleting the mandate within Bizstim.

There is a warning message explaining to the administrator that a delete in a mandate cannot be reverse.

When  this delete option is used only a single client mandate is deleted. If the administrator wants to delete all mandates at once, they need to use the REMOVE ALL MANDATES button explain earlier.

Upon deletion the mandate list will refresh and the administrator will once again be allowed to send that client an authorize direct debit email.

 

Figure 12: Remove A Client Mandate

 That exhausts the features of the MANDATES tab. Next we'll have a look at the IMPORT MANDATES tab.

In the event the administrator has already used GoCardless for their business, they won't have their client's mandates stores with Bizstim. The IMPORT MANDATES tab allows users to "import" their client mandates to Bizstim without having to request authorization from the client again.

Figure 13 shows a client mandate that is stored with GoCardless but is not yet saved with Bizstim. The right-hand-side of the table is the information for the client that already exists in Bizstim. The left-hand-side of the table is the information for the client residing with GoCardless.

The administrator can review both pieces of information and determine if they would like to import the mandate information for the client within Bizstim.

There are three (3) options available:

  1. import the record
  2. ignore the record (moving it to the ignore tab)
  3. do nothing and keep the potential import where it is

If there are multiple accounts to import they will appear below the example import depicted in Figure 13. 

Figure 13: Import Mandates List

If no similar client exists in the Bizstim database, the left-hand-side of Figure 13 will be empty. In this scenario, when the import button is clicked, Bizstim will take the information provided by GoCardless and create a new client account.

When determining if a client account exists in Bizstim, the GoCardless user's first name, last name and email is used. The text of the import button is changed to reflect these two scenarios. You may see:

  • IMPORT {CLIENT NAME}
  • CREATE CLIENT & IMPORT.

The ignore button will not import the client mandate information, instead, the client will be added to the ignore list found within the IGNORED MANDATES tab.

The CLONE MANDATES tab provides an administrator the option to take an existing mandate and apply it to another clients account.

This option is available because some Bizstim service-side clients are financially responsible for multiple accounts.  See the following list for user-hierarchy clarification:

Bizstim Software Application

·         Client who pays for the software (client of Bizstim called PAYER)

o   service-side client (client of the PAYER)

§  account 1

§  account 2

§  account 3

Using the user-hierarchy above, a service-side client can have any number of accounts they are financially responsible for. For this reason, it's important to "clone" mandates across these accounts and prevent unnecessary duplication in the direct debit setup.

For Step 1 the administrator selects a mandate that is saved within Bizstim that will be used as a template for cloning. In Step 2 the administrator selects the account or accounts that are associated with the saved mandate.

When the Step 1 account and Step 2 account(s) are selected the administrator can click on the CLONE MANDATES button. 

 Figure 14: Clone Mandates

After the cloning process is complete, see Figure 15, the initial account and the cloned account will be listed within the Mandates List with the same Mandate Status and Mandate ID.

Figure 15: Cloned Mandates On Mandates Tab

If the mandate status were to change for the initial mandate all cloned mandates will display the change. This is also true if the mandate is canceled. Technically speaking, all accounts that share the same mandate ID are the same account.  What happens to one of them will happen to all of them.

On the other hand, payments made using GoCardless for one client will be stored under that client's account and not cloned accounts.

The last tab within the administrator's panel is the EVENTS LOG. You can see the Events Log in Figure 16 below.

All events sent through the GoCardless webhook are stored within the Events Log. Not all webhook events are acted upon by Bizstim. At this time Bizstim handles authorization for the application, and one-off payments. These transactions typically have webhook methods that take action.

In the future Bizstim might provide subscription payments and installments.

The events log is intended to be an additional resource for administrators to see what actions are being carried out by GoCardless. In the event action is required by the administrator they can use this log to take action within the Bizstim software or the GoCardless dashboard.

Figure 16: Events Log

PAY ASSIST PANEL (FOR ADMINISTRATORS AND STAFF USERS)

Pay Assist is a panel where administrators and staff with payment gateway permission can initiate payments on behalf of their service-side clients. See Figure 17 below.

The GoCardless Direct Debit table lists those clients that are active. If the client has a valid mandate the AMOUNT OWING field will be active and the green bank button will be enabled. For those clients without a mandate, the amounting owing field is disabled as is the green bank button.

When a payment amount is present in the amount owing field and the green bank button is clicked the payment API is called. If the API call is successful the pay assist table will refresh and a successful payment message will appear in the bottom-right-hand corner of the page.

If there was an error with the payment a message will appear in the bottom-right-hand corner of the page. The message received from GoCardless will be provided so the administrator can take appropriate action or follow up.

For those clients that do not have an active mandate, the + button will send the administrator to the administrator's panel where they can send a direct debit setup email for the client. Staff users do not have this + button since they do not have access to the administrator's panel. 

Figure 17: Pay Assist Panel For GoCardless Mandates 

SERVICE-SIDE CLIENT PAYMENT FORMS

The following are payment forms as seen by service-side clients.

There are four (4) instances when a client can initiate a payment, they are:

  •  from the dashboard (Figure 18)
  •  from the Submit Payment page
  • from the Pay Invoice page (Figure 20)
  •  from the Online Booking Payment page

All these forms are the same and visual examples are shown in Figure 18 and Figure 20.

Figure 18 depicts the payment form from the client's dashboard. If the client has an existing balance the amount owing will be automatically entered into the Payment Amount field.  Since this user has a 50.00 credit, the field remains 0.

This image also depicts a user who does not have an active mandate. In this case the submit payment button is swapped out for a DIRECT DEBIT SETUP button. When clicked the user will be sent to a setup page identical to Figure 7.

Figure 18: Dashboard Payment Form (Without Active Mandate)

When the client finishes the direct debit setup they are returned to Bizstim. If their session cookie is still valid they are returned to the exact page where they clicked the setup button. If their session cookie has expired, they will be asked to log back in to the software.

When there is a mandate active on the client's account, the setup button changes to a blue button prompting the client to PAY NOW.

When the Pay Now button is pressed the amount in the Payment Amount field will be used to make a payment API call. A similar process will ensue as described in the Pay Assist section.

If the payment was successful the client will be notified and they will see a PDF of the payment within the PAYMENT HISTORY panel to the right. From there they can review the payment and download it for their records.

GoCardless will also send a notification email to the client informing them of the payment.

Figure 19: Dashboard Payment Form (With Active Mandate)

If the client has an unpaid invoice they are directed to an invoice payment page as seen in Figure 20.

The invoice payment page lists the details for the invoice and provides the GoCardless payment form. Once the client has confirmed the details of the invoice all they need to do is click the PAY NOW button.

Figure 20: Invoice Payment Form

When the invoice is paid; a successful payment occurs, the form will disappear and the invoice will be marked as paid. Figure 21 show the results of a successful payment.

The payment form is removed to prevent unnecessary double payments. A similar event happens for the all other payment forms. In those cases the user is redirected to a payment page where a successful payment message is provided and a list of the clients payments can be accessed and reviewed.

For the online booking tool the user is redirected to a Check Status Page.

The payment success message is prominently displayed to the client. Also notice how the payment form is removed. The client can review the PDF of the payment and download it for their records.

Figure 21: Invoice Payment Form Removed Following Payment

This ends the functionality for clients. At this moment in time, Bizstim only provides one-off payments to administrators and their service-side clients.

ADMINISTRATOR & STAFF USERS PAYMENTS PANEL

The payments panel is available to administrators and staff users only. Staff users must also have the manage payment gateways permission.

On this table is a list of all payments made by service-side clients.

Within the OPTIONS column there is a circle icon (at the end).  These circles denote the source of the payment gateway. Purple circles are Stripe initiated payments and blue circles are GoCardless initiated payments.

Hovering over the GoCardless (blue) circle reveals the payment ID. This ID is provided to help the administrator or staff user reference the payment using the Events Log or payment information from within the GoCardless dashboard.

Figure 22: Payments Panel

Figure 23: Payments Status

Figure 24: Note On Failed Payment

If the payment initially succeeds but is subsequently declined, this change in payment status will come through the webhooks endpoint as a PAYMENTS resource type and an event action as "failed." When this occurs the payment will be tracked as failed.

Failed payments will be identified within Figure 22 with an orange circle indicator. In addition to the colour change, the payment amount will be adjusted to 0.00 and a note added to the account. The note will have the description sent by GoCardless describing the reason for the failure.

If the payment has a "chargeback_cancelled" event the payment will be changed to the new event action, the orange indicator will be switched green, and the amount on the payment restored.

If the payment failed the software will take the actions discussed above but also check if there were previous attempts to retry the payments. Bizstim will retry the payment attempt no more than 3 times.

For all other payment failures not retry attempts are requested.

All payment requests come with a Idempotency key in the header data.