Configuration: Payment Gateway - Heartland

Setup Checklist

1. POS Tasks

 

1. POS Tasks

 

  • Switching your RTP|One POS over to Heartland Payments requires working with your Active, Heartland, and Aspenware Representatives. It also requires RTP|One to be on the latest 2021 version. Required

Prerequisite

2. Infrastructure Tasks

 

  • Set up account with Heartland Payment Systems and obtain required information Required

  • Register for a Developer Account with Heartland Payment Systems to obtain test credentials.

  • Work with your Aspenware Representative to ensure that the Unity rtp-config.jsopn file is setup properly. Ensure the following settings are set.

    • UsePaymentCardTokenTable set to TRUE

    • EncryptPaymentCardTokenValue set to FALSE

    • Validate the credit related settings in the Unity rtp-config.json when that switch occurs.  

  • If on a version earlier than 2.27, your Aspenware Representative will also need to set the following in the Azure appsettings.json file:

    • AllowStorageOfCC = TRUE

    • AllowTransferOfCC = FALSE

Prerequisite

3. Commerce Tasks

 

  • Install and enable the Heartland Plugin Required

Prerequisite

Update Settings REQUIRED

  • In Configuration > Settings > All Settings, configure the following:

    1. ecommercesettings.allowstorageofcc = TRUE

    2. ecommercesettings.allowtransferofcc = FALSE

prerequisite

Update Language String optional

  • Edit ‘Checkout.ResortCharge.UsePaymentCreditCardForResortCharge’ language string

Prerequisite

  • Configure Payment Method Required

Detailed Setup

  • Install and enable the Heartland and Global Payments Payment Provider HTML Widget

detailed setup

Prerequisite Tasks

POS Tasks

  • Switching your RTP|One POS over to Heartland Payments requires working with your Active, Heartland, and Aspenware Representatives. It also requires RTP|One to be on the latest 2021 version.

Infrastructure Tasks

NOTE: If you are interested in implementing Heartland Payment Systems, please reach out to Phil Kilpatrick at Heartland (philip.kilpatrick@e-hps.com).

  • Ensure that your account with Heartland Payment Systems is set up. You will receive a Public Key and a Secret Key from Heartland to input into your Aspenware Commerce setup. Make a note of these. Note that the public and secret keys are unique, and cannot be interchanged between Sandbox and Production environments.

  • In order to obtain test credentials from Heartland Payment Systems, you will need to register for a free developer account. Registered developers will receive a set of sandbox keys for testing. If you use multi-use tokens, you will need to contact the Online Payments Team and request that your account be enabled for multi-use tokenization. (Note that if you are using RTP|One, you are likely using multi-use tokenization.)

  • Work with your Aspenware Representative to ensure that the Unity rtp-config.json file is set up properly. Ensure the following settings are set.

    • UsePaymentCardTokenTable set to TRUE

    • EncryptPaymentCardTokenValue set to FALSE

    • Validate the credit-related settings in the Unity rtp-config.json when that switch occurs.  

  • If on a version earlier than 2.27, your Aspenware Representative will also need to set the following in the Azure appsettings.json file:

    • AllowStorageOfCC = TRUE

    • AllowTransferOfCC = FALSE

IMPORTANT: AllowStorageofCC must be set to TRUE for the GL Export function to work.

Commerce Tasks

  • Work with your Aspenware Representative to install the Heartland Payments Plugin. Go to Configuration > Local Plugins and find the Heartland Payment Provider plugin to install and enable the plugin. You need to restart the application for the plugin install to take effect.

  • Next, from Configuration > Settings > Payment methods choose to Edit the Heartland Payment Provider. Check Is Active and Update to activate.

IMPORTANT: Make sure to mark all other payment gateways, except Affirm, as inactive so that only the Heartland Payment Plugin is installed for payment. Aspenware strongly recommends working with your Aspenware representative to uninstall other payment gateway plugins that are no longer in use.

Settings and Language Strings

Language Strings

  • Go to Configuration > Languages > English, search for the resource name: 'Checkout.ResortCharge.UsePaymentCreditCardForResortCharge.' Change the value associated with this string to a reminder that the card the guest has entered will be saved for Resort Charge use in RTP|One.

Settings

Update the following settings in Commerce Admin.

  • Go to Configuration > Settings > All settings (advanced)

    1. Search for ecommercesettings.allowtransferofcc

       

      1. Click Edit.

         

      2. Set the Value to FALSE and click Update.

         

    2. Search for ecommercesettings.allowstorageofcc

       

      1. Click Edit.

         

      2. Set the Value to FALSE.

      3. Click Update.

Detailed Setup Guide

1. Configure Payment Method

  • Once installed, go to Configuration > Settings > Payment methods. Select to Configure ‘Heartland Payment Provider.’

    1. Use Sandbox: checked for test environment, Unchecked if configuring for a production environment.

    2. Public Key: This will be received from Heartland to input. Note that the public and secret keys are unique, and cannot be interchanged between Sandbox and Production environments.

    3. Secret Key: This will be received from Heartland to input. Note that the public and secret keys are unique, and cannot be interchanged between Sandbox and Production environments.

    4. Requires Billing Address: Must be checked, so AVS verification can function.

  • The following values can be entered from the Configure screen to customize the field labels and error messages on the payment page. The following items can be customized:

    1. Card Number Label: This is the language string that displays above the Card Number box. Example: “Card Number”.

    2. Card Number Placeholder: This is the language string that displays in the Card Number field. Example: Card Number or “XXXX XXXX XXXX XXXX”.

    3. Card Number Invalid Title: This is the title on the message that displays if a card number is invalid. Example: “Invalid Card Number.”

    4. Card Number Invalid Message: This is the message that displays if a card number is invalid. Example: “Invalid Card Number.”

    5. Expiration Label: This is the language string that displays above the Expiration Number box. Example: “Expiration Date”.

    6. Expiration Placeholder: This is the language string that displays in the field as a placeholder. Example: “MM/YYYY”.

    7. Expiration Invalid Title: This is the title on the message that displays if an expiration date is invalid. Example: “Invalid Expiration Date”

    8. Expiration Invalid Message: This is the message that displays if an expiration date is invalid. Example: “Card Number Invalid. Example: “Expiration Date Must Be in MMYY”.

    9. CVV Label: This is the language string that displays above the CVV box. Example: 'CVV”.

    10. CVV Placeholder: This is the language string that displays in the CVV field as a placeholder. Example: “CVV”.

    11. CVV Invalid Title: This is the title on the message that displays if a CVV is invalid. Example: “Invalid CVV”

    12. CVV Invalid Message: This is the message that displays if a CVV is invalid. Example: “Invalid CVV Number.”

    13. Name Label: This is the language string that displays above the Name box. Example: ‘Name’.

    14. Name Placeholder: This is the language string that displays in the field as a placeholder. Example: “Cardholder Name”.

    15. Name Invalid Title: This is the title on the message that displays if a name is invalid. Example: “Invalid Name”

    16. Name Invalid Message: This is the message that displays if a Name is invalid. Example: “Cardholder name required.”

  • Click Save.

For reference, here’s how they appear on the Payment Window:

2. Install and enable the Heartland and Global Payments Payment Provider Widget

  • Go to Configuration> Widgets

  • Scroll to find the ‘Heartland and Global Payments Payment Provider’ widget in the list.

  • Click Edit.

  • Check ‘Is Active’.

  • Click Save.

Common Troubleshooting

Q: What functionality is and isn’t available to me because of having Heartland as a Payment Provider? 

A: Good news is that using Heartland allows you to enable a number of advanced features, most notably Payment Plans and Resort Charge in RTP|One. Because Heartland is a preferred tokenization provider for RTP|One, if RTP|One is your POS, resorts that use Heartland can offer guests resort charge, direct to lift, and token capture for refunds in the POS. Updating the resort charge credit card in my account is also supported. Subscriptions, Apple Pay, Google Pay, Pay Pal, and Storing CC for future purchases are NOT currently supported with Heartland.

Q: I’m switching from another payment provider to Heartland, but the old payment provider UI continues to display on top of the new payment method on the Payment UI during checkout.  

A: You must uninstall the previous payment provider plugin and ensure that Heartland is the ONLY payment provider plugin that is enabled. Go to Configuration > Payment Methods in Admin to ensure that Heartland is the ONLY payment provider installed and enabled.

Q: Can I set up Heartland, with test credentials in my test environment?

A: In order to obtain test credentials from Heartland Payment Systems, you will need to register for a free Developer Account (This is separate from your Merchant Account). Registered developers will receive a set of sandbox keys for testing. If you use multi-use tokens, you will need to contact the Online Payments Team and request that your account be enabled for multi-use tokenization. Note that if you are using RTP|One, you are likely using multi-use tokenization.