Payments configurations

The payments configuration API allows you to configure how the Pismo platform processes operations in the payments flows.

Processing code configurations

A processing code is a custom alphanumeric identifier that defines how the Pismo platform handles a certain financial operation type. Every processing code is associated with at least one transaction type. To set up this relationship, perform the following steps:

  1. Create or update processing code.
  2. Create transaction type.
  3. Map processing code to transaction type.
    If you plan to use the processing code in network transaction operations for a full balance credit program, an additional step is required:
  4. Map transaction type to transaction category.

Create or update processing code

When configuring processing codes for your organization, you have the following options:

  • Create one new processing code for a financial operation.
  • Create two new related processing codes: one for a financial operation and another for its reversal.
  • Update an existing processing code with another existing processing code that reverses this operation.

Use the List processing codes endpoint to list all processing codes defined for an organization. You can also filter this list by processing code or its description.

To create one processing code for a financial operation, use the Create processing code endpoint and provide the required body parameters in the request.

FieldDescription
processing_codeUnique alphanumeric identifier.
descriptionDescription for this operation.
balance_impactUse 1 for credit/cash-in operations, -1 for debit/cash-out operations, and 0 for operations that don't impact balance.

If the processing code is going to be used to hold funds on the account, set operation_type parameter to HOLD_FUNDS. By default, this value is NORMAL for all other types of processing codes.

To create two new related processing codes, use the Create processing code endpoint and, in addition to the required fields for the first processing code, provide values in the optional undo_processing_code and undo_description fields to create the second processing code for this operation's reversal.

To update the existing processing code with the existing processing code that reverses this operation, use the Update processing code endpoint and provide the undo_processing_code value. You should also mention this endpoint in the original processing code's description.

Create transaction type

To create a transaction type, use the Create transaction type endpoint and provide the required body parameters in the request.

FieldDescription
transaction_type_idTransaction type identifier with a value of 7000 or above. Values below 7000 are reserved for internal Pismo platform operations.
descriptionDescription for this transaction type.
creditDefines whether this transaction type is a credit (true) or debit (false) operation.
posted_transactionIndicates if transactions will be posted on statement (true) or not (false).

Map processing code to transaction type

Use the List transaction flows endpoint to list all transaction flow configurations that have been defined for your organization or filter them by processing code or transaction type ID. This is a convenient way to see mappings between processing codes and transaction types.

To map processing codes to transaction types, you need to create a new transaction flow configuration. A transaction flow is a separate object that maps a processing code to a transaction type. Use the Create transaction flow endpoint and provide the required body parameters.

FieldDescription
transaction_type_idTransaction type identifier with a value above 7000.
processing_codeProcessing code identifier of the operation that should issue a transaction of this type.
keyLinks transaction type and processing code by PRINCIPAL, INSTALLMENT, CONTRACT, or OTHER amount.

If the key is OTHER, you must define the custom_key also. This custom_key field ties to the type or id of a custom fee model.

In the following example, you create three requests to map processing code 00AB11 to three transaction types: 7001 that uses principal amount, 7002 that uses state tax, and 7003 that uses a custom fee.

{
  	"transaction_type_id": 7001,
  	"processing_code": "00AB11",
  	"key": "PRINCIPAL"
	}
{
    "transaction_type_id": 7002,
    "processing_code": "00AB11",
    "key": "OTHER",
    "custom_key": "state_tax"
}
{
    "transaction_type_id": 7003,
    "processing_code": "00AB11",
    "key": "OTHER",
    "custom_key": "custom_fee"
}

To update the key or custom_key of the existing transaction flow, use the Update transaction flow endpoint. You can only use this endpoint to update a transaction flow that has been created already.

Map transaction type to transaction category

In a full balance credit program, a cardholder uses their credit card to make purchases on their credit account, acculumating a debt that they are expected to pay off. Unpaid debt can result in the cardholder accumulating additional debt in the form of interest, late fees, refinancing charges, and so on. You configure these charges by mapping transaction types onto transaction categories. See How the program uses configurable entities for more information.