Payment Gateways
LearningBuilder can collect payments from end-users in many different ways. Adding integrations for gateways not listed here is generally possible with minor innovation.
See also: Payment and E-Commerce Features
- 1 Overview
- 2 Supported Gateways
- 2.1 Payflow Pro
- 2.2 Authorize.Net
- 2.3 Moolah
- 2.4 USAePay
- 2.5 Alabama Interactive
- 3 Gateway / feature support matrix
- 4 Checkout Modes
- 4.1 Secure Post
- 4.2 Hosted Pages
- 4.3 Hosted Pages + iFrame
- 4.4 2 Step Client-Side
- 4.5 3-Step Handshake
- 5 PCI Compliance
- 6 Known Issues / Observations
- 7 Payment Features in LearningBuilder
Overview
LearningBuilder itself does not handle credit card transactions. Instead, it integrates with a variety of payment processing systems to handle those transactions.
In order to process payments, clients must have an existing merchant account with a supported gateway. If no existing merchant account exists we can assist with the setup, but the merchant account itself is a relationship between the client and their financial institution.
For more information on establishing a merchant gateway, see below.
Supported Gateways
By policy, LearningBuilder integrations are prohibited from using non-PCI-compliant checkout modes, such as “Secure Post”.
Support for non-PCI-compliant methods remains in the software during a migration period but will be removed in a future release, and may not be used for new integrations.
Payflow Pro | PayPal offers multiple payment products, but the only one that is both PCI compliant and fully supported by LearningBuilder is Payflow Pro. For more information on the other PayPal offerings, see PayPal Payment Gateways This service uses PayPal as the Payment Gateway but uses a third party payment processor. This interface is the result of PayPal's purchase of Verisign, which first developed the Payflow Pro product. PayPal now uses it for advanced interfaces that use other payment processors. Payments and refunds are both functional, and are supported in both the Secure Post and Hosted Pages iFrame Checkout configurations. Required Configuration: LearningBuilder requires that the client’s PayPal account be configured for Hosted Pages with the “Silent Post” feature enabled. See https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/3596681278 for details. |
Authorize.Net | LearningBuilder supports the PCI-compliant “Three-Step Handshake” checkout mode. |
Moolah | LearningBuilder Supports the PCI-compliant “Three-Step Handshake” checkout mode. |
USAePay | LearningBuilder supports the PCI-compliant "Two-Step Client-Side" checkout mode. |
Alabama Interactive | Alabama Interactive is a payment gateway used by licensing agencies in Alabama. It offers both a “Hosted Pages” and “Hosted Pages iFrame” option, but LearningBuilder only supports the “Hosted Pages” mode at this time. |
Gateway / feature support matrix
Vendor / Gateway |
App Config value for |
Checkout Modes | Supported Features | |||||||
---|---|---|---|---|---|---|---|---|---|---|
Full | Partial | GL | Discount | Responsible Party ‘Pending’ Payments (aka Bulk Employer Payments) | Organization ‘Bulk’ Payments | (Legacy) Learning Plan Task Payments | ||||
Payflow Payments Pro | PayPal | Secure Post | ||||||||
Payflow Pro | PayflowPro | Secure Post Hosted Pages IFrame | (Added with 10.0 Release) | ( Secure Post Only) | ||||||
Moolah | Moolah | 3 Step Handshake | ||||||||
Authorize.Net | AuthNet | Secure Post 3 Step Handshake | (v. 11.0.15+) |
(v. 11.0.15+) | ( 3-Step Handshake) | |||||
USAePay | USAePay | 2 Step Client-Side | ||||||||
Alabama Interactive | AlabamaInteractive | Hosted Pages |
Checkout Modes
Many payment gateways support multiple “checkout modes”, each offering a different user experience or feature set.
LearningBuilder integrations only support the PCI compliant modes.
The PaymentGateway
and CheckoutMode
App Config settings must be set to a supported combination.
Method | App Config value for
| Description / PCI Compliance |
---|---|---|
Secure Post |
| Payment forms are hosted by LearningBuilder. Payment card data is transmitted to LearningBuilder, which then submits the payment transaction to the gateway. |
Hosted Pages |
| When the user begins checkout, their browser is redirected to the payment gateway’s website. The credit card form is hosted by the gateway and the entire transaction occurs externally to LearningBuilder. The user is redirected back to LearningBuilder after the transaction is complete. |
Hosted Pages |
| This is similar to Hosted Pages, except that instead of redirecting the user to a 3rd-party checkout process, the 3rd-party checkout form is displayed in an iframe within LearningBuilder. This often results in a more seamless user experience because the user never leaves the context of the LearningBuilder site. |
2 Step Client-Side |
| In this mode, the checkout process is implemented within LearningBuilder except for the credit card processing. When the user submits the form containing credit card data, the form submits directly to the payment gateway which handles the transaction and then redirects the user back into LearningBuilder. |
3-Step Handshake |
| After the user enters their credit card information, LearningBuilder submits that data directly to the payment gateway as a background post. The user’s browser does not navigate away from LearningBuilder. The gateway securely stores the credit card data, without processing a transaction, and returns a token that can be used to reference those saved credentials at a later time. The user then finishes the checkout process in LearningBuilder, which includes a “checkout confirmation” page. Once the user confirms their intent, LearningBuilder makes a second background post to the gateway. This post includes the transaction details (amount, etc) plus the token that was received earlier. The payment gateway then uses the stored card data to complete a transaction. |
PCI Compliance
As of 10.6, LearningBuilder does not support any payment gateways or checkout modes in which payment card data is transmitted to or processed by LearningBuilder. In order to maintain PCI compliance, LearningBuilder cannot have anything to do with credit card details.
Each of the supported gateways conforms to this requirement in a different way, which is documented above.
Additionally, the following implementation details are necessary for PCI Compliance:
The
EnableCreditCardValidation
App Config setting is deprecated and has no impact on a PCI-compliant payment gateway. The credit card data is transmitted directly to the payment gateway and is not examined by LearningBuilder in any way.When using the BACK button to navigate backward from the Review page to the Checkout page, the credit card information is not persisted and must be re-entered.
Known Issues / Observations
If a Payment Attribute is added to a role grant workflow with a success action that grants the role, successfully completing the payment does not redirect the Practitioner to an auto-started Learning Plan Instance (LPI). This is counter to the expected case, where normally granting oneself a role will redirect the Practitioner to the LPI associated with that role if the Learning Plan Definition is set to “automatically begin when eligible.” See https://heuristicsolutions.atlassian.net/browse/LB-2653
There is a small window of time within the ThreeStep Checkout Mode where a duplicate payment is possible. Refer to https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/3596681219 and https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/3099656228 for more information. This window also exists in the PayflowPro/SecurePost configuration. Refer to https://heuristicsolutions.atlassian.net/wiki/spaces/DOCS/pages/3596353605 for more information.
If a site app pool is recycled before payment is fully confirmed, the payment will redirect to a post-processing error page and a web error email (“The same key was already used for another template!”) will send. This occurs within the ThreeStep Checkout Mode and with the PayflowPro/SecurePost configuration.