Managing the charge order for debit transactions

The payment hierarchy sorts debit transactions into groups, and the Pismo platform discharges all the transactions in one group before it goes on to discharge all the transactions in the next group. For more information, refer to How the program discharges transactions.

Within a group, the platform pays off transactions by their charge order. It discharges transactions with a lower charge order before transactions with a higher one.

You can set the charge order at the program level or at the account level. A charge order set at the account level takes precedence over a charge order set at the program level.

Setting the charge order at the program level

At the program level, you can set the charge order for a program transaction type when you create it using the Create program transaction type endpoint. Pass the value for the charge order in the charge_order field.

Alternatively, if a group of program transaction types are in the same program transaction category, you can set the charge order for the entire group by setting it in the charge_order field of the program transaction category. You can do this when you create the transaction category using the Create program transaction category endpoint, or you can do it for an existing transaction category using the Update program transaction category endpoint. When you set the charge_order in a program transaction category, it overrides any charge order in a program transaction type that references it.

For information about program transaction categories and program transaction types, refer to How the program uses configurable entities.

Setting the charge order at the account level

To set the charge order at the account level, follow these steps.

  1. Use the List parameters endpoint to get the parameter ID for the SECONDARY_CHARGE_ORDER parameter.
  2. Use this parameter ID with the Update parameter endpoint to set SECONDARY_CHARGE_ORDER to a positive integer of your choice.
  3. Create a new category using Create program transaction category, and set the secondary_charge_order field to the charge order that you want to use when the SECONDARY_CHARGE_ORDER parameter is set.

If a transaction belongs to an account for which the SECONDARY_CHARGE_ORDER account parameter is set, the value of secondary_charge_order in the program transaction category overrides the charge order defined in the program transaction type. (It also overrides thecharge_order parameter in the program transaction category.)