Configuring Module Merchant Accounts

By default, Civic Platform payment transactions are processed and submitted to agency-level merchant accounts. Prior to 8.0.1, payment transactions for all departments or modules within an agency can only use the agency-level merchant accounts. The 8.0.1 release adds the capability to assign a merchant account to a module, which allows payment transactions to use either agency-level or module-level merchant accounts.

The module-level merchant account feature is currently supported in the web service ePayments adapters, such as the PayPal, Official Payments STP, Virtual Merchant adapters. This feature is not supported in the redirect ePayment adapters, such as the Official Payments CoBrand, and ACA Online Payment adapters.

Enabling the usage of module-level merchant accounts requires the following configurations:

  • Insert a merchant account per module into the XPOLICY table.

    This configuration requires assistance from Accela Customer Support and agency DBA to run a SQL script that updates the XPOLICY table. A row needs to be added to the XPOLICY table which contains the required fields that specify the payment gateway and ePayment adapter configuration data.

    For a module-level merchant account row in XPOLICY, the LEVEL_DATA field must specify the module using the following format:

    <paymentGatewayName>_<environment>_<moduleName>            

    where paymentGatewayName is the name of the ePayment adapter type, environment is either Test or Live, and moduleName is the name of the module (such as Building, Enforcement, Licensing, etc) to which the merchant account is assigned. For example, specify PayPal43_Test_Building for a Building module PayPal merchant account in a test environment. Note that the <paymentGatewayName>_<environment> value corresponds to the value description defined for either the ACAAdapterType or AdapterType value for the existing EPaymentAdapter standard choice configuration.

    The module-level merchant account can use any of the existing adapter types (such as ePayments3, Redirect, and others), as specified on the DATA1 field. If the module or department plans to use separate merchant accounts for item fees and convenience fees, use the MultipleAccountsEPayment adapter type on the DATA1 field. To specify the merchant accounts for principle item fees and convenience fees, as well as the convenience fee formula, go to Civic Platform V360 Administration Tool > Finance > Merchant Account Settings > Merchant Account Details and Convenience Fee Formula.

    The merchant account information for the module is specified in one of the DATA fields, depending on the type of ePayment adapter. The rest of the fields for the module-level merchant account row follow the same format specification for agency-level merchant account rows.

    For details about XPOLICY fields for the ePayment adapters, see Civic Platform ePayments SDK Development Guide > Appendix A: XPOLICY Table Settings for ePayment Adapters.

  • Configure the standard choice ENABLE_MERCHANT_ACCOUNT_BY_MODULE.

    Set the standard choice ENABLE_MERCHANT_ACCOUNT_BY_MODULE to Yes, which allows an agency to enable payment transactions in Civic Platform and Citizen Access to use merchant accounts at the module level. When you set the ENABLE_MERCHANT_ACCOUNT_BY_MODULE to Yes, note the following:

    • If the ALLOW_CROSS_AGENCY_RECORDS_IN_CART value is added to the standard choice item ACA_CONFIGS and set to Yes, cross-agency records in a shopping cart are processed per module.
    • If the ALLOW_CROSS_AGENCY_RECORDS_IN_CART standard choice value is disabled, only records from one agency will be allowed in the shopping cart. If a merchant account for a particular module has not been assigned, the agency-level merchant account is used.
    • If the existing PAYMENT_TRANSACTION_SETTING for the current agency the user is logged into is set to 0 (zero), the payment transactions are grouped and processed per agency and module.