# OperationsCommander Payments and Transaction Flow

**OperationsCommander works hard to maintain an up to date product wiki! If you have any questions or if you feel something is missing,** [**post about it in the community.**](https://community.ops-com.com/c/product-support/6)

# Payroll Deduction Settings

## Enable / Disable paying a Violation / Permit using Payroll Deduction.

First go to System Configuration [![image.png](https://opscom.wiki/uploads/images/gallery/2025-03/scaled-1680-/image.png)](https://opscom.wiki/uploads/images/gallery/2025-03/image.png) then select the Payments option [![image.png](https://opscom.wiki/uploads/images/gallery/2025-03/scaled-1680-/mPWimage.png)](https://opscom.wiki/uploads/images/gallery/2025-03/mPWimage.png) You will now see the options "Disable Payroll Deduction for Violations" &amp; "Disable Payroll Deduction for Temp Permits", you can use the check boxes on these options to toggle on / off the ability for users to use "Payroll Deduction" for paying Violations and/or Permits when they check out.

[![image.png](https://opscom.wiki/uploads/images/gallery/2025-03/scaled-1680-/VB7image.png)](https://opscom.wiki/uploads/images/gallery/2025-03/VB7image.png)

# Setting up Quick Pay/Guest Payments

<p class="callout info">This article describes the Guest Payments feature. Guest Payments allows guest users to look up and pay for violations directly from the user portal without needing to create or log in to an account. This functionality streamlines the payment process for end-users and reduces administrative inquiries.</p>

### Setup and Configuration

For Guest Payments to function, it must first be enabled for specific payment types and then activated in the system's global settings.

<p class="callout warning">**Keep in mind:** compatible third-party payment provider that supports guest transactions must be configured in your OPSCOM system. </p>

See this article on [setting up a third-party payment provider](https://opscom.wiki/books/setup-configuration-for-admins/page/managing-payment-types#bkmrk-the-following-links-).

##### <span style="text-decoration: underline;">Enable Specific Payment Types</span>

First, you must designate which electronic payment types are available for guest transactions.

- Go to **System Configuration**, **Payments**, and click **Setup Payment Types**.
- Create a new payment type or click the **Edit** icon next to an existing one that you wish to enable for guests.
- Select the **Settings** tab.
- Click the **Enable for Guest Payments** checkbox.
- Click **Save** to confirm the change.

Repeat these steps for all payment types you want to make available for guest payments.

##### <span style="text-decoration: underline;">Activate Global Setting</span>

After enabling the desired payment types, you must activate the feature for the entire system.

- Go to **System Configuration**, and click **System Settings**.
- Select the **Violations** tab.
- Enable the **Enable Anonymous Violation Payments** checkbox.
- Click **Save Settings**.

### Using this Feature

Once Guest Payments are fully configured, a button will appear on the public portal's main login page, allowing users to pay for a violation without logging in.

See this article for the [User Experience of guest payments](https://opscom.wiki/books/setup-configuration-for-admins/page/managing-payment-types#bkmrk-the-following-links-).

---

### <span style="color: rgb(22, 145, 121);">Best Practices and Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Select which payment types to enable for Guest Payments.** Only enable electronic payment methods (e.g., Credit Card) that can be processed automatically through your payment provider. </span>
- <span style="color: rgb(22, 145, 121);">**Confirm your payment provider supports this functionality.** Guest Payments will not work without a compatible payment gateway configured in OPSCOM. Consult your payment provider's documentation or support if you are unsure.</span>
- <span style="color: rgb(22, 145, 121);">**Communicate the availability of this feature to the public.** Consider adding a note on your organization's parking information page to direct users to this convenient payment option.</span>


####   




<div class="jim-error-message jim-error-message-table conf-macro output-block" data-hasbody="false" data-macro-id="6029a7b6-d095-45c5-9ebc-0bc82fe0db90" data-macro-name="jira" id="bkmrk--25"></div>

# Payment Reconciliation: Submitted / Processed

<p class="callout info">The Payment Reconciliation page allows users to effectively track and manage the status of payments within a defined time period. This report is specifically designed to reconcile the dollar value of received payments with your bank or credit card merchant by comparing the amounts charged between the two. Users can filter results to view either submitted or processed payments.</p>

## Setup &amp; Configuration

To access the Payment Reconciliation page you must have the permission to **View Payments** turned on. This can be added to your role by your Primary Admin.

---

### Creating a Payment Reconciliation Group

1. Navigate to **System Configuration**, then **Admin Management**, and click on **Manage Groups**.
2. This brings you to the **Manage Administrator Groups** page.
3. To create a Payment Reconciliation group click on the **Payment Reconciliation** module and then click **Add New** in the top right corner under. [![image.png](https://opscom.wiki/uploads/images/gallery/2026-04/scaled-1680-/iKqimage.png)](https://opscom.wiki/uploads/images/gallery/2026-04/iKqimage.png)
    
    The **Adding New Group** window will appear with the following options:
    
    <table border="1" style="border-collapse: collapse; width: 100%; height: 136.438px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><thead><tr style="height: 34.1094px;"><td class="align-center" style="height: 34.1094px;">**Options**</td><td class="align-center" style="height: 34.1094px;">Info</td></tr></thead><tbody><tr style="height: 34.1094px;"><td style="height: 34.1094px;">**1. Group Name**</td><td style="height: 34.1094px;">The Group Name is how you set the name of a group.</td></tr><tr style="height: 34.1094px;"><td style="height: 34.1094px;">**2. Module** </td><td style="height: 34.1094px;">The Module is where you can set the purpose of the group.</td></tr><tr style="height: 34.1094px;"><td style="height: 34.1094px;">**3. Admin Members**</td><td style="height: 34.1094px;">The Admin Members is the area in which you can add admin members to the group</td></tr></tbody></table>
4. When you are finished click the **Save Group** button. You will see your group added to the bottom of the Administrator Groups.

##### <span style="text-decoration: underline;">Adding Members to a Group</span>

1. Navigate to **System Configuration**, then **Admin Management**, and click on **Manage Groups**.
2. Click the Edit button next to the Administrator Group you wish to edit.
3. Click on the **Admin Members** bar to add more members to the group.
4. When finished, click the **Save Group** button found at the bottom of the Editing Group.

## Using this Feature

1. Go to **Payments**, and click **Payment Reconciliation**.
2. On this page, you can apply filters to refine the payment data displayed:
    
    
    - **Filter by Date Range:** Define the start and end dates for the payments you wish to view.
    - **Filter by Payment Type:** Select the specific payment method(s) you want to include in the results.
    - **Filter by Admin Group:** Filter reconciliation data based on specific admin groups designated for payment reconciliation.
3. Click Search. The results are displayed below the search criteria.
4. Click on any column header to reorder the data.

### System Task (Export Options)

The page offers various export options, shown in green, that allow users to generate files for external use:

- **Copy:** Copies the row data to your clipboard, allowing you to paste it into any program, such as Excel.
- **CSV:** Creates and prompts you to download a CSV (Comma-separated values, `.csv`) file for use in your program of choice.
- **Excel:** Creates and prompts you to download an Excel (Microsoft Excel, `.xls`) file for use in your program of choice.
- **Print:** Prompts your browser to print the current page view.

---

## <span style="color: rgb(22, 145, 121);">Best Practices &amp; Considerations</span>

- <span style="color: rgb(22, 145, 121);">**Reconciliation Focus:** The Payment Reconciliation report is the correct tool for comparing system payments with bank/merchant payments.</span>
- <span style="color: rgb(22, 145, 121);">**Avoid Daily Payments Itemized for Reconciliation Tasks:** The **Daily Payments Itemized** report shows received payments, but it is **not recommended for reconciliation** because it may display tax differently and can lead to rounding errors, making dollar-value comparison inaccurate.</span>

# Accepting a Student Account Payment from the Admin Portal

## Accepting a Student Account Payment

To Begin lets select a permit to purchase. In this case the admin is assigning a permit to a student and taking payment via Student Account.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/gWVimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/gWVimage.png)

In this example we are purchasing a permit in the General Monthly Lot for Patricia Birch.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/r7Yimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/r7Yimage.png)

Once the lot has been selected, the admin can then choose a permit to assign to the user. Click on **Purchase this Permit** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Xjyimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Xjyimage.png)

The payment due page will appear. Click on **Proceed to Payment** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Z8Yimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Z8Yimage.png)

The screen will refresh and the admin will be presented with the **Payment Selection** section of the process.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/1DZimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/1DZimage.png)

In this case we have selected a **Student Account** payment. Click **Submit Payment** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/iCnimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/iCnimage.png)

The screen will refresh and the admin will be presented with the Payment Selection section of the process. In this case we have selected a cash payment. Click **Submit Payment** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/atYimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/atYimage.png)

The **Transaction Details** screen will appear. There are three choices available.

- Process Manually which will complete the transaction
- Cancel and Keep which will terminate the transaction but return the locker to awaiting payment status
- Cancel and Release which will also terminate the transaction and release the locker back into the pool of available lockers to rent.

IN our example we will select Process Manually to complete the transaction.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/tpbimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/tpbimage.png)

The payment will be processed and the **Transaction Details** screen will display a receipt. Because the payment method is **Student Account** the item will be marked as paid by student account.  
A report can be run of daily payments filtered by Student Account. This report can be provided to the financial department to allow finance to retrieve the funds from the student account.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/fcnimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/fcnimage.png)

# Payment for a locker from the Admin Portal

## Paying for a locker.

To begin click on the **Lockers** menu item in the user's profile on the admin portal.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/0imimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/0imimage.png)

The locker registration page appears with a list of buildings with lockers available.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/XQ8image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/XQ8image.png)

The locker selection page will open allowing the admin to chose the locker area within the building chosen. In this case we are looking for a locker in the women's locker room.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/1jHimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/1jHimage.png)

The admin may then select the specific locker number they wish to assign to the user. Click on **Reserve Locker** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/upJimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/upJimage.png)

The confirm **Locker Registration** page will open where the admin can verify the information about the locker being assigned. Click on **Confirm Info** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/4q2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/4q2image.png)

The payment due page will appear. Click on **Proceed to Payment** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/cL2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/cL2image.png)

The screen will refresh and the admin will be presented with the Payment Selection section of the process.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/0Phimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/0Phimage.png)

In this case we have selected a **Cash** payment. Click **Submit Payment** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/lSfimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/lSfimage.png)

The transaction Details screen will appear. There are three choices available.

- Process Manually which will complete the transaction
- Cancel and Keep which will terminate the transaction but return the locker to awaiting payment status
- Cancel and Release which will also terminate the transaction and release the locker back into the pool of available lockers to rent.

IN our example we will select Process Manually to complete the transaction.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2UGimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/2UGimage.png)

The payment will be processed and the Transaction Details screen will display a receipt.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/xUrimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/xUrimage.png)

# Admin Portal Permit Purchase with Credit Card

## The Permit

We begin by going to a user's dashboard on the admin portal and proceeding to the Parking tab.  
In our example we are issuing and paying for a permit on behalf of user over the phone.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/hkyimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/hkyimage.png)

We then get taken to the Confirm Parking Permit Registration page where the admin can choose either the next permit available or select a specific permit number.  
Click on Purchase this Permit to Continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/HEZimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/HEZimage.png)

The Payments Due screen will open listing items that require payment.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/YX4image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/YX4image.png)

## The Payment Type

From the payment Due screen the admin can choose a payment method to be used for this purchase. In our example we choose a payment provider.  
Click on Submit Payment Information to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/LuYimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/LuYimage.png)

  
A confirmation Screen will appear listing the payment type. Click on Submit Payment Information button to proceed to the payment gateway.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/7Zjimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/7Zjimage.png)

You will be directed to the payment provider's input form. Fill out the form and click Make Payment to complete the purchase.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/fLZimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/fLZimage.png)

A transaction record will appear. This information is stored and can be accessed form the user's payment history or you can search for the Confirmation Number in various search tools.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/UMJimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/UMJimage.png)

# Daily Payments - Itemized

The Daily Payments - Itemized page can be found under Payments -&gt; Daily Payments - Itemized.

[![2024-08-08_15-15-19.png](https://opscom.wiki/uploads/images/gallery/2024-08/scaled-1680-/2024-08-08-15-15-19.png)](https://opscom.wiki/uploads/images/gallery/2024-08/2024-08-08-15-15-19.png)

On this page your can filter for submitted or processed payments based on a date range and payment type:

[![2024-08-08_15-18-09.png](https://opscom.wiki/uploads/images/gallery/2024-08/scaled-1680-/2024-08-08-15-18-09.png)](https://opscom.wiki/uploads/images/gallery/2024-08/2024-08-08-15-18-09.png)

Two options for excel export exist:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-08/scaled-1680-/yZximage.png)](https://opscom.wiki/uploads/images/gallery/2024-08/yZximage.png)

- **Export to Excel (Group)**: payment items such as permits, deposits, violations, lockers, etc that are part of the same payment are grouped together.  
    Example:  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-08/scaled-1680-/lJIimage.png)](https://opscom.wiki/uploads/images/gallery/2024-08/lJIimage.png)
- **Export to Excel (Line)**: payment items such as permits, deposits, violations, lockers, etc that are part of the same payment are listed on separate lines/rows.  
    Example:  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-08/scaled-1680-/MPeimage.png)](https://opscom.wiki/uploads/images/gallery/2024-08/MPeimage.png)

After clicking "List Payments" results will then be displayed below the search criteria, grouped by day:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-08/scaled-1680-/nYrimage.png)](https://opscom.wiki/uploads/images/gallery/2024-08/nYrimage.png)

Additionally along the bottom of the page a table breakdown of daily processed orders is shown:[![image.png](https://opscom.wiki/uploads/images/gallery/2024-08/scaled-1680-/Nucimage.png)](https://opscom.wiki/uploads/images/gallery/2024-08/Nucimage.png)

# Admin Portal Cash, Cheque or Debit Payment

## Purchasing a Permit

To begin let's have a look at purchasing a permit for the admin portal. Select the **Parking Tab** and the click the **Standard Permit** button to access the permit purchase screen.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/HNqimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/HNqimage.png)

The **Confirm Parking Permit Registration** page appears. An admin can simply use the next permit available or select a specific permit to assign to the user.  
The cost of the permit will show in this interface. Click on **Purchase this Permit** to proceed.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/9ekimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/9ekimage.png)

This will then take you to the **Confirm Parking Permit Registration** page.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Xykimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Xykimage.png)

If everything looks good as far as what you expect the payment to be you may then select the payment type you wish to use.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/3wGimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/3wGimage.png)

In our example we will choose **Cash** however **Cheque, Money Order** and **Debit Card** work in the same manner.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/WQiimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/WQiimage.png)

Once the payment type is selected you will be directed to the **Payment Due** screen where you will see the important information of what you are paying for and what payment type was selected.  
Click **Submit Payment** Information to proceed with the purchase.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/SA9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/SA9image.png)

The screen will refresh with three choices that can be made at this point.  
  
**Process Manually** - which will process the payment. It is at this point you would collect the cash, cheque, money order, or debit card to process.  
**Cancel and Keep** - This will terminate this transaction but keep the permit in awaiting payment status.  
**Cancel &amp; Release** - This will terminate this transaction and release the permit back into the pool of available permits.  
  
In our example we will select Process Manually to complete the transaction.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/xgiimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/xgiimage.png)

The screen will refresh with a confirmation screen record of the purchase.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/gR8image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/gR8image.png)

# Paying for a Violation from the Admin Portal

## Searching for a Violation

There are two methods to searching a violation. You can place the violation number in the **quick search** bar and click on the resulting drop down.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Tv2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Tv2image.png)

Or... Alternately you can use the **Violation Search** from the **Violations** menu.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Fffimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Fffimage.png)

Enter the **ticket number** or **plate number** in the **Search Text** box and click on **Search Using Only Text** to retrieve a list of violations.  
Click on the **ticket number** to proceed.  
*Note: Using the Ticket Number will list the specific ticket. Using the Plate Number will list all tickets associated with the plate.*

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/jFoimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/jFoimage.png)

## Choosing an Action

The **Violation Information** window will pop up. Click on **Action** to proceed.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/d8ximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/d8ximage.png)

A list of possible actions will appear. Click on **Make Payment** to access the payment screen.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/iMlimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/iMlimage.png)

## The Payment Screen

The payment screen will display any item that is awaiting payment. This could include **Violations, Permits,** and **Deposits**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/vWAimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/vWAimage.png)

You may opt to pay for all items or decide to pay for the specific violation by toggling off the items you wish to pay for at another time.  
*Note: If items are past due you will be required to pay for them and will not be able to toggle them off.*

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/ZtMimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/ZtMimage.png)

Click **Proceed to Payment** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/CxJimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/CxJimage.png)

## Choosing a Payment Type

Select the payment type you wish to use. In this case we are using **cash** as a payment type. You may also select **cheque** or **debit card** payment here.  
*Note: As an admin you may choose any payment type available in your system. If the payment was being made from the user portal you can see only **Credit Card** in this case would be available as a payment type.*

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/wj6image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/wj6image.png)

In our example we are choosing **cash**. Click on **Submit Payment** Information to proceed.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/es5image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/es5image.png)

A confirmation screen will appear noting the payment method. Click on **Submit Payment Information** once again to proceed.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/cTqimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/cTqimage.png)

## Making the Payment

The **Transaction Detail** screen will appear. You may wish to update the **Comment** at this point.   
*Note: You may also cancel the transaction at this point if there is reason to do so. Be aware that canceling a payment for a violation simply places the violation back into awaiting payment status.*  
*For a permit you may opt to cancel the transaction yet keep the permit in awaiting payment status (**Cancel and Keep**) or you may **Cancel and Release** the permit.*

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/scximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/scximage.png)

In our example we will **Process the payment manually** and accept the cash payment.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/PsUimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/PsUimage.png)

## The Final Transaction Detail Screen

The **Transaction Detail** page will refresh showing the details of the purchase.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/U9pimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/U9pimage.png)

# Payment Data Export via Banner SFTP

# Configuration

There are several items that must be configured in order for the right information to display in the exported CVS file.

# User Profile

In the user profile, a **unique user ID** must be configured.

This information will likely be populated by a user data import.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/XOEimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/XOEimage.png)

# Lot Administration

Each lot requires a unique **banner detail code**.

To set the banner detail code, go to **Lot Administration** and click on **Pricing &amp; Lot Admin**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/AWoimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/AWoimage.png)

Select the lot you wish to add the detail code to. Click on the **lot name** to access the configuration screens.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/K1pimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/K1pimage.png)

Once you are in the lot configuration tool, select the **Additional** tab.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/X5Aimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/X5Aimage.png)

Enter the **Lot Detail Code**. (These codes are established in the preliminary planning phase of the project)

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/64Eimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/64Eimage.png)

# Ticket Categories

From the **Options Menu**, hover over **Violations** and select **Manage Ticket Categories**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Hb9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Hb9image.png)

Click **Edit** on the **Category** you wish to configure.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/tgCimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/tgCimage.png)

Enter the detail code for the ticket category.

In this case, the Detail Code is **PRKB** for the **Boot Fee** category.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/h12image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/h12image.png)

# Sales Window 

On the sales window configuration page, we need to enter a <span class="legacy-color-text-default">**Term Code** used for **Permits** only.</span>

<span class="legacy-color-text-default">To do so go to the **Permits** Menu and select **Sales Windows**</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/pXJimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/pXJimage.png)

<span class="legacy-color-text-default">To access the configuration screen, click on **EDIT.**</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Qzwimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Qzwimage.png)

<span class="legacy-color-text-default">Here you will enter the **Term Code** for the selected **Sales Window** that you want to appear on the permit purchases export.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/cl1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/cl1image.png)

<span class="legacy-color-text-default">  
</span>

# <span class="legacy-color-text-default">Activate Script to Run on a Schedule</span>

You must now ensure the **System Task** is set to active and has an active schedule set.

In the **Options** menu, click on **View System Task Logs**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/5eEimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/5eEimage.png)

In this example, the Task is set to run at 2:00 am Nightly

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/bBeimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/bBeimage.png)

# <span class="legacy-color-text-default">The User Portal</span>

<span class="legacy-color-text-default">You are now set to make a payment on the user portal. In this example, we will purchase a permit.</span>

<span class="legacy-color-text-default">Go to the user portal and click on the **Permits** menu item.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/3kCimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/3kCimage.png)

<span class="legacy-color-text-default">Select the Lot you wish to purchase a permit in.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/BtDimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/BtDimage.png)

<span class="legacy-color-text-default">Click **Reserve Permit**</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/9DBimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/9DBimage.png)

<span class="legacy-color-text-default">**Continue to Checkout** to view your **Cart**.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/0QZimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/0QZimage.png)

<span class="legacy-color-text-default">Select **Banner Payment** as your **Payment Type.**</span>

<span class="legacy-color-text-default">This can be configured so that Banner Payment is your only selection available.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/KGCimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/KGCimage.png)

<span class="legacy-color-text-default">Click **Submit Payment.**</span>

<span class="legacy-color-text-default">The screen will refresh to show the **Confirm Payment** page.</span>

<span class="legacy-color-text-default">Click on **Confirm Payment.**</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/6Xgimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/6Xgimage.png)

<span class="legacy-color-text-default">Once the payment is processed, you will get an online receipt.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/32Iimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/32Iimage.png)

Some additional information on how the Banner export process works:

Export to Banner will run whenever the system task is set to, and gathers any violations that can be sent to banner that haven't been exported yet. When a violation has been exported by the system task, it has a flag put on it that marks it has been exported to Banner.

It will export the violations it found into a new file, and does not affect any previously output files, meaning it doesn't create a cumulative file that gets more added each day. Rather, it creates a new file every time it runs; this isn't necessarily daily, it runs at whatever interval the client has decided for it.

This would mean if they missed a day, there would be more than one new file in the output folder for them to process in Banner.

# Search Payments

## Accessing the Report

From the Payments menu click on **Search**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/eUTimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/eUTimage.png)

The page will refresh with the **Payments Reporting** search form that gives you the ability to search by **Confirm Code, Transaction ID, Order ID**, as well as a number of present search items below.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2O2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/2O2image.png)

Here is an example of searching based on the **confirm code 7d444zbcdffe54b50bde**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/EGEimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/EGEimage.png)

Provided the confirm code exists in the system the screen will refresh with the **Transaction Details** for that purchase.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/wEwimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/wEwimage.png)

## Pre-Configured Searches

The search tool also has a number of additional pre configured searches that will help you find information quickly.  
Some of the reports will have the ambility to set a date range where others do not require a specified range.

**List Cheque Refunds**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/vorimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/vorimage.png)

**List unprocessed Cash, Cheque and Money Order payments**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/o5jimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/o5jimage.png)

**List unprocessed Credit Card payments**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/6RRimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/6RRimage.png)

**List unprocessed Payroll Deduction payments**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/kS7image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/kS7image.png)

  
**List unprocessed Internal payments**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/IMnimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/IMnimage.png)

  
**List ALL unprocessed payments**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/mB9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/mB9image.png)

  
**List ALL unprocessed adjustments**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/wS1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/wS1image.png)

  
**List ALL Processed Payroll Deductions**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/iXMimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/iXMimage.png)

  
**List All Processed Violations (by date range)**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Ddfimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Ddfimage.png)

  
**List Daily Processed/Submitted Payments (by date range)**

You may search for submitted payments as well as Processed payment in this report. The search criteria screen will look like this:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/lKUimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/lKUimage.png)

The resulting report will have two sections to it. One that lists the payments in detail.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/KErimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/KErimage.png)

...And one that lists a daily summary.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/XpLimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/XpLimage.png)

# Banner Report

## Generating the Report

To begin look for the **Banner Report** menu item under the **Payments Menu**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/qxFimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/qxFimage.png)

The screen will refresh and display the **Banner Report Search** page.

On this page you select:

**User Types:** Select the User Type you wish to report and pay for.   
**Choose Item Type:** Select the item you wish to pay for. In our example we are paying for yearly permits.  
**Up To and Including:** Select the end date of the period you wish to pay for.  
**Banner Code:** Enter the payment or identifying code that you wish to apply to this record in Banner. (Code 100)  
**Detail Code:** Enter the code that represents the item you are paying for. In our case it will be a yearly permit for 2020. (YP2020)  
**Admin Code:** Enter your admin ID number to track who is making this payment report.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/3CXimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/3CXimage.png)

There are two functions you can perform here. **Mark as Paid** or **Export to Excel**.

## Exporting to Excel

The export to Excel functionality allows the admin to export a spreadsheet of names and payments that will be made.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/uNBimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/uNBimage.png)

Here is a sample of an exported spreadsheet. This report can then be imported into Banner to facilitate payment through a Student or Staff account.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/gwAimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/gwAimage.png)

## Mark Items as Paid

To mark these reported items paid in OPSCOM Select Mark as Paid.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/NjFimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/NjFimage.png)

A popup window will appear for the admin to confirm the transaction.

 Click **Confirm** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/al4image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/al4image.png)

A confirmation screen will appear displaying the **transaction code** for the payment.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2ioimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/2ioimage.png)

If you searched the transaction code you would see this return. Note: All three items here are now paid for,

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/ehtimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/ehtimage.png)

# Flex Payments

## Configuring a Lot For Flex Payments

To begin create a **Flex Payment Lot** and added 10 permits to it (FLX001...FLX010)

To do so first go to **Lot Administration** and select **Pricing &amp; Lot Admin.**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/oLKimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/oLKimage.png)

Name the lot **Flex Payment Lot** or something you consider appropriate.  
Set the cost at **$0.00**  
Set the **Usertype** to the users who will be using Flex Payments. In our example we are using **Full Time Staff**.  
  
**Note: the lot does not have to be set to visible to users as this functionality will only be used on the Admin Portal**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/sGGimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/sGGimage.png)

  
Set the **Sales Window** to **Yearly**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/npAimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/npAimage.png)

## Adding Flex Permits to the Lot

Go to **Allocate** and add your ten permits.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/oiJimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/oiJimage.png)

## <span data-colorid="upfdfy7soj">Testing Flex Payments</span>

To test find a **Full Time Staff** user with a vehicle in our example we are using **John Doe**.  
Click on the **Parking** tab to begin the purchase process.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/rOpimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/rOpimage.png)

  
  
Purchase a permit from the **Flex Payment Lot**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/hZjimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/hZjimage.png)

Process it as if it were a **zero dollar cash purchase**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/pznimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/pznimage.png)

The **Payments Due** screen will open. Select **Proceed to Payment** to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/gy2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/gy2image.png)

On the very last confirmation screen click on **Adjust** to bring up the adjustment screen.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2YDimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/2YDimage.png)

Set a -200.00 value (credit). Added a comment (Flex Payment Adjustment) and clicked on **Add Adjustment**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/zycimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/zycimage.png)

## How the credit is displayed on the user Portal

Do not process the credit yet as it will appear as a credit on the users account.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/JZiimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/JZiimage.png)

This credit can now be applied to a permit purchase.

# Payroll Deduction Workflow

## Purchasing a permit using Payroll Deduction

  
In this scenario Patricia Birch will purchase a permit via Payroll Deduction. We will cover the purchase process on both admin and user side.

## <span data-colorid="dktrf3yocv">From the Admin Web App</span>

Here is the payment listed in the payments screen. Click on **Proceed to Payment**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/LJuimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/LJuimage.png)

The screen will refresh with the payment type selection tool. Select Payroll Deduction as the payment type and click on Submit Payment Information to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/gobimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/gobimage.png)

The confirmation screen appears. Please check the information to ensure it is correct. Then click Confirm Payment Information to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/klAimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/klAimage.png)

The screen will refresh with the Transaction Detail screen. To complete the purchase click on Process Manually to continue.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/4pwimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/4pwimage.png)

The screen will refresh with the final screen in the purchase process. The system considers the permit purchased at this point.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/nvgimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/nvgimage.png)

To collect on Payroll Deduction purchases, use the Payroll Deduction Report to help track purchases.

# Admin Portal Violation Payments with Credit Card

## <span data-colorid="gu8gufsr33">Paying a Violation with Visa</span>

Log in with your admin credentials on the admin side.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/rvvimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/rvvimage.png)

 Navigate under the violations tab to the search tab.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/oUTimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/oUTimage.png)

Type the ticket number into the search text box.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Vudimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Vudimage.png)

 In this case we looked up ticket TT-10016 and found that it belongs to user jsmith with a plate that is ABC123.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/DB4image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/DB4image.png)

 Click the Ticket # and you will be brought to the Violation Information tab

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/etyimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/etyimage.png)

Afterwards click on the actions tab and click on Make Payment.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/5bkimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/5bkimage.png)

 This will bring you to the user's payment page so you can process said violation.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/17fimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/17fimage.png)

 In this case you want to deselect any other objects that are not being paid for at the moment (in this case the permit) and click proceed to payment.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/ulhimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/ulhimage.png)

 This brings you to the checkout page where you have three ways you can handle this detailed below.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/HOaimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/HOaimage.png)

Click on the drop down menu in order to pick Credit Card, MasterCard or Visa. In this case we're going to use Visa.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/BNyimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/BNyimage.png)

 It will bring up the proper options for you to enter in credit card information and click 'Submit Payment Information'

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/0YGimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/0YGimage.png)

This will bring you to a payment type confirmation page, to continue press the 'Confirm Payment Information' button

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/1Zfimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/1Zfimage.png)

 The payment processes.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/6yQimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/6yQimage.png)

Then you get brought to a transaction details page

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/o2Iimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/o2Iimage.png)

## Paying with Visa (External)

This payment type is used when the customer chooses to pay by credit card at the parking office where a pin pad or cash register is used.

# Failed Payments Report

1. To access the report go to the **Payments** drop down menu and select **Search Failed Payments**.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2U9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/2U9image.png)
2. The **Failed Payments Report** screen will open. Enter a date range you wish to report on and click **Search**.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/ZX0image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/ZX0image.png)
3. The screen will refresh with a list of failed payment for that date range. In our example we are looking at **October 1st, 2018** to **October 15th, 2018.**  
    During that time period there were **5 failed payments**. The list shows the pay Id, confirmation code, amount of the payment, the date of the failed payment and the user name associated with the payment.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/u6Mimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/u6Mimage.png)
4. To drill down further click on the **Confirmation Code** button to access the transaction record.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/iBuimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/iBuimage.png)
5. The transaction record screen will open where you can see details about the failed transaction.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/tqYimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/tqYimage.png)
6. Some payment providers will return detailed information with an explanation as to why the payment failed, while other providers will simply supply an error code.  
    In this case note that there is a response code of **481** indicated in the information.  
    <span data-colorid="farrccez1i">  
    </span>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/jGAimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/jGAimage.png)
    
    <span data-colorid="farrccez1i">  
    A **481** code indicates there is an error in the information provided. U<span data-colorid="duzydrw3xj">sually an incorrect expiration date or an incorrect billing address.  
    The definition for these codes are easily found in a web search. In this case a search for **Credit card response code 481** provided the explanation.  
      
    </span></span>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/cbaimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/cbaimage.png)
    
    <span data-colorid="farrccez1i"><span data-colorid="duzydrw3xj">  
    </span></span>

# Mark Items as Paid

## Marking Items Paid Menu Option

Hover over **Payments** and click **Mark Items Paid**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/B0zimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/B0zimage.png)

Select Items to Mark Paid

The **Mark Outstanding Items Paid** screen displays. You can select different parameters such as user type, item type and time period.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/OI5image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/OI5image.png)

As an example, this setting will mark all locker rentals for **Full Time Staff**, purchased before April 1st, 2018 as paid.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/zCGimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/zCGimage.png)

## Bulk Mark Violations Paid

In cases where violations have been sent for collection, the admin would get a list back from the collection agency as to what payment have been retrieved.

The admin would then be able to mark these violations as paid.

To do so click on **Bulk by Number** beside Violations.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/9Ajimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/9Ajimage.png)

Enter the violations in the tool separated by a line return.

Keep in mind that you should not include the PIN with the violation number.

eg. 2-001345-**92** (92 is the PIN in this case)

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/u4Uimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/u4Uimage.png)

Select **Violations Paid Through Collection** from the drop-down list.

Click on **Mark Listed Paid** to complete the process.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/uHcimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/uHcimage.png)

# Payment Adjustments

## Releasing a Permit.

1. If you know the permit number perform a permit search. If you do not know the permit number, go to the user profile for whom you wish to release a permit.  
    Click on the permit number on the user dashboard.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/zPaimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/zPaimage.png)
2. From the permit detail click on the permit number  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/67zimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/67zimage.png)
3. You will be taken to permit search where you can released the permit  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/aSDimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/aSDimage.png)
4. It is advisable to leave a comment in order to track the reason the permit was released. Click release this permit.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Sazimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Sazimage.png)
5. A pop up window will appear. Click OK to confirm the release of the permit.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Xl2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Xl2image.png)
6. A confirmation message will app\[ear.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/BAwimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/BAwimage.png)
7. Now when you search the permit it will appear as available.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Btzimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Btzimage.png)

## Refunding a Violation

1. Once a user has paid a violation it can be refunded and placed back in awaiting payment status.
2. Go to the user's history and search for the violation you wish to refund. Click on the work Processed to access the transaction details.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/lqCimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/lqCimage.png)
3. Click on the Refund button to begin the process of refunding the violation  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/nzMimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/nzMimage.png)
4. A Refund payment Record window will open. It is advisable to enter a comment as to the reason the refund is being given.   
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/xjjimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/xjjimage.png)
5. Click on OK in the resulting pop up confirmation screen to complete the process.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Gaiimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Gaiimage.png)
6. The adjustment Information window will appear. Click on Process This Adjustment.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/l4Rimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/l4Rimage.png)
7. The transaction screen will refresh indicating "<span class="legacy-color-text-red2">The associated transaction was dropped or refunded; any refund details will appear below.<span class="legacy-color-text-blue1">"</span></span>  
    <span class="legacy-color-text-blue1">Notice the refund appears as an adjustment in the transaction record.  
    </span>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/hzximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/hzximage.png)
8. <span class="legacy-color-text-blue1">If you were to look at the user's history you will see the violation is back to requiring a payment.  
      
    </span>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/p1gimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/p1gimage.png)

## Refunding a Locker

1. To refund a locker, find the locker in the user's profile history. Click on the process date to access the transaction detail.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/z7simage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/z7simage.png)
2. Refund the locker by clicking the refund button.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/3y8image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/3y8image.png)
3. The refund payment record window will open. It is advisable to enter a comment as to why the locker is being refunded.  
    Click Refund Payment Record  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/CUvimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/CUvimage.png)
4. A confirmation screen will open. Click OK to continue.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/gSNimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/gSNimage.png)
5. the adjustment Information screen will open. Click on Process This Adjustment to complete the process.
6. In the user's history the locker now shows as released.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/x5nimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/x5nimage.png)
7. In the list of lockers in the building area the locker will appear as available after this process.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/vMiimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/vMiimage.png)

## Refunding a Temp Permit

1. Buy a Temp Permit
2. Pay Temp Permit
3. Refund Temp Permit
4. Temp Permit is Released

## Refunding a Violation and a Permit

1. Buy Permit
2. Get Violation
3. Pay for Violation and Permit
4. Refund Payment
5. Violation needs to be paid, permit is now available

## Adjusting a violation to $0

1. CAN'T BE DONE
2. Well I guess it can be done but the process is rough
3. Create a Payment with a permit and a violation
4. Adjust permit to cover the violation as well as the permit
5. Release the permit

# Electronic Fund Transfer Configurations

# Setup by Tomahawk

If you will be using EFT as a payment method, you must provide Tomahawk with the client number. This is provided by the Royal Bank and will be the identifier they use to deposit to your account.

This information can be setup under the Payments section of the Manage System Settings page.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/wv1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/wv1image.png)

# Creating EFT Files to Send to your Bank

Once the subscription is set up and you have performed a rollover, you can export the flat file that contains the EFT information. This file can be sent to your bank for processing. For details about submitting this to your bank, please contact your representative at the Royal Bank of Canada.

1. Go to the payments menu and select **EFT Export.** This will generate the file you need to send to your banking institution.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/oT1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/oT1image.png)

# **Marking EFT Items as Paid**

1. Once the payment has been processed at the bank, a report will be made available to you by your Banking institution. This report will contain information about what payments you submitted were successful. You can update the OPSCOM system and mark these as paid or NSF. To do this go to the Payment Menu and select **EFT Process.**  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/U0simage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/U0simage.png)
2. The **Electronic Funds Transfer Process** window opens. Here you have the ability to select three states for the payments:  
    **- Waiting -** This is the default status of the payment. If the payment has not been processed at the bank leave the payment record in Waiting status. **- Paid -** Toggle this state by clicking on the **Paid** checkbox.  **- Failed -** Select this checkbox if the payment failed for any reason. This will return the item to the user's profile as awaiting payment and archive the record.  
      
    Once you have completed this process click **Mark as Indicated** to finalize the process.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/fquimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/fquimage.png)

# Paying a Violation Anonymously on the Administrator Interface

To begin, go to the **Violations Menu** and select **Search.**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/8X1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/8X1image.png)

Enter either the ***Ticket Number*** or the ***License Plate*** number in the Search Text Field and click on **Search** **using only text**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/twdimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/twdimage.png)

This will return a listing of violations.

Note that the **Plate Number** has been found. (1)  
By clicking on the Ticket Number (2) you will bring up the **Violation Information** pop up screen.  
Click on the **Make Anonymous Payment** button to proceed to the Payment Entry process.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/lX1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/lX1image.png)

The **Payments Due** window will open allowing you to check to select the ticket you wish to pay. (4)  
Click **Proceed to Payment** (5) in order to advance to the payment due window.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/KL4image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/KL4image.png)

In the **Payment Due** window, you can select the method of payment. (6)

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/nL4image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/nL4image.png)

Note the list of payment types. Click **Submit Payment** to continue to process the payment.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/33himage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/33himage.png)

The screen will refresh, listing the transaction you are about to process. Click **Confirm Payment Information** (7)

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/i8vimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/i8vimage.png)

The payment will process and the screen will refresh with the **Transaction Detail** Window. At this point the transaction is complete.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/B7Ximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/B7Ximage.png)

Once the transaction is complete, you can search the violation and see that it is marked as "**PROCESSED**"

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Y2limage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Y2limage.png)

# Permit Purchase by an Admin

## Purchasing a Permit

1. To begin go to **pbirch's** user profile and click on the **Parking** menu item.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/XaPimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/XaPimage.png)
2. The screen will refresh with the following option screen. You may purchase a **Standard Permit**, a **Temporary Permit** or **Associate an Access Card with the User** from this screen.   
    In our case we will select a Standard Parking Permit.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/N3fimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/N3fimage.png)
3. The screen will refresh with the lot selection tool.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/F87image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/F87image.png)
    
      
    The drop down allows the admin to select various lots that are available for this user based on user type. In this scenario lots available to staff members can be selected.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/o9Vimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/o9Vimage.png)
    
      
    As suggested we will select the **Yearly After 4PM lot**. Notice the number of available spaces in each lot is displayed here as well.
4. The screen will refresh with a confirmation screen that displays the purchase details.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/vP1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/vP1image.png)
    
      
    The system will bring up the next available permit in sequence by default, however if there were a requirement to have a specific permit issued to the user, the admin may expand the **permit #** drop down to select a specific permit.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/r6Yimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/r6Yimage.png)
    
      
    Once the permit is selected Click on **Purchase this Permit** to proceed.
5. The screen will refresh with the **Payments Screen** listing the permit as well as any other payment that would be due at this time. Click **Proceed to Payment** to continue.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/gvgimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/gvgimage.png)
6. The screen will refresh with the **Payment Type** selection tool.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/S0Uimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/S0Uimage.png)
    
      
      
    The admin may select whatever payment type they wish to process this payment with from the drop down list.  
    In our case we will select **cash** as the payment type. Click **Submit Payment Type** to proceed.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/IO4image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/IO4image.png)
7. The screen will refresh with a confirmation screen showing the payment details with totals. Click on **Confirm Payment Information** to proceed.  
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Hloimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Hloimage.png)
8. The screen will refresh with the **Transaction Details** screen. There are several sections on this screen that display specific information about your transaction.  
      
    1- The **Confirmation Number** for this transaction.   
    2- The **Submit Date** along with a **View Snapshot** link which allows you to see the payment information for this purchase, however, it does not allow you to drill into the details of each transaction from the snapshot (In the example below, Permit No. 60). It will only display the total of all items and the value of each item individually.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/FN7image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/FN7image.png)

  
3- The **Payment Method** which can actually be changed at this point if needed.   
4- Three options are available:  
**Process Manually** which will complete the purchase  
**Cancel &amp; Keep** which will cancel the transaction but keep the transaction details and reserve the permit so that you can process the payment at another time.  
  
Click on **Process Manually** to complete the purchase.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/7z9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/7z9image.png)

1. The screen will refresh with the final Transaction Detail screen. This information screen can be accessed in the future from the user's history in order to view this information.  
    The admin has the option from this screen to perform a refund if needed.   
      
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/U0qimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/U0qimage.png)

## Payment Notes

<span class="legacy-color-text-blue3">Payment Notes allow Admins to annotate refunds and other payment anomalies. These notes are private and not visible to the end user.  
  
</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/X7bimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/X7bimage.png)

<span class="legacy-color-text-blue3">  
</span>

# Transact Campus/CashNet Hosted Payment Setup

## <span data-colorid="kaca6tcb66">Setting up the Payment Page</span>

- Details you will have to provide to OPSCOM support:

<div class="table-wrap" id="bkmrk-setting-details-merc"><table class="wrapped confluenceTable" style="width: 100%;"><colgroup><col style="width: 11.7937%;"></col><col style="width: 88.2063%;"></col></colgroup><thead><tr><th class="confluenceTh">Setting

</th><th class="confluenceTh">Details

</th></tr></thead><tbody><tr><td class="confluenceTd">merchant

</td><td class="confluenceTd">The merchant code we will be submitting items against. This is the Merchant Code on the clients system.

</td></tr><tr><td class="confluenceTd">item code

</td><td class="confluenceTd">They need to set up an item and give us the code. The item will need to be allowed to change the value. See below for the screen. These codes need to match exactly what the client has configured or the transactions will fail.

</td></tr></tbody></table>

</div>## <span data-colorid="wgigebyk91">Payment Page</span>

- Found in Store Settings.
- Details OPSCOM will give to clients:

<div class="table-wrap" id="bkmrk-setting-value-sign-o"><table class="wrapped confluenceTable"><colgroup><col></col><col></col></colgroup><thead><tr><th class="confluenceTh">Setting

</th><th class="confluenceTh">Value

</th></tr></thead><tbody><tr><td class="confluenceTd">Sign-out &amp; Complete payment

</td><td class="confluenceTd">`https://hostedpayments.parkadmin.com/hook/cashnet/CLIENTS-UNIQUE-HOSTED-ID/?a=r` (example)

</td></tr><tr><td class="confluenceTd">Sign-out &amp; Incomplete

</td><td class="confluenceTd">`https://hostedpayments.parkadmin.com/hook/cashnet/CLIENTS-UNIQUE-HOSTED-ID/?a=f` (example)

</td></tr><tr><td class="confluenceTd">Pass information to calling system

</td><td class="confluenceTd">Append Data using GET

</td></tr></tbody></table>

</div><p class="callout info">Please replace the sample "CLIENTS-UNIQUE-HOSTED-ID" in the URLs above with the one provided to you by CashNet.</p>

## Found in Notifications

<div class="table-wrap" id="bkmrk-setting-value-succes"><table class="wrapped confluenceTable"><colgroup><col></col><col></col></colgroup><thead><tr><th class="confluenceTh">Setting

</th><th class="confluenceTh">Value

</th></tr></thead><tbody><tr><td class="confluenceTd">Successful &amp; Failed Transactions

</td><td class="confluenceTd">`https://hostedpayments.parkadmin.com/hook/cashnet/CLIENTS-UNIQUE-HOSTED-ID/?cb=TO-BE-DETERMINED` (example)

</td></tr><tr><td class="confluenceTd">Select format for HTTP content

</td><td class="confluenceTd">Name Value Format (POST)

</td></tr></tbody></table>

</div>## Store Settings

- Under Store Settings, you will need to configure the following settings based on the URLs supplied by OPSCOM:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-05/scaled-1680-/PgLimage.png)](https://opscom.wiki/uploads/images/gallery/2024-05/PgLimage.png)

## Configure CashNet "HTTP Notifications" Section

- Go to the "HTTP Notifications" configuration with CashNet.

##### HTTP Notifications

- If you would like HTTP notifications, enter the URL next to each category. If you leave the field blank you will not receive notifications for that category.
- New outbound connections from [CASHNet.com](http://cashnet.com/) will not work until they are allowed through the CASHNet firewall.
- Please contact CASHNet Client Support if you need to enable a new connection.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-05/scaled-1680-/wRCimage.png)](https://opscom.wiki/uploads/images/gallery/2024-05/wRCimage.png)

## Setting Item codes

- On the item code itself, we need this set the following:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-05/scaled-1680-/f4pimage.png)](https://opscom.wiki/uploads/images/gallery/2024-05/f4pimage.png)

# TouchNet (uPay) Hosted Payments

##### Credentials Required:

Your TouchNet Account Manager can provide you with the following information:

- **uPay Site ID**: Usually a 3 digit number for example 013
- **uPay**: A secure URL that uniquely identifies your account
- **T-Link web service**: Another secure URL that uniquely identifies your account

These credentials will be given to you for both a Sandbox (Test) and a Production (Live) environment.

Please provide these details to your OPSCOM Account Manager. Charges for setup may apply.

##### T-Link Web Service:

OperationsCommander's parent company Tomahawk Technologies is a [TouchNet ready partner](https://partners.touchnet.com/english/directory/partner/1512039/tomahawk-technologies). When configuring the T-Link in your TouchNet account you maybe asked to select a TouchNet ready partner from a dropdown, please select "Tomahawk Technologies".

If you don't have the ability to configure a T-Link web service URL and your TouchNet Account Manager hasn't supplied one, you may need to request TouchNet setup a "uPay" site for you which supports T-Link web services.

##### GL (General Ledger) Codes:

OperationsCommander's TouchNet integration currently supports multiple GL (General Ledger) codes. One code can be specified for parking permits, another for all other payments (violations, lockers, etc). The GL code can also be the same for all purchases. If using GL codes please let your OPSCOM Account Manage know the GL code name(s) you setup in your TouchNet account.

# SchoolPay

<p class="callout info">OPSCOM supports [SchoolPay](https://www.schoolpay.com/) hosted payment integration. This means your OPSCOM users can use SchoolPay to pay for items in OPSCOM such as permits, lockers, violations, etc.</p>

## Add a new Payment Type:

You can create a new payment type by selecting **System Configuration** → **Payments** → **Setup Payment Types** →**Add Type.**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/rldimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/rldimage.png)

If you don't see "Setup Payment Type" as shown above you may need to give your <u>[role the permission](https://wiki.OPSCOM.com/x/B4DjAQ)</u> to do so.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Wq2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Wq2image.png)

<span class="legacy-color-text-blue3">Select "</span>**SchoolPay - Hosted**<span class="legacy-color-text-blue3">" as your provider → </span>**Next Step**<span class="legacy-color-text-blue3">.</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Tb7image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Tb7image.png)

## Edit Payment Type User Types:

<span class="legacy-color-text-blue3">You should now be brought to the "</span>**Edit Payment Type**<span class="legacy-color-text-blue3">" page:</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/VPuimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/VPuimage.png)

**Type Name:** The type name can be whatever you want it to be, though please note this will also be the name displayed to users when using payment checkout and selecting a payment method. You can reference the specific hosted payment provider such as SchoolPay or something more generic such as "Online Credit Card Payment", "Online payment", "Credit Card", etc. Really it's up to you and what you think makes most sense to your site users when making a payment, also might depend on what payment methods your SchoolPay account supports.

**Enabled for User Types**: Select the <u>User Types</u> you wish this new Payment Type to be visible to so they can select it during payment checkout. You can change these user types at any time

## Edit Payment Type Settings:

There are additional required configuration fields in the **Settings** area:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/0ZKimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/0ZKimage.png)

<span data-colorid="nflxva7i3c">**Enable for Text2ParkMe**: This payment setting isn't currently supported using OPSCOM SchoolPay integration.</span>

<span data-colorid="ixsco91rob">**Enable for Permit Renewal Payments**: This payment setting isn't currently supported using OPSCOM SchoolPay integration.</span>

<span data-colorid="a67mvje4ni">**Enable for Guest Payments**: if you aren't using this feature leave the button unchecked.</span>

<span data-colorid="tenq6h9k3p">**Prompt Information**: Only "Email Address" is supported with SchoolPay Hosted Payments at this time.</span>

<span data-colorid="vwwmb4zr4u">**Credentials**:</span>

- **Username**: Obtained from SchoolPay.
- **Password**: Obtained from SchoolPay.
- **Item ID**: Obtained from SchoolPay.
- <span data-colorid="yfjt9al2da">**Production/Sandbox**: Select whether you are using your SchoolPay Production/Live credentials or Sandbox/Testing credentials. Additionally, although not required you may find your OPSCOM preview space helpful for testing Sandbox/testing credentials, this way you can keep your production/live OPSCOM data (permits, users, payments, violations, etc) clean/separate during any testing.</span>

Don't forget to save your new payment type by clicking the "Update Payment Type" button along the bottom of the page:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Cxqimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Cxqimage.png)

Nothing further needs to be done, however if you are curious what the user process looks like when purchasing something in OPSCOM using SchoolPay a number of screenshots are below to show this.

## User flow screenshots:

User selects SchoolPay payment type in OPSCOM and supplies an email address for identification and email receipt:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/RKPimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/RKPimage.png)

User confirms payment in OPSCOM:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/xeiimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/xeiimage.png)

User is then redirected to SchoolPay's secure system for payment details and processing:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Unkimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Unkimage.png)

User confirms payment details and selects "Finish" at which point their payment method is charged for the transaction:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/KISimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/KISimage.png)

If the payment is successful users will be automatically redirected back to OPSCOM checkout with a payment confirmation:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/LMIimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/LMIimage.png)

Email receipts will also be sent from SchoolPay and OPSCOM to the user supplied email address.

# PayPal

## Step #1: Create a PayPal Account

Configure OPSCOM with your PayPal email address, selected currency and whether you are configuring for production use.

## Step #2: Add credentials to OPSCOM

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/yGTimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/yGTimage.png)

Supply appropriate credentials.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/mEwimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/mEwimage.png)

# OpenEdge Hosted Payments

#### Sign up for your new OpenEdge Account Here: [OPSCOM / OpenEdge](https://lp.globalpaymentsintegrated.com/referrals/OPSCOM/).

On the sign up form you will be asked for **Representative Information.** Here is the correct information to enter:

- **Rep First Name**: Phil
- **Rep Last Name**: MacCallum
- **Rep Email**: [phil.maccallum@ops-com.comcom](mailto:phil@ops-com.comcom)
- **Rep Phone**: <span class="legacy-color-text-default">855.410.4141 x 224</span>

#### Credentials Required:

Your OpenEdge Account Manager can provide you with the following information:

- **Auth Key**: a multi-digit string key
- **Terminal ID**: a 8 digit numeric key
- **X-Web ID**: a 12 digit numeric key

This will be given to you for both a Sandbox and a Production environment.

### <span data-colorid="toy83ug2ln">Create OpenEdge Payment Type:</span>

You can create a new payment type by selecting **System Configuration** (<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size">![](https://OPSCOM.atlassian.net/wiki/download/thumbnails/766855/image-2023-6-29_12-36-16.png?version=1&modificationDate=1688042177000&cacheVersion=1&api=v2&width=35&height=28)</span> icon in the OPSCOM admin side menu ) → **Payments** → **Setup Payment Types** →**Add Type.**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/AIIimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/AIIimage.png)

Select "**EdgeExpress - Hosted**" as your provider → **Next Step**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/D7Ximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/D7Ximage.png)

You should now be brought to the "**Edit Payment Type**" page:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/vOmimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/vOmimage.png)

**Type Name:** The Type name can be whatever you want it to be, though please note this will also be the name displayed to users when using payment checkout and selecting a payment method. You can reference the specific hosted payment provider such as OpenEdge/Edge Express or something more generic such as "Online Credit Card Payment", "Online payment", "Credit Card", etc. Really it's up to you and what you think makes most sense to your site users when making a payment, also might depend on what payment methods your OpenEdge/EdgeExpress.

**Enabled for User Types**: Select the User Types you wish this new Payment Type to be visible to so they can select it during payment checkout. You can change these user types at any time

There are additional required configuration fields in the **Settings** area:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/CGTimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/CGTimage.png)

<span data-colorid="w2wr7v718f">**Enable for Text2ParkMe**: if you aren't using this module leave the button unchecked.</span>

<span data-colorid="v9bh8x3vuw">**Enable for Permit Renewal Payments**<span data-colorid="dp6mm4oppx">: if you aren't using this feature leave the button unchecked.</span></span>

<span data-colorid="np8ylan13f"><span data-colorid="c8m1xj6jbu">**Enable for Guest Payments**: if you aren't using this feature leave the button unchecked.</span></span>

<span data-colorid="p33r8z9kbm"><span data-colorid="npe70tmgif">**Prompt Information**: Only "Email Address" is supported with OpenEdge Hosted Payments at this time.</span></span>

<span data-colorid="dr4lcw7mqr"><span data-colorid="sad1496whj">**Credentials**:</span></span>

- <span data-colorid="ajz88ft2a4">**Production/Sandbox**: Select whether you are using your OpenEdge Production/Live credentials or Sandbox/Testing credentials. Additionally, although not required you may find your OPSCOM preview space helpful for testing Sandbox/testing credentials, this way you can keep your production/live OPSCOM data (permits, users, payments, violations, etc) clean/untouched during any testing.</span>

<span data-colorid="x7yp9h54nh">As referenced above, your OpenEdge Account Manager can provide you with the following credentials:</span>

- **Auth Key**: a multi-digit string key.
- **Terminal ID**: a 8 digit numeric key.
- **X-Web ID**: a 12 digit numeric key.

Don't forget to save your new payment type by clicking the "Update Payment Type" button along the bottom of the page:

<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size">![](https://OPSCOM.atlassian.net/wiki/download/thumbnails/766855/image-2023-6-29_13-54-43.png?version=1&modificationDate=1688046883000&cacheVersion=1&api=v2&width=172&height=31)</span>

Done, the new OpenEdge/Edge Express hosted payment type has been added to your OPSCOM system and you should be ready to test the payment/checkout process using this new payment type.

To test: Using a test user, add a vehicle if none already present, then purchase a $1.00 permit or violation using the new payment type. Complete and pay for the transaction. Once complete the test user will receive an email receipt showing the successful payment. Confirm that your company has received the payment into your bank account to verify that the setup is working correctly.

For some additional reference/clarification this is what the OpenEdge hosted payment page looks like to website users during the checkout/payment process:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/4nkimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/4nkimage.png)

# Moneris Checkout

<p class="callout info">This article provides OPSCOM system admins with a comprehensive guide to setting up and configuring Moneris Checkout as a payment provider. Moneris Checkout is a full-service partner that allows you to support a wide range of payment options within OPSCOM.</p>

---

## Setup and Configuration

Properly configuring Moneris Checkout involves two key stages: configuring the settings within your Moneris merchant account and then mirroring the appropriate settings within OPSCOM. **We recommend using the pre-auth settings in both Moneris and OPSCOM for the most reliable payment process.**

**See this gif image, which shows what setting to change on the Moneris Merchant Resource Center, in order to switch from purchase to pre-authorization. (shown in the image below, beside capture method)**

[![2026-02-24_14-33-17.gif](https://opscom.wiki/uploads/images/gallery/2026-02/2026-02-24-14-33-17.gif)](https://opscom.wiki/uploads/images/gallery/2026-02/2026-02-24-14-33-17.gif)

### Information Required for Setup

![embedded-image-8c6xeq2r.png](https://opscom.wiki/uploads/images/gallery/2026-02/embedded-image-8c6xeq2r.png)

Before beginning the configuration, you must create a profile in your Moneris account. From there, you will need to obtain the following credentials from within the Moneris account. OPSCOM will require these details to connect to the service.

- store\_id: store#
- api\_token: xxXXXXX
- checkout\_id: xxxxxxxxStore#
- Hosted\_token\_id (Generated by you, later on in this document)

&lt;div class="info-box"&gt; You must also determine if your Moneris security settings, such as Address Verification Service (AVS), will require your customer's billing address to be collected. This decision affects which fields OPSCOM will prompt the user to complete.

&lt;/div&gt;

### Moneris Portal Configuration

1. Log in to the Moneris Merchant Resource Center and navigate to the configuration area.

![](https://opscom.wiki/uploads/images/gallery/2025-11/embedded-image-61c6pvfc.png)

2. Click Admin in the main menu and select Moneris Checkout Config.
3. Locate your checkout profile (e.g., MOC-SPO) and click to edit it.

![](https://opscom.wiki/uploads/images/gallery/2025-11/embedded-image-1kv55n4a.png)

From there, you can change any of the settings:

![](https://opscom.wiki/uploads/images/gallery/2025-11/embedded-image-vgj6uuhk.png)![](https://opscom.wiki/uploads/images/gallery/2025-11/embedded-image-yayvnvgz.png)

#### Checkout Type

**Select;**

“I have my custom order form and want to use Moneris simply for payment processing.”

This ensures that Moneris provides the payment fields embedded within your existing OPSCOM order form.

#### Multi-Currency

This feature can be enabled if you need to process payments in multiple currencies.**![](https://opscom.wiki/uploads/images/gallery/2025-11/embedded-image-iconzmmn.png)**

<p class="callout warning">**Feature Limitations:** with Multi-Currency Enabling Multi-Currency will disable support for Recurring Billing, Gift Cards, 3-DSecure 1.0, and Google Pay.</p>

#### Payment

This section defines transaction rules and security options.

- **This is where you can control whether or not you wish to use a pre-authorize or payment capture model, the benefits of which are described above.**
- **Payment Security:** It is your decision whether to enable security features like AVS and CVV. **If you enable these, you must configure OPSCOM to collect the full billing address from users**. Note that if Multi-Currency is active, 3D Secure is not supported.
- **Transaction Type:** You can set this to either preauthorize, or purchase. **THE PAYMENT TYPE IN OPSCOM MUST ALSO BE CONFIGURED THE SAME WAY.**
- **Tokenize Card:** Ensure the Tokenize Card option is ***disabled***. Card tokenization for recurring payments is handled by the **Moneris Vault**, which is configured separately.

<p class="callout info">The purchase model (current) requires a client's connection be stable. Should anything interrupt that, javascript errors, spotty connection, etc., the callback will not reach OPSCOM. With the new pre-auth model, the capturing of the funds now happens server to server meaning neither the client, the app, nor spotty connections can interfere with processing the payment. The Preauthorize Capture model provides a more reliable payment process.</p>

#### Branding and Design

To ensure the payment form integrates smoothly with the user experience:

- Disable the Enable Fullscreen checkbox. This prevents the checkout form from taking over the entire screen.

The rest of the branding and design decisions can be configured to your liking.

#### Order Confirmation

Configure Moneris to redirect the user back to OPSCOM after a payment attempt.

- Select the option “Use Own Page” for the order confirmation. This allows OPSCOM to display the final success or failure receipt.

---

### OPSCOM System Configuration

Payment Types Setup

Please click this [hyperlink](https://opscom.wiki/books/setup-configuration-for-admins/page/managing-payment-types) to be redirected to our Payment Types Setup documentation, and then finish the remaining steps after that has been finished.

Create a new section for setting up Hosted providers. We currently have only three:

- [OpenEdge](https://opscom.wiki/books/the-opscom-admin-portal/page/openedge-hosted-payments)
- [Moneris Checkout ](https://opscom.wiki/books/the-opscom-admin-portal/page/moneris-checkout)
- [Bambora Checkout](https://opscom.wiki/books/the-opscom-admin-portal/page/bambora-checkout)

---

##### Moneris Vault for Stored Payments

![](https://opscom.wiki/uploads/images/gallery/2025-11/embedded-image-peemycxa.png)

Moneris Vault is a complementary service used for tokenizing and storing credit cards for future use, such as with parking rollovers or Text2ParkMe. This functionality requires one additional piece of information during setup:

- hosted\_token\_id: This ID is generated from the Hosted Tokenization page within the Moneris portal.

If you encounter an "Invalid credentials" error when attempting to tokenize a card, it is likely due to a missing hosted\_token\_id or because the token's "Source URL" authentication does not match the domain you are using. For testing, you can use a profile without Source URL authentication.

---

## <span style="color: rgb(22, 145, 121);">Best Practices and Troubleshooting</span>

### <span style="color: rgb(22, 145, 121);">Common Billing and AVS/CVV Errors</span>

<span style="color: rgb(22, 145, 121);">The most common issue during setup is a mismatch between Moneris's expectations and the data OPSCOM provides.</span>

<span style="color: rgb(22, 145, 121);"> If Moneris is configured to require and validate billing details (AVS is enabled), but OPSCOM is only configured to ask for an email address (promptFor is set to anonymous), all transactions will fail. You must ensure the OPSCOM configuration matches the security requirements you set in the Moneris portal.</span>

# Moneris Hosted Paypage

<span class="confluence-embedded-file-wrapper confluence-embedded-manual-size">![](https://OPSCOM.atlassian.net/wiki/download/thumbnails/761893/Moneris_R_MD_BIL_RGB_2016.png?version=1&modificationDate=1524134847000&cacheVersion=1&api=v2&width=200&height=63)</span>

## Setting up Moneris Gateway

**\[Step 1\]** - Login to your Moneris account:

**Development**/Testing Login: [https://esqa.moneris.com/mpg/](https://esqa.moneris.com/mpg/)  
**Production**/Live Login: [https://www3.moneris.com/mpg](https://www3.moneris.com/mpg)

**\[Step 2\]** - Once logged into your Moneris account select **Admin** &gt; **Hosted Paypage Config**.

**\[Step 3\]** - Along the top of the Hosted Paypage Configuration you should see your **ps\_store\_id** and **hpp\_key**. Please copy these details and send them to your **<span class="legacy-color-text-red2">Operations</span>Commander (OPSCOM) contact.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/PTRimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/PTRimage.png)

**\[Step 4\]** - On the Hosted Paypage Configuration page select the settings shown in the below screenshot.

**\*<span class="legacy-color-text-red2">Note</span>**: We will send you the correct **Approved URL** and **Declined URL** to use. That being said, the URLs are listed below. If you do not know what URLs to use (**Development** or **Production**) please consult your **<span class="legacy-color-text-red2">Operations</span>Commander (OPSCOM) contact.

**Development**/Testing:  
Approved URL: [https://hostedpayments.**preview**.parkadmin.com/hook/moneris/](https://hostedpayments-dev.parkadmin.com/hook/moneris/)  
Declined URL: [https://hostedpayments.**preview**.parkadmin.com/hook/moneris/](https://hostedpayments-dev.parkadmin.com/hook/moneris/)

**Production**/Live:  
Approved URL: [https://hostedpayments.parkadmin.com/hook/moneris/](https://hostedpayments.parkadmin.com/hook/moneris/)  
Declined URL: [https://hostedpayments.parkadmin.com/hook/moneris/](https://hostedpayments.parkadmin.com/hook/moneris/)

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/bWvimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/bWvimage.png)

**\*<span class="legacy-color-text-red2">Note</span>**: The following **\[Steps\]** are related to the additional configuration pages along the bottom of the main Hosted Paypage Configuration:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/XYQimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/XYQimage.png)

**\[Step 5\]** - **Paypage Appearance**

These are all optional settings related to the appearance of your Moneris Hosted Paypage. There is a preview button that allows you to view changes. This will be the page that your customers see when supplying their payment details during the checkout process through **<span class="legacy-color-text-red2">Operations</span>Commander (OPSCOM).

**\[Step 6\]** - **Response/Receipt Data**

Select the settings shown in the below screenshot.

**\*<span class="legacy-color-text-red2">Note</span>**: We will send you the correct **Async Response URL** to use. That being said, the URLs are listed below. If you do not know what URLs to use (**Development** or **Production**) please consult your **<span class="legacy-color-text-red2">Operations</span>Commander (OPSCOM) contact.

**Development**/Testing:  
Async Response URL: [https://hostedpayments.**preview**.parkadmin.com/hook/moneris/](https://hostedpayments-dev.parkadmin.com/hook/moneris/)

**Production**/Live:  
Async Response URL: [https://hostedpayments.parkadmin.com/hook/moneris/](https://hostedpayments.parkadmin.com/hook/moneris/)

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/RVdimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/RVdimage.png)

**\[Step 7\]** - **Security Features**

Select the settings shown in the below screenshot.

**\*<span class="legacy-color-text-red2">Note</span>**: We will send you the correct **Response URL** to use. That being said, the URLs are listed below. If you do not know what URLs to use (**Development** or **Production**) please consult your **<span class="legacy-color-text-red2">Operations</span>Commander (OPSCOM) contact.

**Development**/Testing:  
Response URL: [https://hostedpayments.**preview**.parkadmin.com/hook/moneris/](https://hostedpayments-dev.parkadmin.com/hook/moneris/)

**Production**/Live:  
Response URL: [https://hostedpayments.parkadmin.com/hook/moneris/](https://hostedpayments.parkadmin.com/hook/moneris/)

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Qyfimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Qyfimage.png)

**\[Step 8\]** - **Email Receipts**

These are optional settings related to sending customers email receipts. **<span class="legacy-color-text-red2">Operations</span>Commander (OPSCOM) doesn't currently send email receipts so you may wish to enable this functionality. By default **<span class="legacy-color-text-red2">Operations</span>Commander (OPSCOM) will display a receipt back to users after a successful or failed transaction and allow successful payments to be reviewed at a later date under the users account history.

## Moneris Test Credit Cards

Moneris provides a list of credit card numbers you may use to test against during your penny testing

## Payments Declined

If you are having payments declined issue after you have set up please make sure that you are checking your total against the penny value simulator. This chart allows you to force certain callback responses based on the amount paid by the test visa gateway: [https://developer.moneris.com/en/More/Testing/Penny%20Value%20Simulator](https://developer.moneris.com/en/More/Testing/Penny%20Value%20Simulator)

# Chase E-xact Hosted Payments

<p class="callout info">Unlike the Direct Post Method, E-xact uses Hosted Payment Page (HPP) integration with Relay Response. The customer is redirected to E-xact's secure payment form, and transaction results are posted back to our webhook endpoint.</p>

## Setting up Chase E-xact Payments

In order to configure the client OPSCOM site to use Chase E-xact Hosted Payments the client must supply the following credentials:

- Company Name
- Their exacted
- The password used to access the account

# Bambora Checkout

<p class="callout info">To properly configure your Bambora/Wordline payment type in OPSCOM you will require two separate "Authorization Headers". These headers will be referenced below as:  
<span style="color: rgb(0, 0, 0); background-color: rgb(45, 194, 107);">**<span style="text-decoration: underline;">  
Payment</span> Authorization Header**</span>  
**<span style="background-color: rgb(241, 196, 15);"><span style="color: rgb(0, 0, 0);"><span style="text-decoration: underline;">Profile</span> Authorization Header</span>  
  
</span>**The process to generate the two different encoded headers is similar in that both require your Bambora Merchant ID + API access passcode, and both are encoded at the same link, however the API access passcode is different for each and shown on different pages in Bambora (order settings vs payment profile configuration).</p>

## Bambora Configuration:

### Order Settings:

<table border="1" id="bkmrk-login-to-your-bambor" style="border-collapse: collapse; width: 100%; height: 29.7969px; border-width: 0px;"><colgroup><col style="width: 46.9048%;"></col><col style="width: 53.0952%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px; border-width: 0px;">[![2024-10-28_13-30-48.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/o7e2024-10-28-13-30-48.png)](https://opscom.wiki/uploads/images/gallery/2024-10/o7e2024-10-28-13-30-48.png)</td><td style="height: 29.7969px; border-width: 0px;">Login to your Bambora account, then on the left navigation select **Administration** → **Account Settings** → **Order Settings.**</td></tr></tbody></table>

#### API access passcode (**<span style="background-color: rgb(45, 194, 107);"><span style="text-decoration: underline;">Payment</span> Authorization Header</span>**):

On the Order settings page scroll down to "**API access passcode**". If there is nothing in the API access passcode field click the "**Generate New Code**" button. After generating your API access passcode make sure to scroll down to the bottom of the page and click "Update" to save your changes.

#### Merchant ID (MID):

<table border="1" id="bkmrk-your-merchant-id-can" style="border-collapse: collapse; width: 100%; border-width: 0px; height: 122.391px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 122.391px;"><td style="border-width: 0px; height: 122.391px;">[![2024-10-28_13-44-08.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/2024-10-28-13-44-08.png)](https://opscom.wiki/uploads/images/gallery/2024-10/2024-10-28-13-44-08.png)</td><td style="border-width: 0px; height: 122.391px;">Your Merchant ID can be found in the top right of your Bambora account.</td></tr></tbody></table>

#### Encode API Passcode (**<span style="background-color: rgb(45, 194, 107);"><span style="text-decoration: underline;">Payment</span> Authorization Header</span>**):

<table border="1" id="bkmrk-now-that-you-know-yo" style="border-collapse: collapse; width: 100%; height: 1090.39px; border-width: 0px;"><colgroup><col style="width: 44.7619%;"></col><col style="width: 55.2381%;"></col></colgroup><tbody><tr style="height: 442.125px;"><td style="height: 442.125px; border-width: 0px;">[![bambora updated image.png](https://opscom.wiki/uploads/images/gallery/2026-01/bambora-updated-image.png)](https://opscom.wiki/uploads/images/gallery/2024-10/2024-10-28-13-50-39.png)</td><td style="height: 442.125px; border-width: 0px;">Now that you know your **API access passcode** and **Merchant ID** [go here.](https://docs.na.worldline-solutions.com/plan-your-integration/create-a-test-account/encode-api-passcode "Encode API Passcode") Copy and paste your Merchant ID (1) and API access passcode (2) into the appropriate fields, then click "**Encode**"(3).

Copy/record the <span style="color: rgb(0, 0, 0); background-color: rgb(45, 194, 107);">**<span style="text-decoration: underline;">Payment</span> Authorization Header**</span> shown. This will be needed later when you setup the Bambora Checkout payment type in OPSCOM. It will be referenced further down this page as the <span style="color: rgb(0, 0, 0); background-color: rgb(45, 194, 107);">**<span style="text-decoration: underline;">Payment</span> Authorization Header**</span>. You should temporarily paste this into a program such as Notepad for easy access later since you will need it later during the OPSCOM configuration.

<p class="callout info">You will want to make sure to copy only the following section returned (excluding quotation marks):  
  
"Passcode \_\_\_\_\_\_"  
  
For example, select/copy as shown in the highlighted example below, starting at the P on Passcode. We want to exclude/not copy "Authorization:"[![bambora-image-2.png](https://opscom.wiki/uploads/images/gallery/2026-01/scaled-1680-/kDXbambora-image-2.png)](https://opscom.wiki/uploads/images/gallery/2026-01/kDXbambora-image-2.png)  
</p>

</td></tr><tr style="height: 109.625px;"><td colspan="2" style="border-width: 0px; height: 109.625px;">---

<p class="callout info">Similar to the above process for encoding your <span style="color: rgb(0, 0, 0);">**<span style="background-color: rgb(45, 194, 107);"><span style="text-decoration: underline;">Payment</span> Authorization Header</span>**</span>, we will be going through a similar process for encoding your <span style="color: rgb(0, 0, 0);">**<span style="background-color: rgb(241, 196, 15);"><span style="text-decoration: underline;">Profile</span> Authorization Header</span>**</span>.</p>

### Payment Profile Configuration:

</td></tr><tr style="height: 205.391px;"><td style="border-width: 0px; height: 205.391px;">[![2024-10-29_14-52-45.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/2024-10-29-14-52-45.png)](https://opscom.wiki/uploads/images/gallery/2024-10/2024-10-29-14-52-45.png)</td><td style="border-width: 0px; height: 205.391px;">Login to your Bambora account, then on the left navigation select **Configuration** → **Payment Profile Configuration.**

</td></tr><tr style="height: 123.828px;"><td colspan="2" style="border-width: 0px; height: 123.828px;">#### API access passcode (**<span style="background-color: rgb(241, 196, 15);"><span style="text-decoration: underline;">Profile</span> Authorization Header</span>**):

Under Security Settings make sure "API access passcode:" is selected. If there is nothing in the API access passcode field click the "**Generate New Code**" button. After generating your API access passcode make sure to scroll down to the bottom of the page and click "Update" to save your changes.

</td></tr><tr style="height: 90.2344px;"><td colspan="2" style="border-width: 0px; height: 90.2344px;">#### Merchant ID (MID):

</td></tr><tr style="height: 29.7969px;"><td style="border-width: 0px; height: 29.7969px;">[![2024-10-28_13-44-08.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/2024-10-28-13-44-08.png)](https://opscom.wiki/uploads/images/gallery/2024-10/2024-10-28-13-44-08.png)</td><td style="border-width: 0px; height: 29.7969px;">Your Merchant ID can be found in the top right of your Bambora account.

</td></tr><tr style="height: 29.7969px;"><td colspan="2" style="border-width: 0px; height: 29.7969px;">#### Encode API Passcode (<span style="background-color: rgb(241, 196, 15);">**<span style="text-decoration: underline;">Profile</span> Authorization Header**</span>):

</td></tr><tr style="height: 29.7969px;"><td style="border-width: 0px; height: 29.7969px;">[![bambora updated image.png](https://opscom.wiki/uploads/images/gallery/2026-01/bambora-updated-image.png)](https://opscom.wiki/uploads/images/gallery/2024-10/2024-10-28-13-50-39.png)</td><td style="border-width: 0px; height: 29.7969px;">Now that you know your **API access passcode** and **Merchant ID** [go here.](https://docs.na.worldline-solutions.com/plan-your-integration/create-a-test-account/encode-api-passcode "Encode API passcode"). Copy and paste your Merchant ID (1) and API access passcode (2) into the appropriate fields, then click "**Encode**"(3).

Copy/record the Authorization Passcode returned. This will be needed later when you setup the Bambora Checkout payment type in OPSCOM. It will be referenced further down this page as the "<span style="color: rgb(0, 0, 0); background-color: rgb(241, 196, 15);">**<span style="text-decoration: underline;">Profile</span> Authorization Header**</span>". You should temporarily paste this into a program such as Notepad for easy access later since you will need it later during the OPSCOM configuration.

<p class="callout info">You will want to make sure to copy only the following section returned (excluding quotation marks):  
  
"Passcode \_\_\_\_\_\_"  
  
For example, select/copy as shown in the highlighted example below, starting at the P on Passcode. We want to exclude/not copy "Authorization:"  
  
[![bambora-image-2.png](https://opscom.wiki/uploads/images/gallery/2026-01/kDXbambora-image-2.png)](https://opscom.wiki/uploads/images/gallery/2024-10/E4Cimage.png)</p>

</td></tr></tbody></table>


---

## OPSCOM Configuration:

<table border="1" id="bkmrk-login-to-your-ops-co" style="border-collapse: collapse; width: 100%; border-width: 0px; height: 1707.56px;"><colgroup><col style="width: 50.7747%;"></col><col style="width: 49.2253%;"></col></colgroup><tbody><tr style="height: 73.4375px;"><td colspan="2" style="border-width: 0px; height: 73.4375px;">#### Create new Payment Type in OPSCOM:

</td></tr><tr style="height: 342.5px;"><td style="border-width: 0px; height: 342.5px;">[![2024-10-28_15-47-13.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/2024-10-28-15-47-13.png)](https://opscom.wiki/uploads/images/gallery/2024-10/2024-10-28-15-47-13.png)</td><td style="border-width: 0px; height: 342.5px;">Login to your OPSCOM system with an administrator account that has permission to edit payment types.

In the OPSCOM menu select **System Configuration** → **Payments** → **Setup Payment Types** → **Add Type**.

Select "**Bambora - Checkout**" from the Provider list, then click "**Next Step**".

</td></tr><tr style="height: 73.4375px;"><td colspan="2" style="border-width: 0px; height: 73.4375px;">#### Edit Payment Type - Enabled for User Types:

</td></tr><tr style="height: 382.047px;"><td style="border-width: 0px; height: 382.047px;">[![AsXimage.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/asximage.png)](https://opscom.wiki/uploads/images/gallery/2024-10/asximage.png)</td><td style="border-width: 0px; height: 382.047px;">**Type Name:** The Type Name can be whatever you want it to be, though please note this will also be the name displayed to users during payment checkout when they are prompted to select a payment method.

You can reference the specific hosted payment provider or something more generic such as "Online Credit Card Payment", "Online payment", "Credit Card", etc. Really it's up to you and what you think makes most sense to your site users when making a payment.

**Enabled for User Types**: Select the User Types you wish this new Payment Type to be visible to so they can select it during payment checkout. You can change these user types at any time.

Once done make sure to click the "**Update Payment Type**" button at the bottom of this page.  
  
</td></tr><tr style="height: 73.4375px;"><td colspan="2" style="border-width: 0px; height: 73.4375px;">#### Edit Payment Type - Settings:

</td></tr><tr style="height: 732.906px;"><td style="border-width: 0px; height: 732.906px;">[![2024-10-28_16-35-53.png](https://opscom.wiki/uploads/images/gallery/2024-10/scaled-1680-/2024-10-28-16-35-53.png)](https://opscom.wiki/uploads/images/gallery/2024-10/2024-10-28-16-35-53.png)

</td><td style="border-width: 0px; height: 732.906px;"><span data-colorid="w2wr7v718f">**Enable for Text2ParkMe**: if you aren't using this module leave the button unchecked.</span>

<span data-colorid="v9bh8x3vuw">**Enable for [Permit Renewal Payments](https://opscom.wiki/books/the-opscom-admin-portal/page/feature-overview-rolloverrenew-permits)**<span data-colorid="dp6mm4oppx">: if you aren't using this feature leave the button unchecked.</span></span>

<span data-colorid="np8ylan13f"><span data-colorid="c8m1xj6jbu">**Enable for [Guest Payments](https://opscom.wiki/books/OPSCOM-user-portal/page/quick-easy-guest-payments)**: if you aren't using this feature leave the button unchecked.</span></span>

<span data-colorid="p33r8z9kbm"><span data-colorid="npe70tmgif">**Prompt Information**: This depends on whether or not you're enforcing AVS (Address Verification Service) in your Bambora account. This is set in Bambora under **Administration** → **Account Settings** → **Order Settings → Transaction Reversal Options Conditions.** If using AVS you will require the Prompt for to have "Billing Details" selected, which will prompt users to supply their billing address information during checkout so AVS can pass. Otherwise if AVS isn't required in your Bambora account you can select Email Address in which case no address information will be required from users making payments.</span></span>

<p class="callout info"><span data-colorid="p33r8z9kbm"><span data-colorid="npe70tmgif">If using AVS Bambora recommends enabling only the “AVS Postal/Zip Code Mismatch” option as the Street Mismatch is extremely sensitive and may result in a high decline rate.</span></span></p>

##### **Production Credentials:**

**Profile Authorization Header**: Copy and paste the <span style="color: rgb(0, 0, 0); background-color: rgb(241, 196, 15);">**<span style="text-decoration: underline;">Profile</span> Authorization Header**</span> into this field as detailed in the steps above.

Example:

> Passcode MzAwMjZ0NDVxOkY0NRg0MkRDQkM4QTQxNTJCMTM1MUE4OAZxN0NCM4ND

**Payment Authorization Header**: Copy and paste the <span style="color: rgb(0, 0, 0); background-color: rgb(45, 194, 107);">**<span style="text-decoration: underline;">Payment</span> Authorization Header**</span> into this field as detailed in the steps above.

Example:

> Passcode BVSTYjZ0NDVxLkY0NRg0MURDQkM5QTQxNTJCMTM1HUE3OBQxN0NBN8VC

##### Other Settings:

**Validate Card when adding subscriptions**: Optional setting related to when/if users add a subscription method in OPSCOM for this payment type and whether or not the card is validated by the payment provider when first added as a subscription method. If left unchecked the card will only be validated when/if used for a payment.

**Phone Number Field**: Usually hidden, but some payment providers may require a phone number for payments depending on your fraud detection settings. Recommend leaving hidden unless otherwise stated by your payment provider or if you check a setting in Bambora to require a phone number.

</td></tr><tr style="height: 29.7969px;"><td style="border-width: 0px; height: 29.7969px;"></td><td style="border-width: 0px; height: 29.7969px;">Make sure to click the "**Update Payment Type**" button at the bottom of the page.

</td></tr></tbody></table>

# Authorize.Net

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/ofiimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/ofiimage.png)

Development: [https://sandbox.authorize.net/](https://sandbox.authorize.net/)

This space is primarily for development against the Authorize.Net API. The sandbox area ensures no transactions are accidentally pushed through a "real" payment processor.

Production: [https://account.authorize.net/](https://account.authorize.net/)

The production space is the portal to access transactions and live account settings.

## Production (or Testing) Setup

There are several places where setup is required. The hosted payments page will need to be updated to present a consistent look for the end user. This can be done under the "Payment Form" option under the "Account" area as noted below.

As well, it should be noted that the receipt page and response details do not need to be completed. As part of the payment protocol OPSCOM supplies this information to Authorize.Net

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/G9limage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/G9limage.png)

Please be aware your Authorize.net merchant account needs to have the following settings:

Product Type: **Card Not Present (CNP)**

Market Type: **eCommerce**

These settings are usually setup by your Authorize.net contact on the initial account creation. If you want to confirm the correct settings go to Account &gt; Merchant Profile. Under the Business Information heading it will show your product and market type.

### API Credentials

API credentials are required for communication between OPSCOM and Authorize.Net. You will need 3 pieces of unique identification, one of which (API Login ID) is defined at the time of the account creation.

OPSCOM will need the following ID's

- API Login ID
- Transaction Key
- Signature Key

*Where to obtain these values is noted below.*

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/2uYimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/2uYimage.png)

In the above screen shot we have chosen to generate a new Transaction Key. Upon selecting Submit, the new transaction key is presented.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/0ENimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/0ENimage.png)

NOTE

The generated **Transaction Key** and **Signature Key** together with the **API Login ID** need to be supplied to Tomahawk Technologies Inc. to complete the OPSCOM setup.

### Payment Form

You can style the payment form and add additional details to the hosted payment input page. As well, fields such as shipping address can be hidden on the payment form to remove any confusion for the end user.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Zzximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Zzximage.png)

Suggested payment form options:

Note

Personal details can also be removed from the form since OPSCOM will automatically connect the payment to a user. Since users will often use credit cards that are not their own (spouse, parents, corporate) adding the additional fields is suggested.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/zdjimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/zdjimage.png)

AVS (Address Verification Service)

If AVS is enabled please make sure to set the following address fields required:

See [https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001490](https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001490) for additional information on AVS

## Site Testing

Testing

This page includes ways to generate failure states: [http://developer.authorize.net/hello\_world/testing\_guide/](http://developer.authorize.net/hello_world/testing_guide/)

# Hosted Payments

- [OpenEdge Hosted Payments](https://opscom.wiki/books/the-opscom-admin-portal/page/openedge-hosted-payments)
- [Bambora/Worldline Hosted Payments](https://opscom.wiki/books/archive/page/bambora-hosted-payments)
- [Bambora/Worldline Checkout ](https://opscom.wiki/books/the-opscom-admin-portal/page/bambora-checkout)
- [Moneris Hosted Payments](https://opscom.wiki/books/the-opscom-admin-portal/page/moneris-hosted-paypage)
- [Paypal Hosted Payments](https://opscom.wiki/books/the-opscom-admin-portal/page/paypal)
- [SchoolPay ](https://opscom.wiki/books/the-opscom-admin-portal/page/schoolpay)
- [TouchNet uPay](https://opscom.wiki/books/the-opscom-admin-portal/page/touchnet-upay-hosted-payments)
- [Transact Campus/CashNet](https://opscom.wiki/books/the-opscom-admin-portal/page/transact-campuscashnet-hosted-payment-setup)
- [Authorize.Net - Limited Support](https://opscom.wiki/books/the-opscom-admin-portal/page/openedge-hosted-payments)
- [Chase Exact - Limited Support](https://opscom.wiki/books/the-opscom-admin-portal/page/chase-e-xact-hosted-payments)

# Technical Schematic - Step #1

<span data-colorid="v3v49j6bg3">Setting Up </span>

1. Send an email to the offenders primary driver that they have a new violation. Generally you would issue the ticket on the same day as the violation.
2. Set a flag in preparation for collections. (If the violation is older than AutoNoticeDays) 
    1. If the violations connected user is primary driver and has an email address 
        1. send an email and flag appropriately (**AutoNotice** = 1)
        2. set **Violation.AutoNotice** to 1
    2. If the violations attached to the user are for the primary driver and they have no email 
        1. set flag to be added to the Letter Report (2)
        2. set **Violation.AutoNotice** to 2
3. 30 days after items are tagged with either 1 or 2 **Violation.AutoNotice** and that have an associated Violation Notice will appear on the "send to collections" report 
    1. that report allows the administrator to select who/which items will be sent to collections

# Automatic Violation Notice

The Automatic Violation Notice Script sends New and Past Due violation notice emails to ParkAdmin users.

For a Lucid Chart Diagram See: Technical Schematic - Step #1

## OPSCOM Settings to be Confirmed:

<div class="columnLayout single" data-layout="single" id="bkmrk-notice-related-setti"><div class="cell normal" data-type="normal"><div class="innerCell"><div class="table-wrap"><table class="wrapped confluenceTable tablesorter tablesorter-default" role="grid"><colgroup><col></col><col></col></colgroup><thead><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Notice related settings are set under System Config > Notice Literature:: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" style="text-align: left; border: 1px solid var(--ds-border,#ddd); vertical-align: top; min-width: 8px; background: var(--ds-background-accent-gray-subtlest,#f0f0f0) center right no-repeat; font-weight: bold; color: var(--ds-text, #172b4d); cursor: pointer; user-select: none; padding: 7px 15px 7px 10px !important;" tabindex="0">Notice related settings are set under System Config &gt; Notice Literature:</th><th aria-disabled="false" aria-label="Violation days until due is set in Tomahawk Options > System Settings:: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" style="padding: 7px 15px 7px 10px; text-align: left; border: 1px solid var(--ds-border,#ddd); vertical-align: top; min-width: 8px; background: var(--ds-background-accent-gray-subtlest,#f0f0f0) center right no-repeat; font-weight: bold; color: var(--ds-text, #172b4d); cursor: pointer; user-select: none;" tabindex="0">Violation days until due is set in Tomahawk Options &gt; System Settings:

</th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/qbximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/qbximage.png)

</td><td class="confluenceTd">[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/f81image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/f81image.png)

</td></tr></tbody></table>

</div></div></div></div>There are additional settings that will affect whether or not all unpaid violations will be added to the letter or if the selected violations will only be included when it comes time to create the letter report. These settings are found under **System Settings →** **Collections** → **Include All Unpaid Violations.** As mentioned this will allow you to select a single violation in the list and generate a report for all violations associated with that user. Keep in mind that means it will also remove the associated violations from the pick-list on the <span class="legacy-color-text-blue3">Printable Violation Notice Report page even if you only have one of the violations selected.   
</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/TT9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/TT9image.png)

<span class="legacy-color-text-blue3">  
</span>

## Notice/Email Summary:

In total there are 4 different types of emails that will be sent once the above is setup:

<div class="columnLayout single" data-layout="single" id="bkmrk-user-overdue-account"><div class="cell normal" data-type="normal"><div class="innerCell">- **User overdue account notice** (lets normal users know they have a violation(s) past due in OPSCOM).
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="6873fa8c-5dcd-435f-8eb9-9b2c1489437a" data-macro-name="expand" resolved=""><div class="expand-control" id="bkmrk-%C2%A0view-email"><span class="expand-control-icon icon"> </span><span class="expand-control-text">View email</span></div><div class="expand-content expand-hidden">  
    </div></div>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/GF3image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/GF3image.png)
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="6873fa8c-5dcd-435f-8eb9-9b2c1489437a" data-macro-name="expand" id="bkmrk--3" resolved=""><div class="expand-content expand-hidden" id="bkmrk--4"></div></div>
- **User new violation notice** (lets normal users know they have a new violation issued to them the day of, \*note: it seems this will NOT notify older violations once enabled, e.g. violation that is 3 days old vs 1 day old, would only notify the 1 day old user since it's "new").
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="6d65472f-ca1b-41bd-9c1b-a9582ccc7e76" data-macro-name="expand" resolved=""><div class="expand-control" id="bkmrk-%C2%A0view-email-1"><span class="expand-control-icon icon"> </span><span class="expand-control-text">View email</span></div><div class="expand-content expand-hidden">  
    </div></div>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/iwTimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/iwTimage.png)
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="6d65472f-ca1b-41bd-9c1b-a9582ccc7e76" data-macro-name="expand" id="bkmrk--5" resolved=""><div class="expand-content expand-hidden" id="bkmrk--6"></div></div>
- **Admin new violation report notice** (emails the OPSCOM administrator telling them how many new violation emails were sent).
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="4c15ff67-d181-45fa-bc21-c532224481e6" data-macro-name="expand" resolved=""><div class="expand-control" id="bkmrk-%C2%A0view-email-2"><span class="expand-control-icon icon"> </span><span class="expand-control-text">View email</span></div><div class="expand-content expand-hidden">  
    </div></div>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/IO1image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/IO1image.png)
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="4c15ff67-d181-45fa-bc21-c532224481e6" data-macro-name="expand" id="bkmrk--7" resolved=""><div class="expand-content expand-hidden" id="bkmrk--8"></div></div>
- **Admin past due violation report notice** (emails the OPSCOM administrator telling them how many users were emailed past due violation emails AND also how many users couldn't be emailed because they didn't have an email address in the system. These users are added to the "letter report", more info below).
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="da8d2bd4-b2da-4953-bd56-73efe0082006" data-macro-name="expand" resolved=""><div class="expand-control" id="bkmrk-%C2%A0view-email-3"><span class="expand-control-icon icon"> </span><span class="expand-control-text">View email</span></div><div class="expand-content expand-hidden">  
    </div></div>[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/vvDimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/vvDimage.png)
    
    <div class="expand-container conf-macro output-block" data-hasbody="true" data-macro-id="da8d2bd4-b2da-4953-bd56-73efe0082006" data-macro-name="expand" id="bkmrk--9" resolved=""><div class="expand-content expand-hidden" id="bkmrk--10"></div></div>

</div></div></div>## The NIC Letter

As part of the MTO process an admin can set up a **N**otice of **I**mpending **C**onviction (NIC) letter that can be sent to users who have outstanding violations that will be collected through Ontario courts.  
To configure this letter go to System Messaging and edit the Notice Letter found in the Messages tab.

You can read more about Notice Letters/NIC on this page.

<span data-colorid="mu7sfkl00h">Letter Report:</span>

Users who couldn't be emailed their overdue violations are added to the letter report, which is accessible under Violations &gt; Letter report on the OPSCOM Website. The letter report was created so that OPSCOM administrators can print and mail out overdue violations if they so choose.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/GYAimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/GYAimage.png)

Note: When arriving at this page the results can fall into two categories: Printable Violation Notices and Unprintable. The Unprintable means that there is an incomplete mailing address.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Otfimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Otfimage.png)

## Resending a NIC Letter

Once a NIC letter has been sent it is stored with the associated violation. If for any reason you wish to resend or re-output the letter you can do so from the ticket detail. Search for the ticket or locate it on the user's profile then click on the ticket number to view the ticket detail. From here you will see the Overdue Letter button. By clicking on this button you will be able to view and resend the notice.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Mzdimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Mzdimage.png)

# Collections Module

## Accessing the Collections Module

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Serimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Serimage.png)

There are several steps leading up to a collection since often notification of a user is all that may be needed to collect on overdue funds.

The collections module is currently tied to the Violations menu, but may in the future work with all modules in the system. Originally the implementation worked around the idea that people parking on campus may be unknown users. By having a collection module (and the MTO lookup functionality) unknown user details can be determined from a vehicle tag (plate, province, etc.). Students and staff users can be dealt with in a different manner but can also be sent to collections. In the case of a student, they can be denied graduation if their account is not paid in full.

## Collection Module Operation

In this particular case, the items related to MTO lookup are based on a data format for the Ministry or Transportation Ontario, but could be adjusted to match requirement in any area.

- ### **Vehicle Lookup Export**
    
    
    - allows an administrator to export data in a MTO friendly format. This export can be imported to the MTO terminals by MTO staff (or automation) and the result is an MTO Lookup Report.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/w3oimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/w3oimage.png)

- ### **Import from Lookup (MTO)**
    
    
    - allows an administrator to import the unknown user details back into the system and populate address and contact fields.
- ### **Known Report**
    
    
    - allows an administrator to query and package accounts (as an Excel export) that should be sent to a collection service provider
    - Internally it sets the "SentToCollections" flag on the associated violations so that future queries will not duplicate listings

logic around this report is defined as follows:

- **If**<span data-colorid="urkl0iqvr6"> (the user has an email and an **overdue notice** *(details below)* that was sent more than 30 days ago)   
    </span> **OR**<span data-colorid="lbotnc5tq1"> (the user does not have an email and the violation is past due date)</span>**Then**<span data-colorid="eeec5p2n2r"> include them on the report based on the supplied parameters (user type and days overdue)</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/g2nimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/g2nimage.png)

- ### **Send to Known &amp; Unknown Report**
    
    
    - generates a report of the accounts "SentToCollections" based on the date and user type
    - the report includes details related to payment where applicable

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/R95image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/R95image.png)

## <span class="confluence-anchor-link conf-macro output-inline" data-hasbody="false" data-macro-id="2520ee8c-2ca6-4e4d-9525-f16e72bec285" data-macro-name="anchor" id="bkmrk--6"><span class="confluence-anchor-link" id="bkmrk--7"></span></span>Overdue Notices

See also: Technical Schematic - Step #1

*This document highlights the first steps leading to a collection.*

As part of system automation, overdue notices on violations can be sent out each night. If this is not enabled on your system, please contact Tomahawk Support to have this feature enabled.

Each night the system will create an email list and send overdue notices to any known users that have emails on the system. Essentially the system looks up overdue violations, then looks up vehicles and users associated with those vehicles. From that information it may be able to obtain an email address and formulates a message for delivery to the user.

When the message is sent, the violation field "AutoNotice" is flagged in the database.

In the event a user does not have an email address, or the users are unknown, a report is compiled containing that information and is sent to the system administrator.

An overdue sample message follows:

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/dEbimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/dEbimage.png)

# What does a refund look like in the system?

##### What does a Refund do in OPSCOM?

Think of a refund as hitting the "undo" button for a completed transaction. When you process a refund:

- <span style="background-color: rgb(34, 34, 34); color: rgb(170, 170, 170);">Money Back: The customer gets their payment reversed.</span>
- Item Released: The item(s) they purchased become available again in our inventory, ready to be sold to someone else.

<p class="callout warning">**Important Note:** When you refund an entire transaction, **all items within that transaction will be reimbursed, and all of them will be released back into inventory.** If only one item needs to be reimbursed, **<span style="text-decoration: underline;">do an adjustment</span>** and release the item separately.</p>

1\. Locate the user profile for the user you want to refund for.

<p class="callout info">Note: The top right-hand corner will always identify the name of the user that is being worked on. In our example we will refund **Permit #1** at **$395.50** but keep in mind the process is identical for and refund such as Standard Permits, Temporary Permits, Locker rentals, violations etc.  
</p>

2\. From the **History Tab** select **All Records.**

#### <span style="text-decoration: underline;">For Standard &amp; Temporary Permits or Lockers</span>

3\. Find the permit you want to refund and click on the Processed **date** link.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/HLoimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/HLoimage.png)

#### <span style="text-decoration: underline;">**For Violations**</span>

Click on the word **Processed** to access the transaction details.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/0QUimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/0QUimage.png)

4\. The **Transaction Details** screen appears. Click on the **Refund** button to begin the refund process.

The **Refund Payment Record** window will pop up. Enter the internal organization **Requisition Code** (optional) and the **Refund Amount** (including taxes). You are required to enter a **comment** in order to proceed.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/S4Ximage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/S4Ximage.png)

 5. Click the **Refund Payment Record** button to continue. A confirmation pop-up will appear. Click **OK** to continue.

<p class="callout warning">**IMPORTANT**: **By using refund for permits and lockers you will be releasing all items associated with this Confirmation Number. Violations however will simply go back to awaiting payment status.** </p>

6\. The **Adjustment Information** pop-up will display showing the refund details. You have the ability to select the type of refund in this window.

7\. Click on **Process This Adjustment** to proceed. You will return to the **Transaction Detail** window showing the details of the refund. Notice the refund amount of **$-395.50** is listed as an **adjustment**.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/4cNimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/4cNimage.png)

8\. To see how this appears in the user's profile on the admin side, go back into the history tab and select **All Records**. In the user history we see the record of the original purchase as well as; (1) **Released** date and a note indicating the permit is **"Released back to system by refund process"** and (2) **w**e can also see the refund under **Adjustment Records.**

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/7fsimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/7fsimage.png)

#### Refunding to Deal with a NSF Payment

Sometimes, a payment fails (like a cheque bouncing – known as "NSF" for Non-Sufficient Funds). When this happens, we need to "refund" that payment in the system to keep our financial records accurate.

#### Why do we refund a NSF Payment?

It's essentially a bookkeeping task. Imagine a cheque came in and was recorded as a payment. If that cheque then bounces, we need to remove that "incoming" payment from our system. By performing a refund, we create an "outgoing" record that balances out the initial "incoming" record of the failed payment. This way, our system accurately reflects that the money never actually arrived.

After you process the refund for an NSF payment, reports (like the Processed Payment Report) will show both the initial "payment" and the subsequent "refund." This is perfectly normal and correct! It records the *attempt* to pay, and then the removal of that payment due to the NSF.

**Key Tips for NSF Refunds:**

- **Payment Type:** When you process the refund for an NSF, be sure to select the **same payment type** (e.g., "Cheque") as the original failed payment. This makes sense for anyone reviewing your accounting.
- **Clear Notes:** It's super important to leave **clear and detailed notes** documenting the failed payment and the exact reason for the refund. This helps everyone understand the situation later on!

# Cancel Transaction

### Cancelling

On the **Transaction Details** screen you can see the different options available. You can choose to **Cancel &amp; Keep** or **Cancel &amp; Release**.

- **Cancel &amp; Keep**<span class="legacy-color-text-blue3"> will cancel the transaction but keep the transaction details and reserve the permit so that you can process the payment at another time.</span>
- **Cancel and Release**<span class="legacy-color-text-blue3"> will cancel the payment and release the permit back into the system</span>

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Qtjimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Qtjimage.png)

A pop-up message will ask that you confirm. Click OK to confirm the cancellation of the transaction.

# Adjustments

## Making an Adjustment as an Admin

1\. Note that the top right-hand corner will always identify the name of the user file that is being worked in.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/ncfimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/ncfimage.png)

2\. For this example, when finished going through the payment process, on the **Transaction Details** screen, select the **Adjust** link.  
(Note the process is the same if you select the adjustment link before a transaction is completed.)

This will bring up the **Create Adjustment Record** pop-up screen. Enter in the internal organization **Requisition Code**, change the amount sign to positive if you are charging the user more or change the amount sign to a negative if you are reimbursing the user, enter the dollar amount of the adjustment, enter any comments to be associated with the adjustment and select the **Add Adjustment** button at the bottom of the screen. This will bring you back to the **Payment Details** screen with the adjustment listed below the original transaction. Note, at this point, the adjustment is not processed.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/FtFimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/FtFimage.png)

3\. Select the **Not processed** link. This will bring up the **Adjustment Information** pop-up screen where you verify the adjustment details are correct.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/QgFimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/QgFimage.png)

4\. If the adjustment details are correct, select the **Process this Adjustment** button at the bottom of the screen. You will notice the **Payment Status** line will change from **Not Processed** to **Submitted** and the date. This completes the adjustment process, altering the dollar amount associated with the item. Note, no items are released back into the inventory system using the adjustment process. If an item needs to be released back into the inventory, this will need to be done separately.

## **Adjusting a Violation Before Payment**

<iframe class="youtube-player conf-macro output-block" data-hasbody="false" data-macro-id="8b465cdd-03ac-4820-9143-162a57ab7c15" data-macro-name="widget" frameborder="0" height="307" src="https://www.youtube.com/embed/Zodi8a4C94M?wmode=opaque" style="width: 616px; height: 307px;" width="616"></iframe>

# Adjusting a violation to zero dollars

## Adjusting the fine amount by editing the ticket:

1. To adjust the fine amount on the ticket go to the user's profile and locate the **violation** you wish to reduce.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/d1Simage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/d1Simage.png)
2. Click on the **ticket number** to access the **Violation Information** detail screen.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Sa9image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Sa9image.png)
3. Click on the **Edit** button in the upper right corner to access the **Edit Violation Information** page.  
    Halfway down the page you will see the offence listed as well as the amount of the violation.  
    Edit the dollar value of the fine to **$0.00.**   
    Click on **Update this Violation** to save your changes.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/qu6image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/qu6image.png)
4. The violation will now appear in the user profile as a zero dollar fine.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/YUBimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/YUBimage.png)

## Cancelling a fine by changing the ticket to a warning:

An admin can change a ticket to a warning which will result in cancelling the fine amount.

1. To do so **edit** the ticket as described above.
2. Check the box next to the word **Warning** to change the state of the ticket. Click on **Update this Violation** to save your changes.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/C9wimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/C9wimage.png)
3. The ticket will appear as follows in the user history. (Captured here from the admin side.)  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/i5Himage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/i5Himage.png)
4. This is how it would appear on the user side:
    
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/l6vimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/l6vimage.png)

## Adjusting the fine amount by processing an adjustment:

This scenario is slightly different as adjustments to fines are done **after** the initial fine has been paid for.

1. To begin, go to the user's history and locate the violation you wish to zero out.  
    In our example we are using Ticket number **TT-10011.**  
    Click on the **Adjust** link on the left.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/7HRimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/7HRimage.png)
2. The **Create Adjustment Record** window will open.   
    Enter the amount you wish to reduce the fine by. In this case the current fine is $*40.00* (the violation had a fine of $*50.00,* but was paid within the widow where the discount of *$10.00* applied)  
    It is advisable to enter a comment as to why the fine is being reduced.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Jw2image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Jw2image.png)
3. This method will place an adjustment on the user's account. This is what it will look like in the payments tab.  
    This adjustment can be applied to a future payment or be processed as a refund.  
    [![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/Uj5image.png)](https://opscom.wiki/uploads/images/gallery/2024-06/Uj5image.png)

## Adjusting the fine through the appeals process

A fine can be adjusted or reduced to zero through the appeals process.

# Types of Reimbursement

## Cancel Transaction

- To cancel a transaction<u> **before**</u> a payment is processed

**When would you cancel a transaction?**

- User decides not to follow through on a promise to pay

**Note:**

- Items in the transaction are released back to the system
- The promise to pay is removed from the user (user no longer owes money)

## Adjustments

- Alter the cost of an item<u> **before**</u> it has been paid for
- Alter the value of a transaction<u> </u><u>**after** </u>it has been paid for

**When would you apply an adjustment?**

- User was charged too much or too little for an item
- User is being refunded part of a transaction (ie. not longer using item; pro-rated refund)
- Adjustments can be positive or negative 
    - Can also be considered refunds, but full transaction refunds are a different option

**Note:**

- Items are not released back to the system

## What does a refund look like in the system?

- Item is (or items are) returned <u>**after** </u>it has been paid for
- Transaction needs to be cancelled<u> </u><u>**after**</u> it has been paid for

**When would you give a refund?**

- User has decided against the purchase
- Transaction is totally incorrect and it is easier to start over
- A refund can be used to **reverse** the transaction

**Note:**

- Transaction items are released back to the system
- If there is more than one item in the transaction, all items will be reimbursed and all items are released back to the system. If only one item needs to be refunded/reimbursed, do an adjustment and release the item separately.

# Payment Processing Models

## Using a Gateway

This is being phased out as the method for handling payments.

## Using Hosted Payments

This is the preferred method for handling payments.

[![image.png](https://opscom.wiki/uploads/images/gallery/2024-06/scaled-1680-/G8Yimage.png)](https://opscom.wiki/uploads/images/gallery/2024-06/G8Yimage.png)

# Payments and Transaction Flow

The flow is a 3 step process, which includes:

1. User/Admin link item to user
2. User makes payment promise
3. Admin processes payment

## Step #1:

A user or an administrator links a permit to the user. At this point, there is no payment link and the item is "**Awaiting Payment**" since the user has not selected a payment method (*made a promise of payment*). As well, items (permits) are not accessible to any other system user. *There is a midnight clearing list which can automatically release permits linked to users that do not have promises for payment.*

## Step #2:

User or admin links a **payment type** (ie. cheque, cash, etc.) This puts the user on the **Unprocessed Payments** list, and that list needs to be checked regularly. This allows a user to mail in a cheque or to stop by the office to make payment. In these cases, a user has "promised" to pay. We suggest that permits be released (Drop Payment) after 2 weeks since that offers users enough time to make payment.

## Step #3: 

Once payment is received (cheque is received in the mail, or the user stops by the office to make a payment) the transaction is marked as **processed** and the user is linked to the item. At this point, the item is marked processed and is actually (completely) linked to the user.