Authorize.net (Payment Processor)

Introduction and Overview

Campus Café supports an integration with Authorize.net to facilitate payments. The integration uses a REST API to present an Authorize.net-hosted payment web form from Campus Café’s student record payment page, admissions portal application fee, application deposit and donation payment collection. 

When configured to interact with Authorize.net , Campus Café payment links located within these modules will present a payment form that complies with Payment Card Industry Standard Standards Council (PCI SSC) data handling specifications. By using the Accept.js, the Authorize.net application programming interface (API) means no sensitive data is sent to Campus Café; instead, the data are sent directly to Authorize.net and then cleared from the web payment form (including credit card number, CVV, expiration date). Upon receiving confirmation of payment status, Campus Café simultaneously presents a customizable receipt and sends a confirmation email to the payer. 

Campus Café has been tested against the Authorize.net account configuration presented here. Other customization option settings are not supported.

Configure Required Data Elements

Authorize.net will expect to receive from Campus Cafe certain pieces of data to process the transaction. Campus Cafe supports sending only certain elements.

  1. Log in to Authorize.net

  2. Click Account

  3. Click Payment Form

  4. Click Form Fields

  5. No fields should be checked as required except under Customer Billing Information optionally check Zip Code and Email. If these fields are set to required you must make the visible in Campus Cafe. See section Make email, zip and CVV visible/required.

  6. Click Submit

Allow International Payments

To allow the acceptance of payments using international credit cards follow the below directions. Otherwise, skip this portion of the directions.

  1. Sign into Authorize.net as a merchant with administrative access

  2. Click Account

  3. Click Payment Form

  4. Click Form Fields

  5. Under Customer Billing Information, uncheck as required the state and zip code fields

  6. Click Submit

Generate Authorize.net Transaction Key

A transaction key allows the connection between Authorize.net and Campus Cafe.

Authorize.net supports only one active transaction key at a time. If you presently use a transaction key for other integrations/services, Campus Café recommends using that key because generating a new transaction key will invalidate any prior keys that have been created and those integrations/services will stop working.

  1. Sign into Authorize.net as a merchant with administrative access

  2. Click Account

  3. Click API Credentials & Keys

  4. Next to obtain, choose New Transaction Code

  5. Click Submit 

  6. Copy the transaction key for future use

  7. Copy the API Login ID for future use

Note that once generated, a key is no longer visible so you will need to locate a previously generated key in your own records. Otherwise, you will need to generate a new key and  re-integrate all other services that rely on the key.

Obtain Authorize.net Public Client ID

IMPORTANT: Only one public client key may be generated at a time. Generating a new key will invalidate any prior keys that have been created. If you use the key for other services, you will either need to have saved that string for use with Campus Café or will need to update the other services that rely upon that Authorize.net key. 

  1. Sign into Authorize.net as a merchant with administrative access

  2. Click Account

  3. Manage Public Client Key

  4. Copy the Client ID for future use or generate a new key and copy it for future use. If no Public ID exists, click submit to create one.

Generate Authorize.net Signature Key and Webhook (required for reoccurring auto-debit payment plans)

  1. Sign into Authorize.Net as a merchant with administrative access

  2. Click Account

    account.png
  3. Click API Credentials & Keys

    apicredentialsandkeys.png
  4. Click the New Signature Key radio button, and click submit

  5. Copy the Signature Key value and paste it into the AUTHORIZE_NET_SIGNATURE_KEY value in Web App Configurations (Admin -> Web App)

  6. In Authorize.net , click Account, and then Webhooks

  7. Click Add Endpoint

  8. Enter "Campus Cafe Async Payment Webhook" for the Name

  9. Enter https://***-web.scansoftware.com/cafeweb/tl/authNetWebhook in the Endpoint URL value, where *** is your 3-digit Campus Cafe School Code

  10. Set the status as Active

  11. Select the first 3 payment events (net.authorize.payment.authcapture.created,
    net.authorize.payment.authorization.created,
    net.authorize.payment.capture.created)

Authorize.net Test Mode

Other services that interface with Authorize.net will be affected if the account is set to test mode.

Authorize.net supports a test mode. In test mode, Authorize.net will perform operations as normal, with the exception that payment transactions will not be executed. This serves the purpose of confirming that the configuration is correct before going live. You must change the setting to live to complete transactions after you have confirmed that the configuration is correct. 

This is an optional step to ensure the Campus Café connection is working.

  1. Sign into Authorize.net as a merchant with administrative access > Test Mode

  2. Click Account

  3. Click Test Mode

  4. Move the slider to Test

Campus Café Client Web App Configuration

Campus Café must be configured with values retrieved from Authorize.net to enable the use of Authorize.net as a hosted-payment web form provider.

  1. Log in to Campus Café

  2. Navigate to Admin > Web App Config

  3. In the search box enter Authorize.net

  4. Set the following values

AUTH_NET_PUBLIC_CLIENT_KEY: Public client key generated in the Authorize.net

AUTHORIZE_NET_LOGIN_ID: API Login ID generated in the Authorize.net interface

AUTHORIZE_NET_TRANSACTION_KEY: The transaction key retrieved or generated from Authorize.net

AUTHORIZE_NET_URL: URL for retrieving form token from Authorize.net . For production installation configurations, enter the URL https://accept.authorize.net/payment/payment

Note: AUTH_NET_PUBLIC_CLIENT_KEY_2, AUTHORIZE_NET_LOGIN_ID_2, and AUTHORIZE_NET_TRANSACTION_KEY_2 are provided so that a second Authorize.net merchant account can configured.

PAYMENT_ADMIN_EMAIL_ADDRESS: The email address of the individual to receive a notification of payment. Separate multiple emails with a comma. Must be configured to allow emailed payment receipts to payers.

Campus Café Custom Control Configuration

To set Campus Café to send a payer to the Authorize.net web payment form, the Custom Control Setting WEBPAYMENT must be changed.

  1. Log in to Campus Café

  2. Navigate to Admin > Custom Control

  3. In the search box, enter WEBPAYMENT

  4. Click the pencil icon for WEBPAYMENT sequence 2, parameter 4

  5. In Parameter Value 4 enter AUTHORIZE_NET_FORM

  6. Click Save & Back

  7. Click the pencil icon for WEBPAYMENT sequence 3, parameter 1

  8. In Parameter Value 1 enter N

  9. Contact Campus Café to request a restart of the Tomcat server or wait overnight. 

Configure a second Authorize.net merchant account

For institutions with multiple Authorize.net merchant accounts, Campus Cafe may be configured to direct payments by some applicants/students to one merchant account and payments by other applicants/students to a different merchant account. Campus Cafe supports a maximum of two Authorize.net merchant accounts. Applicants/students are directed to the Authorize.net merchant account based on their admissions site code. Individuals without an admissions site will be routed to the merchant account specified in AUTH_NET_PUBLIC_CLIENT_KEY.

  1. Navigate to Admin > Custom Control

  2. In the search box, enter WEBPAYMENT

  3. Click the pencil icon for sequence 2, parameter 6

  4. In Parameter Value 6 enter Y

  5. Click Save

  6. In Parameter Value 8 set the admissions site-merchant account pairs. For example, to have applicants/students with admissions site 1 directed to the merchant account set in Web App Config AUTH_NET_PUBLIC_CLIENT_KEY2 (the second account), enter 1-2. Separate all pairings with a comma. For example, 1-2,2-1,3-1 would direct individuals with admissions site 1 to the second merchant; those with admissions site 2 to the first merchant and those with admissions site 3 to the first merchant.

Make email, zip and CVV visible/required

  1. In the search box, enter WEBPAYMENT

  2. Click the pencil icon for sequence 2, parameter 7

  3. In Parameter Value 7 enter, enter a combination of Y and N separated by commas
    The first position represents whether to require an email
    The second position represents whether to require a zip code
    The third position must be a Y to require CVV the CVV code
    For example, to require email and zip, you would enter Y,Y,Y
    To require just email, enter Y,N,Y

  4. Click Save

Accept eCheck Payments

  1. In the search box, enter WEBPAYMENT

  2. Click the pencil icon for sequence 3, parameter 2

  3. In Parameter Value 2 enter Y

  4. Click Save

Set School Name on Receipt

  1. In the search box, enter WEBPAYMENT

  2. Click the pencil icon for sequence 3, parameter 3

  3. This value governs the name of the school presented on the Authorize.net payment form and receipt webpages. If you use a different Authorize.net account for each of two merchants, set this value to ‘Y’ to have the respective names listed in the forms.

Set Transaction Code Associated with Online Tuition Payments

Payments made toward tuition and fees from the Make Payment screen will enter Cash Batch tied to the transaction code configured.

  1. In the search box, enter WEBPAYMENT

  2. Click the pencil icon for sequence 2, parameter 1

  3. In the Parameter Value 1 box enter the transaction code

    1. Use a comma separated value for the E-Check Transaction code (e.g. CCPAYMENT,ECHECKPAY)

  4. Click Save

All changes require a server restart. Contact Campus Café to request a restart of the Tomcat server or wait overnight. 

Authorize.net Web Payment Form Branding

Campus Café provides customizable web text to allow a school to customize the look and feel of the Authorize.net Payment Form and Authorize.net Receipt pages as well as a confirmation text. A knowledge of HTML and CSS selector hierarchy and tag identifiers is required to successfully adjust the forms.

Forms

  1. Log in to Campus Café

  2. Navigate to Admin > Adjustable Text Maintenance

  3. Update the values for AUTH_NET_PAYMENT_FORM and AUTH_NET_RECEIPT

  4. To apply the changes, reload the cache by navigating to Admin > Refresh Data Cache

Note: You may also use the Custom Control WEBPAYMENT parameter to configure the appropriate bill codes to use for self-service payments made through Authorize.net.

Confirmation Text

  1. Log in to Campus Café

  2. Navigate to Admin > Adjustable Text

  3. Update the value PAYMENT_CONFIRMATION_TEXT

  4. To apply the changes, reload the cache by navigating to Admin > Refresh Data Cache

Email Receipt Branding and Content

Campus Café provides customizable web text to allow a school to customize the look and feel of the emailed payment receipt. The content of the email (body) supports HTML and references to images stored on the Campus Cafe server or elsewhere.

Configure Email Sender

This is the email address that will send the confirmation

  1. Log in to Campus Café

  2. Navigate to Admin > Web App

  3. In the search box, enter PAYMENT_CONFIRMATION_EMAIL_ADDRESS

  4. Update the value to the email address

  5. To apply the changes, reload the cache by navigating to Admin > Refresh Data Cache

Configure Email Content

  1. Log in to Campus Café

  2. Navigate to Admin > Adjustable Text

  3. In the AR module, update the values for PAY_CONF_MAIL_SUBJ (email subject line) and PAY_CONF_MAIL_BODY (content of email)
    Note: The subject line does not support merge fields or HTML. The body supports HTML and the specific merge fields noted below.

  4. To apply the changes, reload the cache by navigating to Admin > Refresh Data Cache

Merge Fields

A merge field inserts variable data such as the individual's name into the content of the email body. Merge fields are wrapped in double brackets. Enter the full field, including the brackets, for the merge to function. The body supports only the below merge fields.

[[FULL_NAME]] = Student's full name
[[AMOUNT_PAID]] = The amount remunerated
[[PAYMENT_PROVIDER]] = The payment processor (e.g. Authorize.net)