Tenant-Specific Payment Settings

Business Case

In some /wiki/spaces/DOCS/pages/238092289 configurations, each Tenant will represent an independent business entity. In these cases, each Tenant must be associated with a separate merchant account so that payments are deposited into separate bank accounts.

As of LearningBuilder 9.9.0, certain Payment Gateway implementations support the ability to customize merchant account credentials on a per-Tenant basis. (Only the account credentials can vary by Tenant; all Tenants must use the same payment gateway implementation)

Configuration

  1. Use the Payment Gateways feature grid to verify that your payment gateway and checkout mode are supported

  2. In the Sys Admin → App Config area, edit the Username, Password, Vendor, or Partner setting for your gateway

  3. Enter Tenant-specific values in the format "<Tenant>:<value>", one per line.

  4. (optional) If you only need to customize a setting for some Tenants, but not all, you can include a "default" setting that applies to any Tenant not explicitly mentioned in the configuration. (You must either enter a value for all Tenants OR include a default. Failure to do so is an invalid configuration and may cause errors)

    Example of Tenant-specific App Config value
    TENANT1:someUsername
    TENANT2:anotherUsername
    DEFAULT:usernameForEverythingElse

Tenant-Specific Refunds

Since administrative features are sometimes performed using the "default" Tenant, refunds should be issued using the credentials related to the original payment, not the credentials related to the active Tenant. 

If the original payment cannot be mapped to a Tenant, then the refund will not be automatically settled with the gateway. This can occur if the Tenant-specific settings change between the time that the payment is recorded and the time that the refund is processed. In this scenario, the refund can still be recorded but the actual fund transfer will need to be performed manually.

Requirements

Known Limitations

  • The only settings that can vary by Tenant are the merchant account credentials. It is not currently possible to have one Tenant use Paypal and another use AuthNet, for instance.

  • In a multi-tenant system, it is possible for an administrator logged into Tenant 1 to access applications belonging to Tenant 2. If the administrator makes a payment on behalf of the Practitioner, it will be made using the payment gateway credentials of the currently active Tenant, NOT the credentials belonging to the Tenant that the application itself is associated with.