OperationsCommander - https://opscom.wiki

Payments Configuration

Manage Deposit Types

Deposit Types allow administrators to define and manage various categories of deposits (e.g., for permits, equipment, or specific services). This feature is essential for accurately tracking refundable amounts, providing clear financial oversight, and ensuring proper accounting for deposited funds within the system.

Using this Feature

The Manage Deposits page provides a straightforward interface to add, edit, and view the usage of various deposit types.

  1. Hover over System Configuration, then Payments, and click Manage Deposit Types.
Adding a Deposit Type
  1. Click Add Deposit Type.
  2. Fill out the information as needed:
    • Label: This is the name that will be used to identify the deposit type (e.g., "Permit Deposit," "Key Fob Deposit").
    • Placeholder Text: This field is optional. It provides a prompt or sample information that will appear in the deposit information text field when creating a deposit record.
    • Flags: This toggle controls the ability to edit the Assignable Text field in the resulting active deposit record. This text will appear in the user's profile associated with the deposit.
    • Amount: The amount that the deposit will cost.
    • Active checkbox: This determines if the deposit is currently available to be assigned.
  3. Click Save Changes.
Editing a Deposit Type
  1. Locate the deposit type and click the Edit button next to it.
  2. Make any necessary changes to the fields.
  3. Click Save Changes.
Deleting a Deposit Type

1. If no records are associated with this deposit you can click the Delete button.


Best Practices & Considerations

Managing Payment Types

Managing Payment Types allows administrators to control which payment methods are available throughout the system. This comprehensive control enables you to define new payment options, assign them to specific user types (e.g., Staff, Students, Public), and configure their usage for subscriptions or guest payments, thereby streamlining transactions and ensuring alignment with your organization's financial policies.

Using this Feature

The Payment Types screen gives you a comprehensive interface to create, edit, and view details about different payment methods available in OPSCOM.

  1. Go to System Configuration, then Payments, and click $ Setup Payment Types.
Adding Payment Types

Use Case - For this example, we will setup a Payment type that will use the provider Always Successful. This will allow payments to immediately be flagged as fully processed with no intervention of any admin. This is often used for things like Payroll deduction. For example, you want your users to be able to purchase a permit through Payroll deduction that will immediately be valid upon checkout. The actual payments will take place through payroll and have nothing to do with OPSCOM.

  1. Click the Add Type button.
  2. The list of Providers is hard coded and controlled by Tomahawk. You will not be able to change this picklist. The tooltip below the provider will tell you what each provider means. 
  3. Pick Always Successful for this example.
  4. Click Next Step.
  5. Provide a Type Name.
  6. Choose the User Types this will be available to.
  7. On the Settings tab, Enable the checkboxes as you required.
  8. In the section Allowed Payment Types, you will see any payment types that are currently active first, then a list of inactive payment types after. 
  9. Click Update Payment Type.
Hosted Payment Providers

Once you retrieve the required values from your hosted payment provider of choice, save the credentials securely and contact OPSCOM Support for further instructions.

The information you obtain in the above documentation are credentials that secure the information exchanged between OPSCOM and the provider. Please save these in a secure manner, it is important they are stored properly to ensure operational security.

Extended Payment Information

For each payment type, you can view extended information on the Payment Types screen.

There are also three columns on the far right that use an X or checkmark to indicate specific uses of the payment type:

Configuring Payment Types for Subscriptions and Guest Payments

You can fine-tune how specific payment types are used for subscriptions and guest payments.

  1. Find the payment type you wish to configure and click the Pencil icon.
  2. Click the Settings tab.
  3. Select the items you wish to allow the payment type to be used for (e.g., enable Text2ParkMe, subscriptions to permit renewals, as well as guest payments).
  4. Prompt Information can be changed as well. You can enable only an email address or full address information. Full address info is required when the provider is doing Address Verification using AVS, 3DS or other similar service. This controls what shows up on the QR Code reservations screen after the Payment Type is selected. 
  5. Click Update Payment Type
Processing as an Admin

When processing payments as an administrator, the payment types presented will be split into two categories:


Best Practices & Considerations

Managing Convenience Fees

Convenience Fees in OPSCOM allow administrators to add an additional flat-rate charge directly to user payments, managed entirely within the OPSCOM system. This feature provides flexibility to offset processing costs, incentivize certain payment methods, or cover administrative burdens, distinct from any transaction fees imposed by external payment providers.

Difference Between Transaction Fees and Convenience Fees

It's crucial to understand the distinction between these two types of fees:

It is possible for a system to utilize both Convenience Fees (managed by OPSCOM) and Transaction Fees (managed by the payment provider), but recognizing their distinct origins and management is important.


Using this Feature

The Fees Page allows you to set up various convenience fees. 

You can only use Convenience fees if you have Bambora/Worldline as your payment provider.

Fee Limitations

Before configuring, understand these limitations:

  • Applied Once Per Order: Fees are applied once per fee type per order. This means if a fee is set for permits, only a single fee is applied to the order, regardless of whether it contains one permit or five permits.
  • Flat Rate Only: Fees are currently a flat rate. There is no percentage-based fee option at this time.
  • Grand Total Sent: Fees are not sent to the payment provider as a secondary item. Only the grand total (item price + convenience fee) is sent for processing.
Fee Examples and Setup

Admin Collected Fee for Collecting Cash and Cheques (Deterrent Fee)

  • Scenario: The administrator wants to encourage online payments. A fee is set up as a deterrent when users pay with cash or cheque, covering the increased administrative burden.
  • Setup: The fee would apply to all item types but only to payment types of Cash and Cheque.

Admin Collected Fee for Permits

  • Scenario: Permits are sent to a third party for enforcement, and that third party charges $0.50 per permit they enforce. The client wishes to pass this cost onto the user.
  • Setup: The fee would apply to all payment types, but only to Permits and Temp Permits. The setup would specify $0.50 as the fee amount.

Admin Charges a Convenience Fee to Cover an OPSCOM Collected Transaction Fee

  • Scenario: There's an agreement with the payment provider that all permits will incur a $2.95 transaction fee paid to OPSCOM. The client still wants to receive the full $150 for a purchased permit, so they set up a convenience fee to cover this cost.
  • Setup: The convenience fee will be charged when selecting the specific payment type that incurs the $2.95 transaction fee. For example, the setup would apply to the relevant payment provider and define the convenience fee as $2.95.

Admin Includes the Transaction Fee in the Price of the Item (No Fee Setup in OPSCOM)

  • Scenario: An agreement exists where all permits incur a $2.95 transaction fee paid to OPSCOM. However, the client chooses to absorb this fee by increasing the item's price. If a permit costs $150, then $2.95 of that will be sent to OPSCOM, leaving the client with $147.05.
  • Setup: There is no specific setup for fees in this scenario within OPSCOM, as the fee is already embedded in the item's base price. If you want to inform users that a transaction fee is included in the final amount, you will need to update a relevant footer message (e.g., in email templates or on the user portal) stating this.

Setting Up the Fees

You can access the Fees page to accommodate any of the scenarios above.

  1. Hover over System Configuration, then Payments, and click Fees.
  2. Click Add Fee and follow the diagram below.
  3. Click the Update button to save.
3791d194-e0da-433d-bf84-b470d263c958.png

Best Practices & Considerations

  • Clarity for Users: Clearly communicate any convenience fees to your users before they complete a transaction. Transparency builds trust.
  • Strategic Application: Use convenience fees strategically. They can deter cash payments, offset third-party costs, or cover transaction fees, but ensure they align with your overall pricing strategy.
  • Flat Rate Limitation: Remember that fees are flat rate, not percentage-based. Plan your fee amounts accordingly.
  • Impact on Grand Total: Be aware that OPSCOM adds the convenience fee to the item's price to form the grand total before sending it to the payment provider.
  • External Transaction Fees: Distinguish between OPSCOM's convenience fees and any external transaction fees imposed by your payment gateway. Understand where each fee is applied and how it impacts your revenue.
  • Reporting: Consider how convenience fees will be reported and accounted for in your financial reconciliation processes.

Taxes

The Taxes configuration page in OPSCOM allows administrators to define and manage the tax percentages applied to payments made within the system. This feature is crucial for ensuring accurate tax calculation during checkout, maintaining compliance with local tax regulations, and providing transparency to users regarding applicable taxes.

Setup & Configuration

You must be a Primary Admin with the permission to Manage System Configuration to be able to edit the system settings. 

If you do not see the settings mentioned in this article, please contact support@ops-com.com to have them enabled for you. You will need, in writing, the permission of your Primary Admin.

Using this Feature

The Taxes page allows you to configure multiple settings for each tax type, ensuring accurate calculation and display.

1. Hover over System Configuration, then Payments, and click Taxes.

Editing a Tax Type

When editing an existing tax type, the following settings are available:


Best Practices & Considerations

The Invoice Template

Editing the template

To access the template, go to the System Config menu and click on Email Templates.

The screen will refresh with a list of possible templates to edit. In our case, we want to click on the Edit button for Permit Invoice to access the template.

image.png

The screen will refresh with the complete Template form as seen below.

image.png

The form contains 4 areas:

At the top, Meta Data for this specific template.
On the left, a list of possible Short Codes that can be used on this template form.
On the right, the actual Template.
At the bottom, a Text Content field (This field can be configured for a plain text version of the

Meta Data

Label - Enter a name for this Template.
Type - This field auto fills. 
Language - Choose the language of the template.
Layout - Choose default layout.
Subject - This text will appear as the Email Subject. Note that the use of short code is permitted in this field. In this case, we are calling up the account name for the company being invoiced.

Short Code List

The template allows the use of special tokens, or short codes, to pull information from the database to appear on the invoice when sent.
These include:

[invoice account="number"] The account number for the company.
[invoice account="name"] The account name for the company.
[invoice account="fulladdress"] The full address for the company.
[invoice account="invoice_comments"] The invoice comment value that is editable for companies only. Any line breaks will be preserved.
[invoice show="invoiceno"] Invoice Number.
[invoice show="duedate"] Invoice due date.
[invoice show="billdate"] Invoice bill date.
[invoice show="subtotal"] Subtotal of all items before tax.
[invoice show="taxtotal"] Total amount of tax.
[invoice show="amounttotal"] The total sum amount for all outstanding permits for this invoice.
[invoice show="counttotal"] The total number of permits for the selected sales window.
[invoice show="details"] The list of permits, cost and who has the permit.

image.png


These tokens can be placed anywhere on the template and will pull data from the system, similar to a mail merge functionality.

For example, in the Bill To: area, the system will retrieve the Full Address of the Company as well as the Company Account Number using these two short code tokens:
[invoice account="fulladdress"] The full address for the company.
[invoice account="number"] The account number for the company.

image.png


The Template

There are a number of areas on the template that can be edited by the admin. To add branding to the template there are two areas that will be of concern.

The Company Logo Field:
This is where you would place your company logo. Using a .JPEG or .PNG file format is recommended. 

image.png

Your Company Address:
Enter your company address here.

image.png

Invoice Identification:
In this section use short code to pull in the Invoice Number, Billing Date, and Due Date.

image.png

Invoice Details:

The short code [invoice show="details"] pulls in the list of permits that will appear on the Invoice. (See a sample of the Invoice below)

These include:

Parker's Name
Item type being Paid for (Permit, Access card, etc.)
Item number (Permit Number)
Sales Window
Lot Name
Quantity
Cost

image.png



Payment Information (Billing Cost):
In this section use short code to pull in the billing information such as Subtotal, Calculated Taxes, and Total Billing Amount.

image.png


You may also wish to add comments to the invoice. Comments can be added in the company configuration. 

image.png

The Email with PDF attached:
Here is a sample of what the resulting email would look like. There is also a .PDF version of this invoice attached to the email.

image.png


Setup payments with Flex Dollars

This article describes the Flex Dollar and Payroll Deduction feature, a specialized payment method for handling partial payments with credits. This feature allows your users to apply a pre-defined amount of flex dollars towards a permit purchase, with the system automatically notifying administrators of the remaining balance to be processed via payroll. 

OPSCOM Support Configuration

The Flex Dollar Payment feature is a custom development, tailored specifically for one client, Trent University. It is not intended to be useful to, or available to all clients. Its availability is controlled by specific configurations set up by an OPSCOM Support team member.

This feature requires configuration by an administration of your system, and must also be enabled by an OPSCOM support team member before it can be used. The setup involves defining the selectable flex dollar amounts, setting the notification email, and assigning the payment type to the appropriate users.

This feature is enabled by a system-level setting that is typically configured by OPSCOM support upon request. Once enabled, you may proceed with the steps below.

Configuration and Functionality

  1. To enable flex dollars, hover over System Configuration, and click System Settings.

  2. Click Permits.

  3. Enable the checkbox beside Enable Flex Dollars.

Configure Email Notifications

An email address must be configured to receive a notification internally and each time this payment method is used (and the details of the transaction for accounting).

  1. Hover over System Configuration, Payments and click Manage Flex Dollars

  2. In the Flex Dollars Alert Email text box, enter an email address you will be monitoring.

This email address must be monitored for any changes to be made to student flex dollar balances.

Define Flex Dollar Amount

Create the specific flex dollar values that users can select during checkout.

  1. Hover over System Configuration, Payments, and click Manage Flex Dollars.

  2. Click the Add New button.

  3. Enter a Label. This is the text the user will see in the drop-down menu (e.g., "Apply $100 of Flex Credit").

  4. Enter the corresponding numeric Value (e.g., 100.00).

  5. Click Save.

  6. Repeat this process for all the pre-determined flex dollar amounts your organization offers.

Assign Payment Method to User Types

Finally, this payment method must be enabled for the specific user types who are permitted to use it.

  1. Hover over System Configuration, Users, and and click User Types.

  2. Select the user type you wish to grant access to (e.g., Staff).

  3. In the user type settings, assign the Flex Dollars/Payroll Deduction payment option.

  4. For detailed instructions, please refer to the User Types Administration wiki article.

Using this Feature

Once configured, the feature provides a streamlined workflow for users and a clear notification process for administrators.

User Purchase Workflow
  1. An eligible user adds a standard term permit to their shopping cart.

  2. On the checkout page, they select Flex Dollars/Payroll Deduction as the payment method.

  3. A new drop-down menu appears, populated with the flex dollar Labels you configured.

  4. The user selects an amount and completes the transaction. Their permit is considered valid and is issued immediately.

Administrator Workflow (Post-Purchase)
  1. Upon successful purchase, an email is automatically sent to the address configured in "Flex Dollar Alert Email" field.

  2. This notification contains the key information needed for manual processing:

    • User's Name and Contact Information

    • Permit Details

    • Flex Dollar Amount Applied

    • Remaining Balance Due

  3. Your administrative team (e.g., Payroll or Parking department) uses this information to confirm users flex dollar balances the remaining balance via your organization's internal payroll system.

  4. For auditing purposes, a note detailing the flex dollar amount is also automatically added to the users transaction payment record.

The payroll deduction component is not an automated process and neither is the updating of Flex Dollar balance. The system's function is to calculate and report the remaining payroll deduction balance to administrators. 

Best Practices & Considerations

Stripe Payment Provider Setup

This feature shows how to integrate with Stripe to process credit card payments directly within the system. Its primary purpose is to provide a secure and seamless checkout experience for users while simplifying financial reconciliation for operations. This article is intended for OPSCOM administrators responsible for financial setup.


Setup and Configuration

Admin Portal

To begin the integration, an administrator must setup a payment type in OPSCOM, with will be linked to their Stripe account. This is handled through the central administration portal where you will input your unique credentials.

Once the provider is selected, you can name the payment typeselect applicable user types, and then go to the settings tab.

Now, you have to get the API keys for your Stripe account, and setup webhooks, which can be found on the stripe dashboard, which you should be logged into, from a previous step. Your Publishable Key, and Secret Key, can be found and copied here. You can click on these values to copy them, and paste them into the payment type settings in OPSCOM.

image.png

You must provide your unique identification keys. Enter your Stripe public key into the Publishable Key field and your Stripe secret key into the Secret Key field.  Only enter the Testing Credentials until you are ready for your users to have access to this.

Take this time to ensure that the Currency setting is correct, in the payment type settings (the default is US dollars). The next steps will be about populating the Webhook ID and Webhook Secret fields, in OPSCOM, with the correct information from your Stripe dashboard.

image.png


Third-Party Webhook Configuration

Webhooks are essential for Stripe to notify OPSCOM regarding payment successes or refund completions.

Without these Webhooks, the system WILL NOT communicate any transaction information to OPSCOM.

Sub-section What it covers
Register Your Endpoint Step-by-step Stripe Dashboard instructions to create an event destination, select event types, and enter the OPSCOM webhook URL
Retrieve Your Signing Secret How to reveal and copy the whsec_ secret, and destination ID into OPSCOM
Test Your Endpoint Stripe CLI commands to forward live test events locally before going live
Secure Your Endpoint Signature verification explanation and IP allowlisting recommendation
Manage Event Delivery Delivered/Pending/Failed status descriptions and how to manually resend events

Register Your Endpoint

To begin receiving notifications, you must define where Stripe should send transaction data. In your Stripe Dashboard, click on Developers (bottom left) and select Webhooks.

image.png

Click the Add Destination button to open the configuration window.

You must select the specific event types the system needs to process. For a standard setup, ensure you select payment_intent.succeeded for successful payments, payment_intent.payment_failed for failed payments, and payment_intent.canceled for canceled payments. Now click Continue.

image.png

 Select Webhook endpoint, and click continue again.

image.png

Give the webhook a descriptive name, and in the Endpoint URL field, enter the specific URL provided by OPSCOM, in this format: https://[CLIENTID].ops-com.com/api/system/payments/stripe/callback

Retrieve Your Signing Secret

Once the endpoint is created, Stripe generates a unique security key to verify that the data sent to your server is authentic. On the summary page for your newly created webhook, locate the Signing secret section.

image.png

Click Reveal to display the string, which typically begins with the prefix whsec_.

Copy (highlighted in a green box in the picture above!) this entire string and navigate back to your OPSCOM Payment Gateway settings. Paste the secret into the Webhook Secret field. This handshake ensures that OPSCOM only processes legitimate requests from Stripe and ignores any unauthorized attempts to alter transaction data.

Once the endpoint is saved, you'll see the Signing secret, and Destination ID provided by Stripe. Return to your OPSCOM configuration and paste the Signing secret into the Webhook Secret field, and the Destination ID into the Webhook ID field to ensure all incoming data is securely verified.

Ensure that your Webhook Secret is correctly matched between Stripe and OPSCOM to prevent "Pending" status errors on completed payments.

image.png


User Experience and Handheld Use

Web Portal Transactions

Users will interact with the Stripe interface during their standard checkout process. When they reach the final stage of a transaction, they simply click the Pay with Credit Card button to open the secure payment form. After they enter the credit card details into the form, they click the Submit Payment button to complete the purchase.

Handheld App — OPSCOM Parking Enforcement

For administrators or staff using handheld units in the field, the process is optimized for touch interaction. Tap Checkout to open the payment summary within the app. From there, tap Select Payment Method and choose Stripe. To prevent accidental charges, the final step requires you to tap and hold the Process Payment button to finalize the transaction.

Managing Transactions and Reports

Administrators can review all processed payments and manage financial returns through the standard reporting interfaces. Hover over Financial Management and click Transaction Reports then Recent Payments to view a live list of activity.

Within this report, the Status column displays the current state of each payment, while the Payment Date indicates exactly when the transaction occurred. If you need more detail, click the View Details icon next to a specific transaction to see the full Stripe receipt.

If a correction is needed, click the Refund Payment button to initiate a return of funds. You will then click the Confirm Refund drop-down menu and choose Full Refund to finalize the reversal.

You can quickly find a specific transaction by using the search bar to enter a user's name or a specific receipt order ID/Confirm Code.


Best Practices and Considerations