18 Customizing Suspended Payment Allocations

This chapter describes how to customize partial suspended payments allocation behavior in Oracle Communications Billing Care.

About Suspended Payment Allocation

Oracle Communications Billing and Revenue Management (BRM) automatically suspends subscriber payments that do not meet certain criteria when the optional Suspense Manager is installed. For example, BRM suspends payments made to unidentifiable bill numbers.

Payments administrators use Billing Care to correct payments for either automatic or manual allocation to the intended bill or account. By default, Billing Care enables either partial or complete allocation of a suspended payment to a subscriber's bill or account. See "Working with Suspended Payments" in Oracle Communications Billing Care Online Help for more information on using Billing Care to manage suspended payments.

Forbidding Partial Allocation of Suspended Payments

You can forbid partial allocation of suspended payments using the Billing Care SDK if your business policies require only complete allocation of suspended payments. Billing Care will reject attempted allocations of any suspended payment amount that does not match the amount of the entire suspended payment.

The SDK includes a sample for configuring Billing Care to reject partial suspended payment allocation in SDK_home/BillingCare_SDK/samples/partialSuspenseAllocation where SDK_home is the Billing Care SDK installation directory. Use this sample as an example on how to configure Billing Care to enable only complete allocation of suspended payments.

To forbid the partial allocation of suspended payments in Billing Care:

  1. Create a java class that prevents partial allocation of suspended payments in Billing Care. See "Creating a CustomPCMPaymentModule.java Class" for more information.

  2. Create a custom payment suspense view model to override the default Billing Care allocation behavior. See "Creating a Custom Payment Suspense View Model" for more information.

  3. Create a customModule.properties file configuring Billing Care to override the default payment module logic with the custom payment module created in step 1. See "Creating a customModule.properties File" for more information.

  4. Create a customRegistry.js file configuring Billing Care to use the custom payment suspense view model created in step 4. See "Configuring a Custom Module in the Registry" for more information.

  5. Deploy your customizations to your application server. See "Deploying Customizations" for more information.

Creating a CustomPCMPaymentModule.java Class

Configure Billing Care to forbid partial allocation of suspended payments by creating a custom payment module class containing logic to reject partial allocations.

A sample CustomPCMPaymentModule.java file is provided in the SDK_home/BillingCare_SDK/samples/partialSuspenseAllocation/src/java/custom/com/rest/sdk directory where SDK_home is the Billing Care SDK installation directory. This sample contains logic forbidding partial suspended payment allocation.

To create a custom payment module class:

  1. Create a CustomPCMPaymentModule.java file in myproject/src/com/rest/sdk where myproject is the folder containing your NetBeans IDE project.

  2. Save the file in your NetBeans IDE project.

Creating a Custom Payment Suspense View Model

Billing Care uses a payment suspense view model to define suspended payment allocation behavior. You must create a custom payment suspense view model containing overrides for the openAllocationOverlayForSuspense and autoAllocate functions.

See "About View Models" for more information about Billing Care view models.

A sample CustomPaymentSuspenseAllocationViewModel.js file is provided in the SDK_home/BillingCare_SDK/samples/partialSuspenseAllocation/web/custom/js/viewmodel directory where SDK_home is the Billing Care SDK installation directory. This sample contains the necessary override functions to forbid partial suspended payment allocation. Use this sample to create a custom payment suspense view model.

To create a custom payment suspense view model with partial suspended payment override functions:

  1. Create a CustomPaymentSuspenseAllocationViewModel.js file in myproject/web/custom/js/viewmodels/area/configure where myproject is the folder containing your NetBeans IDE project and area is the customization type.

  2. Save the file in your NetBeans IDE project.

Creating a customModule.properties File

After creating the required custom payment suspense model create a custom module entry in the customRegistry.js file to use when allocating suspended payments. Billing Care uses the custom payment suspense module instead of the default entry during suspended payment allocation and prevents partial allocations.

A sample customModules.properties file is provided in the SDK_home/BillingCare_SDK/samples/partialSuspenseAllocation/src/java/custom directory where SDK_home is the Billing Care SDK installation directory. This sample contains an override entry for using the previously created custom payment module.

See "About the customModules.properties File" for more information on the customModules.properties file.

To create a custom payment suspense override in the customModule.properties file:

  1. Create a customModule.properties file in myproject/web/WEB-INF/classes/custom where myproject is the folder containing your NetBeans IDE project.

  2. Specify the custom payment module override in the file. Example 18-1 shows an example of an override where the custom class is located in the ./custom/com/rest/sdk/CustomPCMPaymentModule directory relative to the location of the customModule.properties file.

    Example 18-1 Sample Custom Payment Suspense customModules.properties Entry

    billingcare.rest.payment.module=custom.com.rest.sdk.CustomPCMPaymentModule
    
  3. Save the file in your NetBeans IDE project.

Configuring a Custom Module in the Registry

After creating the required custom payment suspense view model, create a custom module entry in the customRegistry.js file to use when allocating suspended payments. Billing Care uses the custom payment suspense module instead of the default entry during suspended payment allocation and prevents partial allocations.

A sample customRegistry.js file is provided in the SDK_home/BillingCare_SDK/samples/partialSuspenseAllocation/web/custom directory where SDK_home is the Billing Care SDK installation directory. This sample defines the custom payment suspense module containing the previously created custom payment suspense view model.

To create a custom payment suspense module entry in the customRegistry.js file:

  1. Create a customRegistry.js file in myproject/web/custom/ where myproject is the folder containing your NetBeans IDE project.

  2. Define the custom payment suspense module in this file. Example 18-2 shows a definition of the custom account creation module in the registry using the SDK samples.

    Example 18-2 Sample Custom Payment Suspense Module Registry Entry

    var CustomRegistry = {
         paymentSuspenseAllocation: {
            viewmodel: '../custom/js/viewmodel/CustomPaymentSuspenseAllocationViewModel'
        }
    };
    
  3. Save the file in your NetBeans IDE project.

Deploying Customizations

Package and deploy your customizations using one of the methods described in "Using an Exploded Archive during Customization" or "Packaging and Deploying Customizations".