Custom financial operation configuration reference
Use this reference with the Create custom financial operations overview and Create a custom financial operation guides when selecting transaction-type values and transaction-flow amount keys.
Endpoints
| Operation | Method and path |
|---|---|
| Create transaction type | POST /v1/transaction-types |
| List transaction types | GET /v1/transaction-types |
| Create transaction flow | POST /v1/transaction-flow |
| List transaction flows | GET /v1/transaction-flow |
| Update transaction flow | PATCH /v1/transaction-flow/processing-code/{processingCode}/transaction-type/{transactionTypeId} |
Custom amount examples
Use key = OTHER when a transaction flow must use an authorization-provided amount that is not represented by the standard PRINCIPAL, INSTALLMENT, or CONTRACT amount types.
The following values are examples of valid custom amounts used with key = OTHER:
| custom_key | Description |
|---|---|
interestAmount | Interest amount associated with the authorization. |
iofAmount | Tax amount associated with the authorization. |
fee_12345Amount | Amount generated by a linked fee model. |
Insurance01Amount | Amount generated by a custom payment-agreement component. |
When key = OTHER, the transaction is generated only when the authorization includes the specified custom_key.
Installment operation matrix
| Amount type | posted_transaction = true | posted_transaction = false |
|---|---|---|
PRINCIPAL | Creates one posted transaction per installment using only the principal amount. Interest, taxes, fees, and other charges are excluded. | Creates one non-posted transaction containing the total contract principal amount. |
INSTALLMENT | Creates one posted transaction per installment using the full installment amount, including applicable interest, taxes, fees, and other charges. | Not supported. |
CONTRACT | Not supported. | Creates one non-posted transaction containing the total contract amount, including all applicable charges. |
OTHER + custom_key | Creates one posted transaction per installment using the specified custom amount. Examples include iofAmount, interestAmount, and amounts associated with linked fee models. | Creates one non-posted transaction containing the total contract amount associated with the specified custom value. |
Single-payment operation matrix
key or custom_key | posted_transaction = true | posted_transaction = false |
|---|---|---|
PRINCIPAL | One posted transaction for principal only. | This configuration is not covered by this guide. Contact your Pismo representative to confirm the behavior. |
INSTALLMENT | Not applicable. | Not applicable. |
CONTRACT | One posted transaction for the total operation amount. | This configuration is not covered by this guide. Contact your Pismo representative to confirm the behavior. |
OTHER with custom_key | One posted transaction for the named custom amount. | This configuration is not covered by this guide. Contact your Pismo representative to confirm the behavior. |
Minimum viable configuration
| Operation type | Required transaction flows |
|---|---|
| Installment | A non-posted CONTRACT or PRINCIPAL flow and a posted INSTALLMENT or PRINCIPAL flow. |
| Single-payment | A posted CONTRACT or PRINCIPAL flow. |
Reversal configuration rules
- The reversal processing code has the same number of transaction types as the original processing code.
- Each reversal flow uses the same
keyand, forOTHER, the correspondingcustom_key. - Each reversal transaction type uses the inverse
creditvalue. - Each reversal transaction type keeps the same
posted_transactionvalue as the corresponding original transaction type.
Duplicate configuration pattern
A posted OTHER flow using custom_key = interestAmount can overlap with a posted INSTALLMENT flow because the installment amount already includes applicable interest. If both transaction types have accounting mappings, the configuration can produce duplicate or unintended financial effects.
Example authorization and reversal mapping
| Purpose | Processing code | Transaction type ID | Description | credit | posted_transaction | Level | Flow key |
|---|---|---|---|---|---|---|---|
| Installment purchase | INST01 | 7710 | Installment transaction | false | true | Installment | INSTALLMENT |
| Contract purchase | INST01 | 7711 | Contract transaction | false | false | Contract | CONTRACT |
| Installment reversal | INST99 | 7712 | Installment reversal transaction | true | true | Installment | INSTALLMENT |
| Contract reversal | INST99 | 7713 | Contract reversal transaction | true | false | Contract | CONTRACT |
How to read this example
The mappings work in corresponding pairs:
- Transaction types
7710and7712both useINSTALLMENTand the sameposted_transactionvalue, but oppositecreditvalues. - Transaction types
7711and7713both useCONTRACTand the sameposted_transactionvalue, but oppositecreditvalues. - The original and reversal processing codes use matching transaction-type and transaction-flow structures so that cancellation produces the corresponding reversal transactions and accounting entries.
For example, when processing code INST01 creates installment and contract transactions, the linked reversal processing code INST99 creates the corresponding reversal transactions using matching keys and transaction levels.
Related topics
Updated about 5 hours ago