Implementation Guide for Oracle Self-Service E-Billing > Payment Processing > About Recurring Payment Processing >

Recurring Payment Transaction Cycle


Recurring payment information is saved into the recurring_payments table.

By default, Oracle Self-Service E-Billing uses the latest available bill when submitting the payment to the payment gateway. You can configure each payment gateway to only synchronize once, which reduces processing. The setting, Whenever Job Runs, can be changed to, Only After the Current Bill is Scheduled, which causes Oracle Self-Service E-Billing to synchronize only once when the bill is scheduled.

The pmtRecurringPayment job retrieves bills, makes payments (check or credit card), and sends email notifications for recurring payments. The job performs two actions:

  • Retrieves the latest bill for a recurring payment that a customer set up through the UI. This process is called synchronization. A recurring payment can only be synchronized with the Oracle Self-Service E-Billing database if it is associated with a bill and the amount to pay is the minimum (amount) due or the pay date is before the due date. A recurring payment with fixed amount and fixed date will not be synchronized with the Oracle Self-Service E-Billing database, which means there is no bill information associated with this recurring payment.
  • Schedules payments (inserts a payment with status of scheduled in the check_payments or creditcard_payments table so that the payments will be processed. This process is called scheduling. A payment is scheduled three days before the pay date (by default). The number of days can be changed by changing the Number of days before pay date to schedule the payment field in the job configuration. This delay allows the customer to modify or cancel this payment before the payment is processed by the pmtCheckSubmit or pmtCreditCardSubmit jobs.

The parameter, When to Synchronize Recurring Payment with Statements, belongs to the pmtRecurringPayment job.

Table 71 shows the columns that are updated in the recurring_payments table by the pmtRecurringPayment job.

Table 71. Columns Updated in recurring_payments table by the pmtRecurringPayment Job
Column Name in the recurring_payments Table
Description

bill_scheduled

Y or N: determines whether the current bill associated with the recurring payment has been scheduled (inserted) into check_payments or creditcard_payments. It is always N for a fixed amount and fixed pay date.

Status

Active or Inactive: This status is calculated internally. It indicates whether the recurring payment has ended, because either the pay date is after the end date, or the number of payments has reached the maximum allowed.

last_process_time

The last synchronization time. To improve performance, only bills whose Doc Date falls between last_process_time and the current job running time (inclusive) are synchronized. By default, last_process_time is set to the start_date of the effective period when the recurring payment is created, which means all bills whose Doc Dates are before start_date will not be synchronized.

last_pay_date

The pay date of last payment made. It is set to 01/01/1970 if the recurring payment has not started yet.

next_pay_date

The pay date of next payment. It is calculated based on start_date, last_pay_date and pay_interval.

bill_id

A foreign key reference to a row in the payment_bill_summaries table. Use bill_id to retrieve the latest bill information paid by the recurring payment. It might be null if there is no such bill.

curr_num_payments

Current number of payments made.

TIP:   There is no payment inserted into check_payments or creditcard_payments table when a recurring payment is created by the user. Payments are inserted by the pmtRecurringPayment job.

Implementation Guide for Oracle Self-Service E-Billing Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Legal Notices.