Skip to main content

Cashnet / Transact Integration: Field Mapping and Troubleshooting

Overview

If your organization uses Cashnet (also called Transact Payments) as your Genius payment gateway, this article explains what Genius sends to Cashnet during checkout, what the Cashnet side of the integration controls, and how to troubleshoot the most common questions — blank customer names in Cashnet, ID numbers that do not match between Genius and Cashnet, and requests to send different fields.

The Cashnet integration has two sides, and each side is responsible for different things:

  • Genius side - Builds the checkout redirect URL and sends a fixed set of parameters. This is not per-organization configurable.

  • Cashnet side - Your Cashnet account has a template (identified by a SID value) that decides what happens to the parameters Genius sends: which ones render in the Cashnet Transaction Info view, which ones echo back on the notification Cashnet sends Genius after payment, and which ones feed downstream Cashnet reports.

Most "why is field X missing?" questions land on the Cashnet-side template, not on the Genius side.

What Genius Sends to Cashnet

When a learner or administrator checks out through a Cashnet gateway in Genius, Genius builds a redirect URL to your Cashnet checkout page and places the transaction details in the URL query string. Cashnet’s checkout page reads them from the URL.

Always Sent

Genius sends these parameters on every Cashnet checkout:

  • itemcode — the Default Item Code configured on the Cashnet gateway record in Genius.

  • amount — the transaction amount, for example 25.00.

  • SESSIONID — Genius’s internal transaction identifier for this checkout.

  • transactiondesc — always set to "Genius SIS"

Sent When Populated

Genius sends these when the learner has them on file. They are skipped rather than sent as empty values when blank on the learner’s Genius profile:

  • FNAME — the learner’s first name.

  • LNAME — the learner’s last name.

Sent When Configured

Genius sends digest only when an Encryption Key is configured on the Cashnet gateway record in Genius. digest is an HMAC-SHA1 signature of the transaction amount, used by Cashnet to verify the request came from Genius.

Context Fields

Genius also passes these context fields so Cashnet’s notification back to Genius can be correlated to the right transaction:

  • TransactionId

  • AffiliationId

  • Source

  • StudentIndex

Note: That is the complete list. Nothing on the Genius side is per-organization configurable beyond the four gateway settings: Cashnet URI, Default Item Code, Encryption Key, and Checkout Name. Genius does not currently send Cashnet reference type codes — FIRST_G, LAST_G, or the refN / typeM / valM pattern — and there is no administrator setting that enables them. See the "Requesting reference type codes" section below if your Cashnet template requires those.

What Your Cashnet Template Controls

The SID template on your Cashnet account decides what happens to every parameter Genius sends. Specifically, the template controls:

  • Which parameters render in the Cashnet Transaction Info view. If a parameter Genius sent is missing from that view, the template is not mapping it into the view — the parameter is still present in the raw Checkout request Genius sent.

  • Which parameters echo back on the HTTP notification Cashnet posts to Genius after payment. A parameter can arrive at Cashnet on the Checkout request and still be echoed as blank on the notification because the template is not passing it through.

  • Which parameters feed downstream Cashnet reports and views.

Two different SID templates on the same Cashnet account can be configured differently. It is common for one integration to render and echo a field while a different integration on the same Cashnet account does not, depending on how each template is mapped.

Important: If a field Genius sends is arriving blank on your Cashnet side, check the SID template mapping first. Ask your Cashnet Support contact whether the template can be adjusted to route the field. In most cases, the answer is yes and no change is needed on the Genius side.

Ledger ID vs Cashnet Transaction ID

The ID column on the Genius ledger and the SESSIONID / Transaction ID in Cashnet are two separate counters, by design. They will not match numerically. For example, a ledger row with ID 3560 can correspond to Cashnet SESSIONID 126 — same event, two different counters.

The link between the two is the ledger’s External Transaction ID column, which shows the Cashnet SESSIONID for the same event. To reconcile a Cashnet transaction against the Genius ledger:

  1. Note the SESSIONID or Transaction ID in Cashnet.

  2. Open the administrator view of the learner’s ledger in Genius.

  3. Find the row whose External Transaction ID column matches that Cashnet SESSIONID. That row’s ID column is the Genius-side ledger identifier.

Note: The External Transaction ID column is shown on the administrator view of the ledger. It is not shown on the learner view — the learner only sees the ledger ID. This is expected behavior and not a defect.

Troubleshooting

Symptom

Cause

Resolution

FNAME or LNAME arrives blank in the Cashnet Transaction Info view, or echoes back as blank on the notification Cashnet sends Genius.

The SID template on your Cashnet account is not routing those parameters through. Genius sent them on the Checkout request.

Confirm what Genius sent by checking the Cashnet Event Log Detail for the Checkout request tied to that SESSIONID — the entry lists every parameter Cashnet received. If FNAME and LNAME are present on the Checkout request but missing from the Transaction Info view or the notification, ask Cashnet Support to adjust the SID template mapping.

The Genius ledger ID number does not match the Cashnet SESSIONID or Transaction ID.

These are separate counters by design.

Use the ledger’s External Transaction ID column (administrator view) to cross-reference — it shows the Cashnet SESSIONID for the same event.

Names arrive correctly for some learners but blank for others.

The learner’s first or last name is blank on their Genius profile. Genius skips (does not send) FNAME or LNAME when blank rather than sending an empty value.

Populate First Name and Last Name on the learner’s Genius profile and re-run the transaction.

Cashnet reports a successful payment (Monetra Response APPROVED) but the transaction does not appear on the learner’s ledger.

Timing — the ledger row is written after the notification arrives and processing completes, which can take a few minutes.

Wait a few minutes and re-check the administrator view of the learner’s ledger. If the row does not appear after 10 minutes, contact Genius Support with the SESSIONID and the approximate timestamp.

You need to send Cashnet reference type codes (FIRST_G, LAST_G, or a custom code) instead of or alongside FNAME / LNAME.

Reference type code emission is not implemented in Genius today.

See the next section.

Requesting Reference Type Codes

If your Cashnet template can only receive customer names via reference type codes — for example FIRST_G and LAST_G, or a custom reference type code your organization has defined — Genius cannot meet that requirement out of the box today. Emitting reference type codes on the Cashnet Checkout request is not implemented.

Visit our Ideas Form to submit a feature enhancement suggestion. These submissions are reviewed by our product team for consideration in future product development.

Important: If Genius later adds reference type code emission to the Cashnet integration, you will also need to add the matching reference type codes on your Cashnet side before the Cashnet template will accept them. On the Cashnet side, this is done under System Setup > Reference Types > add a new one, with the field type set to Text. Your Cashnet Support contact can walk you through this.

Related Articles

Did this answer your question?