Recurring System
Recurring System and Payment Page Integration
The RPM Recurring tab allows you to automate billing by creating payment "Plans" that automatically charge customers on a set schedule. You can manage these plans manually within the portal or integrate them directly into your customer-facing Payment Pages.
Understanding the Interface Icons
[cite_start]Throughout the Recurring interface, you will frequently see two main icons used to control the status of Plans and individual transactions[cite: 1]:
- [cite_start]Gears (Active): Indicates an active plan or transaction[cite: 1]. [cite_start]Clicking the gears will update the item's status to Suspended[cite: 1].
- [cite_start]No-Entry (Suspended): Indicates a suspended plan or transaction[cite: 1]. [cite_start]Clicking the no-entry symbol will update the item's status to Active[cite: 1].
Navigating the Recurring Dashboard
[cite_start]The left-hand menu provides quick access to different views of your recurring billing activity[cite: 1].
Managing Plans
A "Plan" is a container that holds a specific billing schedule (e.g., "Monthly Gym Memberships").
| Screen | Description |
|---|---|
| All Plans / Homepage | [cite_start]Lists all plans in reverse chronological order[cite: 1]. [cite_start]You can see the total activated/suspended counts, processing frequency, and the next scheduled run date[cite: 1]. [cite_start]You can also multi-edit plans (Activate, Suspend, Delete) using the checkboxes[cite: 1]. |
| Plan Details | [cite_start]Clicking on a specific plan opens its details, showing every individual customer transaction assigned to it[cite: 1]. [cite_start]Here you can view processing history, edit the start/end dates, and manage individual subscriber statuses[cite: 1]. |
| Create Plan | [cite_start]Allows you to build a new plan from scratch or upload a batch file (CSV or SPW format) to create multiple plans at once[cite: 1]. |
| Queued | [cite_start]Lists plans that are currently waiting to be processed and sent to the bank[cite: 1]. |
| Processed Plans | [cite_start]A historical log of all plans that have finished processing[cite: 1]. [cite_start]You can view approved/declined counts, error logs, and click into a specific run to issue refunds or voids for individual transactions[cite: 1]. |
Managing Individual Transactions
These screens allow you to view the specific credit cards and customers tied to your plans.
| Screen | Description |
|---|---|
| All Transactions | [cite_start]A master list of every transaction contained within every plan on your account[cite: 1]. [cite_start]You can multi-edit statuses or click a specific line item to update cardholder details, amounts, or expiry dates[cite: 1]. |
| Expiring | Crucial for revenue retention. [cite_start]This screen highlights credit cards that have already expired (red) or will be expiring in the current/next month (yellow/orange)[cite: 1]. |
| Transaction Details | [cite_start]Clicking an individual transaction allows you to override its specific Start/End Date, update the billing amount, or change the credit card number on file[cite: 1]. |
Uploading Recurring CSV Files
When using the Create Plan feature to upload plans in bulk, your CSV file must conform to a strict 14-field format. Even if a field is not used, you must include the comma delimiter to maintain the exact column index.
CSV Field Specifications
| Field Index | Field Name | Format / Rules |
|---|---|---|
| 1 | Reference_No | 20 characters maximum. |
| 2 | Customer_Ref | 20 characters maximum. |
| 3 | Reference_3 | 30 characters maximum. (Note: Not supported in QuickKey batch). |
| 4 | Cardholdername | 30 characters maximum. (Note: Not supported in QuickKey batch; will display as "RT Batch"). |
| 5 | Transactioncode | Applicable transaction code (e.g., 00 for purchase). |
| 6 | Cardnumber | 16-digit card number. |
| 7 | Amount | 0.00 format. |
| 8 | Expiry Date | MMYY format (no slashes). |
| 9 | Authorization Number | 6 characters maximum. |
| 10 | Not Used | Leave blank, but comma delimiter is required. |
| 11 | Recurring Indicator | Enter R for true (no quotes), otherwise leave blank for false. |
| 12 | Not Used | Leave blank, but comma delimiter is required. |
| 13 | Not Used | Leave blank, but comma delimiter is required. |
| 14 | Not Used | Leave blank, but comma delimiter is required. |
Sample CSV Data
Below is an example of exactly how the raw data should look in your CSV file. Notice the string of trailing commas at the end of each line to account for the unused fields (9 through 14).
ref_no-1,cust_ref_a,ref_3_a,John Doe,00,4111111111111111,19.95,0331,,,,,,
ref_no-2,cust_ref_b,ref_3_b,Jane Doe,04,5500000000000004,19.95,0530,987654,,,,,Integrating Recurring Plans with Payment Pages
You can allow customers to automatically subscribe to a Recurring Plan directly from a Hosted Checkout Payment Page.
Step 1: Enable Recurring on the Payment Page
- [cite_start]Go to the Payment Pages tab in the RPM portal[cite: 1].
- [cite_start]Edit the specific Payment Page you want to use[cite: 1].
- [cite_start]Click the Recurring tab and check the box to "Enable Recurring Payments"[cite: 1]. [cite_start](Note: You can also add your customer agreement text here [cite: 1]).
Step 2: Configure the Plan
- [cite_start]Go to the Recurring tab and create or edit the Plan you want the customer to subscribe to[cite: 1].
- [cite_start]Ensure the "Hosted Checkout" setting is enabled within the Plan's details[cite: 1].
- [cite_start]Locate the HCO Plan ID at the top of the Plan Details page (e.g.,
MB-HOSTE-5-4)[cite: 1]. [cite_start]You will need this for your HTML form[cite: 1].
Step 3: Update Your HTML Form
[cite_start]To link your website's checkout button to the Recurring Plan, you must add specific hidden fields to your HTML form[cite: 1].
Required Fields:
- [cite_start]
x_recurring_billing_id: Must match the HCO Plan ID exactly[cite: 1]. - [cite_start]
x_recurring_billing_amount: The amount the customer should be charged on a recurring basis[cite: 1]. - [cite_start]
x_recurring_billing: Must be set toTRUE[cite: 1]. - [cite_start]
x_type: Must NOT be set toAUTH_TOKENorPURCHASE_TOKEN[cite: 1].
Optional Fields:
- [cite_start]
x_recurring_billing_start_date: The start date (YYYY-MM-DD)[cite: 1]. - [cite_start]
x_recurring_billing_end_date: The end date (YYYY-MM-DD)[cite: 1].
Example Form Code:
<form method="post" action="[https://checkout.e-xact.com/payment](https://checkout.e-xact.com/payment)">
<input type="hidden" name="x_login" value="HCO-RECURRING" />
<input type="hidden" name="x_fp_sequence" value="9297" />
<input type="hidden" name="x_fp_timestamp" value="1789255121" />
<input type="hidden" name="x_currency_code" value="CAD" />
<input type="hidden" name="x_amount" value="19.95" />
<input type="hidden" name="x_fp_hash" value="f4ff3bc3128c114d9857c30d6a0df3fc" />
<input type="hidden" name="x_show_form" value="PAYMENT_FORM" />
<input type="hidden" name="x_recurring_billing_amount" value="19.95" />
<input type="hidden" name="x_recurring_billing_id" value="MB-HOSTE-5-4" />
<input type="hidden" name="x_recurring_billing" value="TRUE" />
<input type="hidden" name="x_recurring_billing_start_date" value="2030-11-11" />
<input type="hidden" name="x_recurring_billing_end_date" value="2031-01-11" />
<input type="submit" name="submit" value="Checkout with E-xact Now" />
</form>Updated 25 days ago
