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:
- Create or update processing code.
- Create transaction type.
- 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: - 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.
Field | Description |
---|---|
processing_code | Unique alphanumeric identifier. |
description | Description for this operation. |
balance_impact | Use 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.
Field | Description |
---|---|
transaction_type_id | Transaction type identifier with a value of 7000 or above. Values below 7000 are reserved for internal Pismo platform operations. |
description | Description for this transaction type. |
credit | Defines whether this transaction type is a credit (true) or debit (false) operation. |
posted_transaction | Indicates 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.
Field | Description |
---|---|
transaction_type_id | Transaction type identifier with a value above 7000. |
processing_code | Processing code identifier of the operation that should issue a transaction of this type. |
key | Links 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.
Updated 8 months ago