Account management

The billing system plugin has several methods related to accounts.

Your createAccount method tells your billing system to create an account associated with the policy period for a particular transaction. As a method parameter, this plugin method gets the PolicyCenter Account entity instance that represents the new account. The Account entity properties contain the data for the new billing system account.

Note: PolicyCenter always calls this method asynchronously with respect to the user interface. The messaging code calls out to the plugin.

Use the account number of an account, not its public ID, to uniquely identify the account in both systems. The method contains a second parameter, which is the billing system transaction ID.

The transaction ID is an identifier that PolicyCenter creates. Your plugin must track this billing system transaction ID. If PolicyCenter requests the same transaction ID twice, the billing system or your plugin that represents it must detect that PolicyCenter requested it twice. If you receive the same transaction ID more than once, you must ignore the duplicate requests.

Your implementation of the updateAccount method likely is similar to your createAccount method. It takes the same method parameters, an Account entity instance and a transaction public ID String. However, instead of creating a new account, PolicyCenter calls this method to notify the billing system that some account information changed. Use the current properties on the Account entity instance to update the billing system version of the account. Use the account’s public ID (the PublicID property) to uniquely identify the account in both systems.

Your accountExists method asks your billing system whether an account exists, based on the account number. Return true if it exists, otherwise return false. PolicyCenter does not track whether the billing system already knows about an account, so it always asks and then creates it if necessary.