Cashiering setup
To create your web form, you will use the Cashiering Setup page in Infor Public Sector.
For more information, see the Cashiering documentation in the Infor Public Sector User and Administration Library on docs.infor.com.
Add a new merchant account and select Web Form in the Payment Server Gateway list. When you select Web Form, two additional tabs are displayed: and .
The client form is the pay form being rendered and used in the checkout process. The data entered (credit card or other sensitive information) will be posted directly to the payment gateway provider.
Generally speaking, the payment gateway will provide some sort of identification values to identify where the payment goes. The identification must be a one time use token for a particular pay session so public users won't be able to access the merchant account using the same identification. That will also prevent hackers from altering the paying items.
Localization
In the HTML web form you can use localized strings to globalize your pay form. This can be done by using the help with JavaScript. By inserting a script block within the HTML, you can use the Rhythm for Civics i18n.t function to retrieve a localized string value and set it to any control. Example:
<label id="custom" class="input-label" for="card-name">Name on Card </label>
<script type="text/javascript">
$("#custom").text( i18n.t("CIVICS.CHECKOUT.ACCOUNT_HOLDER") )
</script>
Validation
Required fields will be validated if the form inputs are tagged with the Rhythm for Civics "Required" attribute. If the input control contains the "Required" attribute, Rhythm for Civics will ensure that the control has a value before the form is posted to the payment gateway.
Address verification service (AVS)
The address verification service (AVS) is used to protect against credit card fraud. An AVS mismatch error occurs when the billing address provided during checkout does not match the billing address that you have on record with your credit card company or card-issuing bank.
When a web form payment gateway is used, the billing information is hosted and rendered in Rhythm for Civics. To send the billing information to the payment gateway server for address verification, the corresponding billing hidden inputs must be added to the web form.
Before the pay form is posted, Rhythm for Civics looks at the pay form and tries to locate any input with a class name "avs-address1." If this input field is found, the address line 1 value of the billing information will be copied to this input field. Rhythm for Civics will also try to locate any input with a class name "avs-postal." If this input field is found, the zip code value of the billing information will be copied to this input field.
Payments
During the payment process, different actions are performed at different stages depending on the payment gateway service provider. For a web form payment gateway integration, a client web form is used to post the credit card data directly to the payment gateway server. Authorize and reverse payment are required for the web form payment gateway integration as these are the standard implementation for a standard cashiering payment gateway integration.
- Prepare Payment
- PreAuthorize Payment
- Void Payment
- Authorize Payment
- Inquire Payment
- Reverse Payment
- Inquire Reversed Payment
This table shows the detailed behavior of each payment configuration:
Payment configuration | Success | Fail | Triggers |
---|---|---|---|
Prepare Payment | Initialized | Declined | When the checkout page is opened |
PreAuthorize Payment | Authorized | Declined | When user clicks | in the step 1 page going to the review page, it posts the data to the payment gateway based on the form action and invoke PreAuthorize Payment along with the return data from the form post action. This stage will hold the credit of the credit card.
Void Payment | Completed | Failed | When users cancel the payment after the payment is authorized or when errors arise during Authorize Payment. |
Authorize Payment | Approved | Declined | When the rhythm user is taken back to the hosted return page |
Inquire Payment | Approved |
Authorize and capture: Authorized Purchase/none: Initialized |
Batch task: Clean up Pending Cashiering Register Transaction |
Reverse Payment | Completed | Failed | Batch task: Clean up Pending Cashiering Register Transaction |
Inquire Reversed Payment | Completed | Failed | Batch task: Clean up Pending Cashiering Register Transaction |
Template variables
Template variables can be used to represent values from the Infor Public Sector database. When the web profile in each payment tab is executed, or when the redirect URL is constructed, a template utility parses the content into template tokens. Each token is parsed and replaced with the appropriate value. In the hosted page payment gateway integration, the merchant account being used by the portal register, the current drawer transaction, and its corresponding payment server transaction are passed to the template engine.
This table shows some examples of template variables:
Entry | Source | Examples |
---|---|---|
Redirect URL: Contents |
oMerchantAccount oDrawerTransaction oPaymentServerTransaction ServerApplication |
{{oDrawerTransaction.RegisterTransaction. RegisterTransactionNumber}} {{oDrawerTransaction.RegisterTransaction. TransactionToken}} {{oMerchantAccount. MerchantAccountCustPropToMerchantAccount. Get("variable1")}} |
In all payment configurations: Host Address |
oMerchantAccount oDrawerTransaction oPaymentServerTransaction ServerApplication |
https://server/ services/v1a/shared-services/payments/ transactions/ {{oPaymentServerTransaction.CustomProperties. Get("resultId")}} |
In all payment configurations: Contents |
oMerchantAccount oDrawerTransaction oPaymentServerTransaction ServerApplication |
{{oDrawerTransaction.RegisterTransaction. RegisterTransactionNumber}} {{oDrawerTransaction.RegisterTransaction. TransactionToken}} |
Security
When configuring the payment gateway integration in the merchant account setup, you will often include API keys, user names or passwords in the requests. To securely store sensitive data in the database, you can use the merchant account's custom properties on the Account Information tab.
To enable this feature, select the Encrypt Custom Properties check box. Any new entries added to the merchant account's custom properties will be encrypted. To retrieve the data, you can use the template variable and refer to oMerchantAccount.MerchantAccountCustPropToMerchantAccount.Get("***custom prop name****") anywhere in the host address, content or formula.