---
title: "Create processing code"
method: POST
path: "/orgs-operation/v1/processing-codes"
tags: ["Processing codes"]
---

# Create processing code

`POST /orgs-operation/v1/processing-codes`

Create a processing code for an organization.

Processing codes identify financial operations on the Pismo platform. For example, `00` is a purchase, `01` is a withdrawal, and so on. 

Processing codes need to be mapped to [transaction types](https://developers.pismo.io/pismo-docs/docs/transactiontypes) to create a transaction flow.

This endpoint creates an `AUTHORIZATION` type processing code and generates a [Orgs operation created](https://developers.pismo.io/events/docs/orgs-operation-create-1) event.

**Notes:**

 * The prefix `PSM` is reserved at Pismo platform, customers are not allowed to use this prefix when creating  custom processing codes . Not all standard processing codes have the `PSM`prefix. There are codes created before this standard and are kept for backward compatibility.  New ones, however, will always have this prefix.
 * On the Pismo platform, 2-digit processing codes are reserved and used only for network processing. Because of this, customers are not allowed to  have 2-digit custom processing codes.
 * When a new standard processing code is created, it is replicated and configured to all platform organizations, no action is required on your part.
 * This endpoint generates a [Orgs operation created](https://developers.pismo.io/events/docs/orgs-operation-create-1) event.


For more information, refer to <a href="https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types">Processing codes</a>.

## Request body

- ProcessingCodeCreateRequest
  - `processing_code` string, required — Processing code ID The following applies to this field: * It must have between 3 and 6 characters. * Only letters and numbers are allowed. * Must be unique and not already exist in the org's database * Cannot start with the prefix “PSM”, this is reserved for Pismo platform processing codes.
  - `balance_impact` 1 | 0 | -1, required — Balance impact associated with processing code: * `1` - Credit * `0` - No impact. Zero balance operations have no impact. Zero balance customers are responsible for settling accounts and generating transactions. * `-1` - Debit
  - `description` string, required — Processing code description
  - `reversal_processing_code` string, required — Reversal processing code. Processing code for cancellation. Used in transactions and accounting flow to post the correct entries related to cancellation. Every `AUTHORIZATION` processing code is **REQUIRED** to have a reversal and a partial reversal processing code. If a partial code isn't provided, a default one is assigned based on `balance_impact`. The reversal processing code can either currently exist or not. If it exists, its `balance_impact` must be the opposite of the main processing code and its type must be `REVERSAL`. For more information, refer to [default reversal processing codes](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `reversal_description` string — Reversal description. If not passed, it is automatically set to "REV " plus the `description` field. For example, if `description` is "Purchase", the reversal description will be "REV Purchase".
  - `partial_reversal_processing_code` string — Partial reversal processing code. Processing code for partial reversal cancellation. Used in transactions and accounting flow to post the correct entries related to partial cancellation. Every `AUTHORIZATION` processing code is **REQUIRED** to have a reversal and a partial reversal processing code. If a partial code isn't provided, a default one is assigned based on `balance_impact`. For more information, refer to [default reversal processing codes](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `partial_reversal_description` string — Partial reversal description. **REQUIRED** if `partial_reversal_processing_code` does not exist.
  - `tags` string[] — Processing code tags. These tags apply **ONLY** to `AUTHORIZATION` type processing codes. You cannot add tags to reverse processing codes as they may be associated with more than one authorization processing code.
  - `translations` object[]
    - `language` string — Translation language. For example, the code for English (United States) is `en-US`. The prefix, `en`, is a language code following the ISO 639-1 standard. The suffix, `US`, is a country code following the ISO 3166-1 Alpha-2 standard.
    - `description` string — Translated description
    - `reversal_description` string — Translated reversal translated description
    - `partial_reversal_description` string — Translated partial reversal description

## Response `201`

Processing code sucessfully created

- ProcessingCodeCreateResponse
  - `processing_code` string — Processing code for the debit transaction. If `split_transaction` is `false` (the default), each installment payment is recorded as one debit transaction equal to the installment amount minus the discount, and `processing_code` is the processing code for that transaction. If `split_transaction` is `true`, each installment payment is recorded as two transactions: a debit transaction for the installment amount and a credit transaction for the discount. In this case, `processing_code` is the processsing code for the debit transaction, and `second_processing_code` is the processing code for the credit transaction.
  - `reversal_processing_code` string — Reversal processing code. Processing code for cancellation. Used in transactions and accounting flow to post the correct entries related to cancellation. Every `AUTHORIZATION` processing code is **REQUIRED** to have a reversal and a partial reversal processing code. If a partial code isn't provided, a default one is assigned based on `balance_impact`. The reversal processing code can either currently exist or not. If it exists, its `balance_impact` must be the opposite of the main processing code and its type must be `REVERSAL`. For more information, refer to [default reversal processing codes](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `partial_reversal_processing_code` string — Partial reversal processing code. Processing code for partial reversal cancellation. Used in transactions and accounting flow to post the correct entries related to partial cancellation. Every `AUTHORIZATION` processing code is **REQUIRED** to have a reversal and a partial reversal processing code. If a partial code isn't provided, a default one is assigned based on `balance_impact`. For more information, refer to [default reversal processing codes](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `status` 'PENDING' | 'PROCESSING' | 'CANCELLED' | 'SETTLED' | 'PROCESSED' — PENDING: Charge is scheduled and waiting for the cycle to close. PROCESSING: Cycle closing process has started and is awaiting completion. CANCELLED: Charge canceled due to link cancellation. SETTLED: Amount is zero and/or `minimum_spend_to_charge` has not been reached. PROCESSED: Charge was posted on the statement."

## Other responses

- `400` — Bad request error.

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
