Introduction
In Perfect Gym, the Epayments module is a critical tool for automating financial processes. It allows you to generate payment batches, manage recurring credit card transactions, and handle direct debit request files. This feature supports the streamlined collection of membership fees, ensuring accurate billing and reducing manual administrative work.
In this article, you will learn how to generate a credit card payment run, manage E-Payment bookings by approving or excluding transactions, and handle the resulting payment files and reports.
This article will be helpful for System Administrators, Finance Team members, and PG Champions who are responsible for managing recurring payments.
Before You Start
Ensure you have the Administrator.Epayments permission enabled on your user account.
Ensure the Debit Provider credentials are correctly set up for the club you are processing.
Note that the system includes a link to a newer view, but this guide covers the classic generation view.
Feature Description
Generation Tab
The following settings are available in the Generation tab to customize which transactions are included in the payment run, selected options may be hidden from view:
Club: This dropdown allows you to select the specific gym or facility for which you are generating payments.
Provider: You must select the payment provider that will process the transactions.
For balance from date: This date picker determines the cutoff date for calculating the user's balance. The system will look for debts accrued up to this date.
Minimum contract end date: If enabled, this allows you to filter bookings to only include contracts that end after a specific date. This is useful for excluding expiring contracts.
Single transaction limit : When checked, this splits large amounts into smaller transactions based on the Membership Fee amount, rather than charging one lump sum.
Merge transactions: This setting combines multiple distinct charges for a single user into one transaction to reduce processing fees and improve user experience.
Include only contracts paid on balance date: This restricts the run to contracts where the recurring payment day aligns exactly with the selected balance date.
Exclude errors from last days: This numeric field allows you to skip users who have had failed payment attempts in the last X days. This prevents retrying failed cards too frequently.
Payment plan type group: This filter allows you to generate payments for specific groups of payment plans (e.g., "All" or "Other").
Vindication Profile: If your system uses debt collection stages, you can filter the payment run to only include users in specific vindication profiles.
User transaction type: This allows filtering by specific user transaction types if your configuration supports it.
Transaction type: Choose between UserTransaction (standard charges), UserPosTx (Point of Sale transactions), or All.
Transactions since/until: These date pickers define the date range for the transactions to be included. Charges outside this range will be ignored.
Bookings Tab
Filtering and Exporting Bookings
Navigate to the Bookings control panel.
Select the desired location from the Club dropdown menu.
Use the checkboxes (Show authorization bookings only, Show only payment requests, Show only not accepted requests) to refine the list of transactions displayed in the grid.
To download a report of the currently filtered data, click the Export all bookings button. *
Accepting Bookings (Single or Bulk)
To approve a specific booking group, locate the row in the grid and click the Accept button (check mark icon) in the Approval column.
To approve everything currently visible, click the Accept all bookings button at the top of the page.
A Booking Confirmation window will appear.
Review any warnings listed in the window (e.g., duplicated clubs). If warnings exist, you must check the box to acknowledge you are aware of them.
In the text field provided, type the word approval exactly as requested to unlock the confirmation button.
Click Continue to finalize the acceptance.
Excluding Users from a Booking
Click the Exclude from all not accepted bookings button (for global exclusion) or the Exclude... button on a specific booking row.
In the Exclude Window, select the exclusion logic:
Select Exclude members from list to remove specific users.
Select Exclude members not from list to process only specific users.
Enter the Member Numbers in the text box, separated by a new line, comma, or semicolon.
Click Continue.
A summary window will appear showing the "Found users count" and "Found transactions count." Verify these numbers are correct.
Click Continue to confirm the deletion of these transactions from the batch.
Managing Individual Payment Items
Locate a booking row and click the Expand arrow (triangle icon) to view detailed items.
To Edit a Payment:
Click the Edit (pencil) icon next to a user's name.
Update the Number or Amount as required.
Click Save to commit changes or Cancel to discard.
To Add a Rejection Fee:
If available, click the Add rejection fee link in the appropriate column.
To View Payment Details:
Expand the individual payment row to see the BookingItemDetailsView.
Here you can edit the Description, Amount, or VAT rate for specific line items.
Results Tab
The following settings are available to help you manage the payment files, selected options may be hidden from view:
Club Dropdown: A filter located at the top of the screen used to select the specific club context. Changing this refreshes the list to show only files associated with that club.
Refresh: A button located in the top right of the grid to reload the data without refreshing the entire page.
Status: Displays a color-coded visual indicator representing the status of the file response (e.g., Green for completed, Yellow for response received, Grey for pending).
Cancelled: Displays a red indicator if the request file has been cancelled.
Results: Shows the count of processed transactions versus the total count (formatted as "Processed / Total").
Rejected: Displays the number and percentage of rejected transactions within the file.
File Name: The specific name of the generated request file.
Created Date: The date and time the file was originally generated.
Last Update: The date and time of the most recent activity on the file.
Report: A button used to generate and download an
.xlsxfile containing details about the transactions.Missing Ok: A command button that sets a "Success" status for all transactions that currently have a missing status. This is only visible if there are transactions in progress.
Missing Deny: A command button that sets a "Failure" status for all transactions that currently have a missing status. This is only visible if there are transactions in progress.
Configuration settings
Generation Tab
Navigate to the Epayments page in the Administration module.
Click the Generation tab if it is not already selected.
Select the relevant Club from the dropdown menu.
Select the Provider you wish to use for this payment batch.
Set the For balance from date to the desired billing date.
Enter a number in Exclude errors from last days if you wish to avoid retrying recently failed cards (e.g., enter "3" to skip anyone who failed in the last 3 days).
Check Merge transactions if you want to bundle multiple fees for a single user.
Select a specific Vindication Profile or Payment plan type group if you need to segment the batch.
Review the Transactions since and until dates to ensure you are capturing the correct billing period.
Click the Generate button to start the process.
Booking Tab
Filtering and Exporting Bookings
Navigate to the Bookings control panel.
Select the desired location from the Club dropdown menu.
Use the checkboxes (Show authorization bookings only, Show only payment requests, Show only not accepted requests) to refine the list of transactions displayed in the grid.
To download a report of the currently filtered data, click the Export all bookings button. *
Accepting Bookings (Single or Bulk)
To approve a specific booking group, locate the row in the grid and click the Accept button (check mark icon) in the Approval column.
To approve everything currently visible, click the Accept all bookings button at the top of the page.
A Booking Confirmation window will appear.
Review any warnings listed in the window (e.g., duplicated clubs). If warnings exist, you must check the box to acknowledge you are aware of them.
In the text field provided, type the word approval exactly as requested to unlock the confirmation button.
Click Continue to finalize the acceptance.
Excluding Users from a Booking
Click the Exclude from all not accepted bookings button (for global exclusion) or the Exclude... button on a specific booking row.
In the Exclude Window, select the exclusion logic:
Select Exclude members from list to remove specific users.
Select Exclude members not from list to process only specific users.
Enter the Member Numbers in the text box, separated by a new line, comma, or semicolon.
Click Continue.
A summary window will appear showing the "Found users count" and "Found transactions count." Verify these numbers are correct.
Click Continue to confirm the deletion of these transactions from the batch.
Managing Individual Payment Items
Locate a booking row and click the Expand arrow (triangle icon) to view detailed items.
To Edit a Payment:
Click the Edit (pencil) icon next to a user's name.
Update the Number or Amount as required.
Click Save to commit changes or Cancel to discard.
To Add a Rejection Fee:
If available, click the Add rejection fee link in the appropriate column.
To View Payment Details:
Expand the individual payment row to see the BookingItemDetailsView.
Here you can edit the Description, Amount, or VAT rate for specific line items.
Results Tab
Filter by Club
Navigate to the Credit Cards Files section.
Locate the Club label at the top of the page.
Click the Club dropdown menu and select the specific club you wish to view.
The grid will automatically refresh to display files for the selected club.
Review File Status
Examine the grid rows to check the status of specific files.
Look at the Zak. column for visual status indicators and the Results column to see how many transactions have been processed out of the total.
Process Missing Transactions
If a file has transactions still "In Progress" (indicated by a count greater than 0), you will see action buttons in the last column.
To manually mark all pending/missing transactions as successful, click the Missing Ok button.
To manually mark all pending/missing transactions as failed/denied, click the Missing Deny button.
Note: When you click either button, a browser confirmation prompt asking "Are you sure you want to do this?" will appear. Click OK to proceed or Cancel to abort.
Download Report
Locate the row for the file you wish to analyze.
Click the Report button in that row.
The system will generate an Excel (
.xlsx) file containing the report rows.Save the file to your local computer when prompted.
Hints
Generation Tab
Processing Time: When you click Generate, the button will change to "Generating..." and become disabled to prevent double-submissions. The process runs asynchronously.
Redirection: Upon successful generation, the page will automatically refresh and redirect you to the Payment Queue (Bookings) tab to review the generated batch.
Empty Generation: There is a Generate Empty (Generuj puste) button. This is typically used for testing or creating a placeholder batch without actual financial transactions.
Validation: If the settings are invalid (e.g., missing Provider), a red error message will appear, and the generation will not start.
Deprecated View: You may see a notice that this view is deprecated; a link is provided to "take me there" for the new Finance/Billing/Runs view.
Bookings Tab
Approval Validation: The system strictly requires you to type "approval" in the confirmation box. This acts as a digital signature to prevent accidental bulk processing.
Status Icons: The Status column uses a "traffic light" system or specific icons. A yellow dot indicates "Acceptance in progress," while a green dot indicates "Accepted."
Error Handling: If a transaction has a processing error, the status icon will change. Clicking this icon opens the Processing errors tooltip, which displays the specific error code and generation parameters to help you troubleshoot.
Data Validation: When editing a user's number, the system validates that:
The user exists in the database.
The user belongs to the selected club (unless global permissions override this).
The user's default payment method matches the booking provider type (e.g., you cannot add a Credit Card user to a Direct Debit list).
Deletion: Deleting a booking or transaction is permanent. The system will ask for confirmation ("Are you sure you want to delete this item?") before proceeding.
Results Tab
Visual Status Indicators: The system uses specific logic to color-code the status bullets in the Zak. column:
Green: The file has a response, zero items are in progress, and the total count matches the done count (Fully Completed).
Yellow: The file has a response but may not be fully reconciled yet.
Grey: The file is currently pending a response.
Red (in Anul. column): The file has been explicitly cancelled.
Row Highlighting:
Rows where the process is fully complete (Response received and no items in progress) will display with Dark Green text.
Rows that are cancelled will display with Dark Red text.
Exports: In addition to the specific Report button, there is a standard Export to Pdf option available in the grid command bar if a PDF summary of the grid view is required.
Cancellations: If you attempt to cancel an action (where available via a Cancel button), the button text will change to "Canceling..." and the button will be disabled while the system processes the request.
Troubleshooting
Generation Tab
The "Generate" button is disabled or does not trigger an action
Ensure that a Provider is selected. This is a required field, and the system will prevent submission if it is empty.
Ensure that the For balance from date field is populated, as it is mandatory for calculating the debt.
If the page determines the input is invalid upon clicking, the button may change appearance or disable itself to prevent double submission.
A red error message appears at the bottom of the form
This indicates a server-side validation error triggered by the
ccValidator.This often occurs if the combination of the selected Club and Provider is invalid according to internal validation logic.
Verify that the selected Debit Provider is correctly configured and active for the chosen Club in the system settings.
The "Provider" dropdown list is empty
The Provider list is dynamically populated based on the selected Club.
Ensure you have selected a Club first. If the list remains empty, the selected Club may not have any Debit Providers assigned in the backend configuration.
No payments were generated (0 bookings created)
Check the Transactions since and until dates. If these dates are too restrictive, valid transactions outside this range will be ignored.
Review the Exclude errors from last days setting. If this number is set too high (e.g., 30 days), it may be filtering out users who are ready to be retried but had a failure weeks ago.
If Include only contracts paid on balance date is checked, the system will strictly filter for contracts where the recurring payment day matches the generation balance date exactly. Uncheck this to include all eligible debts regardless of the specific day.
If Minimum contract end date is populated, ensure that the contracts you expect to charge do not expire before the selected date.
The generation process takes a long time
The page is configured to handle asynchronous tasks with a timeout of up to 900 seconds (15 minutes).
The button text will change to indicate "Generating" and the control will disable to show that the process is running in the background.
I cannot find the "Vindication Profile" or "Transaction Type" filters
These panels are hidden by default and only appear if specific system settings (e.g.,
IsDebtCollectionStageFilterVisibleorIsUserTransactionTypeFilterVisible) are enabled in the configuration.
Booking Tab
“No permission to perform this action" Error
Issue: When attempting to accept a booking or group of bookings, the message "No permission to perform this action" appears in red text .
Cause: Your user account does not have the specific
Administrator.DirectDebit.Booking.Acceptpermission required to finalize these financial transactions.Solution: Contact a System Administrator to update your user role permissions.
"Enter 'approval' to continue" Error
Issue: You typed text into the confirmation box, but the "Enter 'approval' to continue" error message remains visible, and you cannot proceed .
Cause: The security confirmation text was not typed exactly as required.
Solution: Clear the text box and type the word approval exactly (case-insensitive) to unlock the Continue button .
"Invalid number" (Niepoprawny numer) when Editing a User
Issue: When adding or editing a payment item, you receive an "Invalid number" error after entering a Member Number .
Cause: The Member Number entered does not exist in the database.
Solution: Verify the member's ID in the main member search module and re-enter the correct digits.
"User is from another club" Error
Issue: The system blocks you from saving a user with the error "User is from another club" .
Cause: The Member Number belongs to a home club different from the one selected for this booking list.
Solution: You can only add members who belong to the club associated with the booking batch. Remove this user or switch the Club filter to the correct location .
"Default payment form... does not match" Error
Issue: An error states that the user's default payment form does not match the list .
Cause: You are trying to add a user with an incompatible payment method to the batch (e.g., adding a "Direct Debit" user to a "Credit Card" booking list).
Solution: Check the member's profile settings. You must either update their default payment source or process them in a separate batch that matches their payment type .
Red Status Icon / Processing Errors
Issue: A transaction shows a red status icon instead of a green checkmark or yellow dot .
Cause: The payment gateway or internal logic encountered an error during processing.
Solution: Click directly on the status image button. This will open the Processing errors tooltip, which displays the specific error code and generation parameters responsible for the failure .
Confirmation Button is Disabled (Warnings)
Issue: In the approval popup, the Continue button cannot be clicked, and there is red text listed under the header .
Cause: The system has detected critical warnings (e.g., duplicated clubs) that must be acknowledged before proceeding.
Solution: Read the warnings listed. If you wish to proceed, locate the checkbox to confirm you are aware of the warnings. Checking this box will enable the Continue button .
Results Tab
"Missing Ok" or "Missing Deny" Buttons Are Not Visible
Cause: These command buttons are configured to only be visible when the system detects that the "In Progress" count for a file is greater than zero.
Resolution: If you do not see these buttons, it indicates that all transactions in the file have already been resolved (either completed or rejected), and no manual intervention is required.
File Status Indicator is Grey
Cause: The status image logic dictates that a grey bullet appears when the file does not yet have a response.
Resolution: This indicates the file is still processing or pending a response from the provider. Please wait for the process to complete or click the Refresh button to update the grid status.
File Status Indicator is Yellow
Cause: A yellow bullet appears when the file has a response, but the process is not fully complete (e.g., there may still be items in progress or the total count does not match the done count).
Resolution: Review the Results column to see the progress. If items are stuck, you may need to use the Missing Ok or Missing Deny buttons once they become available.
File Status Indicator is Red
Cause: The red bullet icon appears specifically when the
IsCancelledstatus is set to true for that file.Resolution: The file has been cancelled. No further processing can be done on this specific request file.
Browser Pop-up When Clicking Actions
Cause: Actions such as Missing Ok, Missing Deny, and Cancel are protected by a client-side confirmation script (e.g., "Are you sure you want to do this?") to prevent accidental changes.
Resolution: You must explicitly click OK in the browser's pop-up dialog window to proceed with the action.
Grid Does Not Update After Action
Cause: Occasionally, the view may not automatically reflect the most recent server-side changes immediately.
Resolution: Click the Refresh button located in the top right of the grid to manually rebind the data and view the latest status.
Use Case Examples
Generation Tab
Example 1: Standard Monthly Billing Run
Goal: Generate the main monthly payment run for all members.
Settings: Select the Club and Provider. Set For balance from date to the current date. Ensure Merge transactions is checked to minimize transaction fees. Click Generate.
Example 2: Retry Failed Payments
Goal: Retry payments for members who failed, but skip those who failed yesterday to give them time to update funds.
Settings: Select Club and Provider. Set Exclude errors from last days to 1. Click Generate.
Example 3: Debt Collection Specific Run
Goal: Attempt to collect payments only from members currently in the "Soft Debt Collection" stage.
Settings: Select the Club. In the Vindication Profile dropdown, select the specific profile for "Soft Debt Collection". Click Generate.
Example 4: Point of Sale Transactions Only
Goal: Charge members for items bought at the POS (shakes, water) that were charged to their account.
Settings: Set Transaction type to UserPosTx. Set the Pos transactions since and until dates to cover the last week. Click Generate.
Example 5: Testing Configuration
Goal: Verify the system can create a batch without actually scheduling charges.
Settings: Select the Club and Provider. Click Generate Empty (Generuj puste). This creates a batch record but schedules no debits.
Booking Tab
Example 1: Approving a Monthly Direct Debit Run
Goal: To approve all pending payment requests for the "Downtown Club" location.
Steps/Settings: Select "Downtown Club" from the Club dropdown. Check Show only not accepted requests. Click Accept all bookings. In the popup, type "approval" and click Continue.
Example 2: Removing a Member from a Batch due to Cash Payment
Goal: To exclude member "12345" from the current batch because they paid in cash at the front desk.
Steps/Settings: Click Exclude from all not accepted bookings. Select Exclude members from list. Enter "12345" in the text box. Click Continue, review the found transaction count, and click Continue again.
Example 3: Correcting a VAT Rate on a Transaction
Goal: To change the tax rate on a specific line item before processing.
Steps/Settings: Expand the main booking row, then expand the specific member's payment row. Click Edit on the detail line. Change the Vat dropdown to the correct rate (e.g., "Standard Rate"). Click Save.
Example 4: Investigating a Failed Transaction
Goal: To find out why a specific booking shows a red status icon.
Steps/Settings: Locate the row with the error icon in the Status column. Click the icon. Read the text in the Processing errors tooltip to identify the cause (e.g., "Insufficient Funds" or "Invalid Account").
Example 5: Exporting Data for External Audit
Goal: To provide an auditor with a list of all authorization requests for the current month.
Steps/Settings: Check Show authorization bookings only. Ensure the Club filter is set to "All" (or specific clubs as needed). Click Export all bookings to download the .xlsx file.
Results Tab
Example 1: Reviewing Weekly Payments for a Specific Gym
Goal: To see the status of credit card files for the "Downtown Fitness" club.
Steps/Settings: Click the Club dropdown and select "Downtown Fitness". Observe the list of files to ensure the Zak. column shows green indicators for the past week's files.
Example 2: resolving Pending Transactions as Successful
Goal: To clear a file that has 5 transactions stuck in "Missing" status because the payment gateway confirmed them manually.
Steps/Settings: Locate the file with "In Progress" counts. Click the Missing Ok button. Confirm the browser popup by clicking OK.
Example 3: Rejecting Pending Transactions
Goal: To mark stuck transactions as failed because the bank confirmed the batch was not processed.
Steps/Settings: Locate the relevant file. Click the Missing Deny button. Confirm the browser popup by clicking OK. The transactions will be marked as failures in the system.
Example 4: Auditing Rejected Payments
Goal: To analyze why 15% of transactions in a specific file were rejected.
Steps/Settings: Identify the file with a high percentage in the Rejected column. Click the Report button to download the Excel file. Open the Excel file to view specific error details for the rejected rows.
Example 5: Identifying Cancelled Batches
Goal: To quickly verify which payment batches were cancelled in the last month.
Steps/Settings: Select the Club. Scan the grid looking for the Anul. column. Rows with a Red icon and Dark Red text indicate cancelled files.