# Payment methods configurations overview The Payment methods configurations API provides advanced scalability and flexibility for [payment methods](https://developers.pismo.io/pismo-docs/docs/payment-methods). Highly customizable configuration options enable you to modify the Pismo platformโ€™s default authorization behaviors to better serve different business needs and use cases and to improve processing times. This functionality supports multiple levels of configurations for [authorization](https://developers.pismo.io/pismo-docs/reference/post-authorization), [payment](https://developers.pismo.io/pismo-docs/reference/post-payments-1), and [transfer](https://developers.pismo.io/pismo-docs/reference/post-transfers) operations at different hierarchy levels. There are three types of payment methods configurations: * **Platform configurations** (also called **configurations**) are more general. This configuration type uses the [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) endpoints. * **Acceptance configurations** (also called **acceptances**) are more specific. This configuration type uses the [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) endpoints and requires the processing code (PC) of the corresponding financial operation. * **Validation rules** (also called **rules**) are specific configurations. This configuration type can be used in the requests of [payment](https://developers.pismo.io/pismo-docs/reference/post-payments-1) and [transfer](https://developers.pismo.io/pismo-docs/reference/post-transfers) endpoints as well as in the [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) and [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant). You can define any combination of platform configurations, acceptance configurations, and validation rules according to your business operation needs. The platform configuration fields can be different from the acceptance configuration fields. * You define validation rules in the [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) and [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) in the `rules` request object. * You define validation rules in the create [cash-in/cash-out](https://developers.pismo.io/pismo-docs/reference/post-payments-1) and [transfer](https://developers.pismo.io/pismo-docs/reference/post-transfers) operation endpoints in the `validation_rules` request object. > ๐Ÿ“˜ > > For a specific financial operation identified by a processing code, you should create an acceptance configuration. For a general configuration, create a platform configuration. # Hierarchy The Pismo platform hierarchy supports the **organization (org)** , **program**, **account**, **acceptance**, and **request** configuration levels, in order from the most general to the most specific. The platform evaluates configurations in the following reversed order, from specific to general. > request โ†’ acceptance โ†’ account โ†’ program โ†’ org This means that the more specific levels take precedence over the more general ones. * Request-level configurations supersede acceptance-level configurations. * Acceptance-level configurations supersede account-level configurations. * Account-level configurations supersede program-level configurations. * Program-level configurations supersede org-level configurations. If you have the same parameters configured at different levels, the platform only analyzes what it receives at the most specific level and ignores everything else. Here are a few examples: * If you define the same parameter in both the program and org configuration levels, the program-level parameter takes precedence. * If you define the same parameter in both account and program configuration levels, the account-level parameter takes precedence. * If you define the same parameter in both a platform configuration and an acceptance configuration, the acceptance-level parameter takes precedence. * If you have configured validation rules in [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) or [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) in the `rules` field and then send validation rules through the [cash-in/cash-out](https://developers.pismo.io/pismo-docs/reference/post-payments-1) or [transfer](https://developers.pismo.io/pismo-docs/reference/post-transfers) operation endpoint requests in the `validation_rules` field, the platform only analyzes what it receives in the requests and ignores everything else. * If you have configured validation rules in both platform configurations and acceptance configurations, the platform only evaluates what it finds in the acceptance configurations and ignores platform configurations for the same parameters. # Configuration types The Pismo platform uses separate configurations for **authorization**, **payment**, and **transfer** operations as follows: * The [authorization](https://developers.pismo.io/pismo-docs/reference/post-authorization) endpoints use configurations defined in the `authorization` object of the [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) and [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) endpoints. * The [cash-in/cash-out](https://developers.pismo.io/pismo-docs/reference/post-payments-1) endpoints use configurations defined in the `payment` object of the [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) and [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) endpoints. * The [transfer](https://developers.pismo.io/pismo-docs/reference/post-transfers) endpoints use configurations defined in the `transfer` object of the [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) and [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) endpoints. ## Platform configurations Platform configurations provide the broadest level of payment methods configurations. As each org, program, and account may need different forms of processing, platform configurations allow you to customize authorization flows according to your needs for each level of the Pismo platform hierarchy. You define platform configurations in the [platform configurations](https://developers.pismo.io/pismo-docs/reference/post-config-by-tenant) endpoints. ## Acceptance configurations Acceptance configurations provide a more specific level of payment method configurations and also require the processing code of the financial operation in every endpoint. This allows you to customize the authorization flow for each financial operation following the Pismo platform hierarchy. The acceptance configuration fields can be different from the payment configuration fields. If the same parameters are defined in both acceptance configurations and platform configurations, the acceptance parameters take precedence. You define acceptance configurations in the [acceptance configurations](https://developers.pismo.io/pismo-docs/reference/post-acceptance-by-tenant) endpoints. ## Validation rules Validation rules provide the most granular level of payment methods configurations. You can choose which validations to perform during the authorization flow at different hierarchy levels. This highly customizable approach offers the following advantages. * Define custom validation characteristics that match your business needs. * Improve processing time and performance by skipping unnecessary validations. * Override the response and denial codes returned by the authorization flow to match the specifics of different systems to handle different responses in different ways. * Force a validation if the operation has any impact on the account balance. > ๐Ÿ“˜ > > Validation **rules** are different from validation **results**. Validation results are the results returned by each validation in the authorization process. For details, refer to [Validation results array](https://developers.pismo.io/pismo-docs/docs/payment-methods#validation-results-array) in the Payment methods guide. There are two types of validation: those that make HTTP requests to another service and those that validate the data in the service itself. # Related topics For detailed instructions and examples of configuring payment methods, refer to the [Configure payment methods](https://developers.pismo.io/pismo-docs/docs/configure-payment-methods) guide. For an overview of payment methods, refer to the [Payment methods](https://developers.pismo.io/pismo-docs/docs/payment-methods) guide.