---
updatedAt: 2026-05-27T21:47:48.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further.

# Transfer funds

**Note:** Enhanced features and improvements are available in the [Payment methods](doc:payment-methods) API, the new application interface for non-card network authorizations. This Transfer funds endpoint is still supported, but all new feature developments will be available only in the Payment methods API. For more information, contact your Pismo representative.

-----
Transfer funds between a source (`from`) and destination (`to`). 

The `to` and `from` objects contain information about one of the following payment methods:

1. **`account`** - Platform merchant or customer account
2. **`card`** - Credit card stored in a digital wallet, known as a **card on file**
3. **`custom_info`** - Custom payment information, usually about an external account
4. **`merchant`** - Platform merchant

### Transfers

You can use this endpoint to make the following types of transfers:

  * Pismo platform account to Pismo platform account (P2P)
  * Pismo platform account to merchant account (P2M)
  * Card to platform account (P2P with card) 
  * Pismo platform account to merchant account with card (P2M with card)
  * Merchant account to merchant account (M2M)
  * Cashin
  * Cashin with card
  * Cashout
  * Cashout with card
  * Payment, which requires token (code) from [creating payment request](ref:payment-requests)

See the <b>Examples</b> drop-down menu for sample payloads for each of these transfer types. See the [Make transfer](doc:make-transfer) guide for more details on these transfer type use cases.

This endpoint generates an [Authorization created](https://developers.pismo.io/events/docs/authorization-authorization-event-1) event. 

**Note:** This endpoint requires an account-specific access token. Getting an account token requires you to call the [Get OpenID access token](ref:post-passport-v1-oauth2-token) endpoint with an account ID. Tokens can expire quickly, which can result in an <b>Unauthorized</b> message.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Core platform - Payment methods",
    "version": "1.0.0",
    "description": "API to handle payments.",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io",
      "description": "Sandbox API server for testing"
    },
    {
      "url": "https://gw-pci.pismolabs.io",
      "description": "Sandbox PCI API server for testing"
    }
  ],
  "tags": [
    {
      "name": "Payments",
      "description": "Endpoints to manage payments and transfers."
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Account access token. Tokens can expire quickly, which can result in an \"Unauthorized\" error.",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "AcceptedResponse": {
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code",
            "example": "EP2P0010",
            "deprecated": true
          },
          "code": {
            "type": "string",
            "description": "Error code",
            "example": "EP2P0010"
          },
          "message": {
            "type": "string",
            "description": "Message that the request is processing and will finish asynchronously.",
            "example": "Request is processing and will finish asynchronously"
          }
        },
        "title": "AcceptedResponse",
        "description": "Object indicating request could not finish synchronously but will be completed later"
      },
      "Authorization": {
        "properties": {
          "authorization_id": {
            "type": "integer",
            "format": "int64",
            "description": "Generated authorization ID.",
            "example": 16397984
          },
          "response_code": {
            "type": "string",
            "description": "Operation status code.",
            "example": "00"
          },
          "amount": {
            "description": "Credited or debited amount.",
            "type": "number",
            "format": "float",
            "example": 12.13
          },
          "date": {
            "type": "string",
            "description": "Authorization date/time in UTC-0 (RFC3339) format.",
            "format": "date-time",
            "example": "2020-01-02T15:14:00.218Z"
          }
        },
        "description": "Authorization object.",
        "title": "Authorization"
      },
      "AuthorizationIDs": {
        "description": "Credit and debit authorization IDs.",
        "properties": {
          "credit": {
            "description": "Credit authorization ID.",
            "type": "integer",
            "format": "int64",
            "example": 15301234
          },
          "debit": {
            "description": "Debit authorization ID.",
            "type": "integer",
            "format": "int64",
            "example": 15301235
          }
        },
        "title": "AuthorizationIDs"
      },
      "ErrorModel": {
        "description": "API generic returned error.",
        "type": "object",
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code.",
            "deprecated": true
          },
          "code": {
            "type": "string",
            "description": "Error code."
          },
          "message": {
            "type": "string",
            "description": "Error description."
          }
        },
        "title": "ErrorModel"
      },
      "Location": {
        "properties": {
          "lat": {
            "description": "Request latitude.",
            "type": "number",
            "format": "float",
            "example": 12.2
          },
          "lng": {
            "description": "Request longitude.",
            "type": "number",
            "format": "float",
            "example": -12.2
          }
        },
        "description": "Request latitude and longitude object.",
        "title": "Location"
      },
      "PaymentMethodAccount": {
        "title": "PaymentMethodAccount",
        "type": "object",
        "description": "Payment method for Pismo account transfers.",
        "properties": {
          "account": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Pismo platform account ID.",
                "example": 101
              }
            },
            "required": [
              "id"
            ]
          },
          "amount": {
            "description": "Credit or debit amount.",
            "type": "number",
            "format": "float",
            "example": 12.13
          },
          "processing_code": {
            "description": "Optional for use with private acceptance/acquiring merchant networks. \nCan be used to define a different settlement condition (MDR, days to settle, and so on). \nFor details, see acquiring/marketplace documentation.\n",
            "type": "string",
            "example": "004000",
            "pattern": "^[0-9]{6}$"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "beneficiary_id": {
            "type": "string",
            "example": "2c298321-bc21-4039-9c45-780cc6d4ec46",
            "description": "Unique string identifier for the beneficiary associated with the account."
          }
        }
      },
      "PaymentMethodCard": {
        "title": "PaymentMethodCard",
        "type": "object",
        "description": "Cards on file payment method.",
        "properties": {
          "card": {
            "type": "object",
            "required": [
              "id",
              "account_id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "description": "Card on file (in digital wallet) ID.",
                "example": "b3777333-7a7e-4ae6-8d23-950c5d984e68"
              },
              "account_id": {
                "type": "integer",
                "description": "Card on file's account ID.",
                "example": 101
              },
              "acquirer_id": {
                "type": "string",
                "description": "Acquirer ID for operation validation.",
                "example": "8518835f-b24f-4473-87b7-fe41e7cd60e8"
              },
              "installments": {
                "type": "object",
                "required": [
                  "number"
                ],
                "description": "Installments information for acquirer.",
                "properties": {
                  "number": {
                    "type": "integer",
                    "example": 1,
                    "minimum": 1,
                    "description": "Number of installments."
                  },
                  "deferred_months": {
                    "type": "integer",
                    "minimum": 0,
                    "example": 3,
                    "description": "Number of months before first installment."
                  }
                }
              },
              "acquirer": {
                "description": "Information sent to specific acquirers.",
                "type": "object",
                "properties": {
                  "business_application_identifier": {
                    "type": "string",
                    "example": "01",
                    "description": "Business application type ID (for REDE acquirer ONLY)."
                  },
                  "sub_merchant": {
                    "type": "object",
                    "properties": {
                      "merchant_category_code": {
                        "type": "string",
                        "description": "4-digit merchant category code (ISO 18245) based on goods or services the merchant sells the most (for REDE acquirer ONLY).",
                        "example": "6051"
                      }
                    }
                  },
                  "wallet": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Card's wallet ID (for REDE acquirer ONLY).",
                        "example": "1234567890"
                      },
                      "sender_tax_identification": {
                        "type": "string",
                        "description": "Document number of wallet owner (for REDE acquirer ONLY).",
                        "example": "09365523959"
                      },
                      "first_name": {
                        "type": "string",
                        "description": "First name of the wallet owner (for REDE acquirer ONLY).",
                        "example": "jose"
                      },
                      "last_name": {
                        "type": "string",
                        "description": "Last name of the wallet owner (for REDE acquirer ONLY).",
                        "example": "souza"
                      },
                      "processing_type": {
                        "type": "integer",
                        "description": "Identifies the type of the operation (for REDE acquirer ONLY).",
                        "example": 1
                      }
                    }
                  },
                  "capture": {
                    "type": "boolean",
                    "description": "Should authorization be auto-captured flag. Default is `true`. (For REDE acquirer ONLY.)",
                    "example": true
                  },
                  "credential": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "description": "UUID key REDE acquirer uses to get authentication information. Only validated if passed.",
                        "example": "5f1c280e-ffde-4081-a126-5f2f10a96c2f"
                      }
                    }
                  }
                }
              }
            }
          },
          "amount": {
            "description": "Credited or debited amount.",
            "type": "number",
            "format": "float",
            "example": 12.13
          },
          "processing_code": {
            "description": "Optional for use with private acceptance/acquiring merchant networks. \nCan be used to define a different settlement condition (MDR, days to settle, etc). \nFor details, see acquiring/marketplace documentation.\n",
            "type": "string",
            "example": "004000",
            "pattern": "^[0-9]{6}$"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          }
        }
      },
      "PaymentMethodExternal": {
        "description": "External entity payment method object. \nNot related to a Pismo account, can take any form - an external checking account, a bankslip, and so on. \nThe information here is persisted for future reference.\n",
        "properties": {
          "custom_info": {
            "type": "object",
            "required": [
              "external_id",
              "type"
            ],
            "properties": {
              "external_id": {
                "type": "string",
                "description": "Custom information ID",
                "example": "my-external-id-abc123"
              },
              "type": {
                "type": "string",
                "description": "Custom information type",
                "example": "CASHIN"
              },
              "name": {
                "type": "string",
                "description": "Custom information name.",
                "example": "CASHIN-TEF"
              },
              "description": {
                "type": "string",
                "description": "Custom information description.",
                "example": "CASHIN from online bank transfer"
              },
              "origin": {
                "type": "string",
                "description": "Origin used in migrations.",
                "example": "STRIKER"
              },
              "accounting_date": {
                "type": "string",
                "description": "Accounting date used in migrations.",
                "example": "2021-10-25"
              }
            }
          },
          "amount": {
            "description": "Credit or debit amount.",
            "type": "number",
            "format": "float",
            "example": 12.13
          },
          "processing_code": {
            "description": "Optional for use with private acceptance/acquiring merchant networks. \nCan be used to define a different settlement condition (MDR, days to settle, etc). \nFor more details, see acquiring/marketplace documentation.\n",
            "type": "string",
            "example": "004000",
            "pattern": "^[0-9]{6}$"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          }
        }
      },
      "PaymentMethodMerchant": {
        "title": "PaymentMethodMerchant",
        "type": "object",
        "description": "Payment transfer method for Pismo merchant accounts.",
        "properties": {
          "merchant": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Pismo platform merchant account ID.",
                "example": 103
              },
              "point_of_sales_id": {
                "type": "integer",
                "description": "Marketplace identification for P2M and M2M transactions. A merchant can be linked to more than one marketplace. Provide this value in the `to` field to ensure that the correct fees are applied according to the contract between merchant and marketplace.\n",
                "example": 123
              }
            },
            "required": [
              "id"
            ]
          }
        }
      },
      "PaymentsModel": {
        "title": "PaymentsModel",
        "description": "Payload object sent to `v1/payments` to transfer payments.",
        "type": "object",
        "properties": {
          "from": {
            "description": "Source method to transfer funds. You must provide one item in this array.",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PaymentMethodAccount"
                },
                {
                  "$ref": "#/components/schemas/PaymentMethodCard"
                },
                {
                  "$ref": "#/components/schemas/PaymentMethodExternal"
                },
                {
                  "$ref": "#/components/schemas/PaymentMethodMerchant"
                }
              ]
            }
          },
          "to": {
            "description": "Destination method to transfer funds. You must provide one item in this array.",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PaymentMethodAccount"
                },
                {
                  "$ref": "#/components/schemas/PaymentMethodExternal"
                },
                {
                  "$ref": "#/components/schemas/PaymentMethodMerchant"
                }
              ]
            }
          },
          "tracking_id": {
            "description": "Unique tracking ID of the transaction. If you don't provide one, the Pismo platform generates it randomly.",
            "type": "string",
            "example": "1ff51e99-3a05-448a-bc19-7b5c05274174",
            "maxLength": 50,
            "minLength": 36
          },
          "entry_mode": {
            "description": "Payment entry mode.",
            "type": "string",
            "example": "QRCODE"
          },
          "location": {
            "$ref": "#/components/schemas/Location"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "token": {
            "type": "string",
            "description": "Validation token used for payment-requests transfers.",
            "example": "e933dd73-ff1d-43af-935d-91891e926ed6"
          },
          "payment_datetime": {
            "type": "string",
            "format": "date-time",
            "description": "Value date (effective date) of the payment in UTC-0 (RFC3339) format. \nPayments can be backdated but future dates are not allowed.\nexample: '2020-01-02T15:14:00.218Z'\n"
          },
          "descriptor": {
            "type": "string",
            "description": "Optional text that describes the created transaction. The platform supports only letters and numbers in this field and removes any special characters or emojis.",
            "example": "eShop purchase"
          },
          "timeout": {
            "type": "integer",
            "description": "Maximum time (in seconds) a payment can take. Optional field forwarded to acquirers.",
            "example": 10
          },
          "point_of_sales_id": {
            "type": "integer",
            "description": "ID of POS device initiating request. This field is DEPRECATED - the ID should now be passed in the Merchant Payment Method.  Passing it here will cause it to **not** be stored, which could lead to cancellations referencing the wrong merchant.\n",
            "deprecated": true,
            "example": 10
          },
          "authorization_validations": {
            "type": "object",
            "description": "Object containing the authorization validation data. \n",
            "properties": {
              "is_device_registered": {
                "description": "Indicates whether the device used for the operation is registered according to the financial institution's security policies.",
                "type": "boolean",
                "example": true
              }
            }
          }
        },
        "required": [
          "from",
          "to"
        ]
      },
      "PaymentsResponse": {
        "properties": {
          "authorization_id": {
            "description": "Generated authorization ID, depending on operation type. \nDEPRECATED for the `authorization_ids` object that can contain both credit and debit authorization IDs.\n",
            "deprecated": true,
            "type": "integer"
          },
          "authorization_ids": {
            "$ref": "#/components/schemas/AuthorizationIDs"
          },
          "event_date": {
            "description": "Transaction datetime in UTC-0 (RFC3339) format.",
            "type": "string",
            "format": "date-time",
            "example": "2020-01-02T15:14:00.218Z"
          },
          "tracking_id": {
            "description": "Transfer ID. If none provided in the request, a random one is generated.",
            "type": "string",
            "example": "82766158-514c-42f0-87e2-1bb3250c6dee"
          },
          "available_credit_limit": {
            "description": "Available credit limit after transaction.",
            "type": "number",
            "format": "float",
            "example": 99.5
          }
        },
        "description": "Response object for `v1/payments` (transfer funds) success.",
        "title": "PaymentsResponse"
      },
      "TrackingIdAlreadyInUseResponse": {
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code.",
            "example": "WP2P0010",
            "deprecated": true
          },
          "code": {
            "type": "string",
            "description": "Error code.",
            "example": "WP2P0010"
          },
          "message": {
            "type": "string",
            "description": "Error description.",
            "example": "Tracking ID already in use"
          },
          "authorizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Authorization"
            }
          }
        },
        "title": "TrackingIdAlreadyInUseResponse",
        "description": "Tracking ID already in use error object."
      },
      "Currency": {
        "type": "string",
        "description": "ISO-4217 alphabetic or numeric (3 characters) operation currency code. For example, either BRL or 986 for Brazilian real.",
        "example": "BRL"
      },
      "Metadata": {
        "type": "object",
        "description": "This optional user-defined key-value object field can be used with external operations to provide additional context or supplementary custom information for the operation. \n\nThe Pismo platform does not perform any validation or processing on this field but passes this object to the acquirer in transactions involving calls to the acquirer and sends it in the events related to the stream of data produced at the end of the request.\n\n**Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).\n",
        "example": {
          "any-key": "any-value"
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/payments/v1/payments": {
      "post": {
        "operationId": "post-payments-v1-payments",
        "summary": "Transfer funds",
        "description": "**Note:** Enhanced features and improvements are available in the [Payment methods](https://developers.pismo.io/pismo-docs/docs/payment-methods) API, the new application interface for non-card network authorizations. This Transfer funds endpoint is still supported, but all new feature developments will be available only in the Payment methods API. For more information, contact your Pismo representative.\n\n-----\nTransfer funds between a source (`from`) and destination (`to`). \n\nThe `to` and `from` objects contain information about one of the following payment methods:\n\n1. **`account`** - Platform merchant or customer account\n2. **`card`** - Credit card stored in a digital wallet, known as a **card on file**\n3. **`custom_info`** - Custom payment information, usually about an external account\n4. **`merchant`** - Platform merchant\n\n### Transfers\n\nYou can use this endpoint to make the following types of transfers:\n\n  * Pismo platform account to Pismo platform account (P2P)\n  * Pismo platform account to merchant account (P2M)\n  * Card to platform account (P2P with card) \n  * Pismo platform account to merchant account with card (P2M with card)\n  * Merchant account to merchant account (M2M)\n  * Cashin\n  * Cashin with card\n  * Cashout\n  * Cashout with card\n  * Payment, which requires token (code) from [creating payment request](https://developers.pismo.io/pismo-docs/reference/payment-requests)\n\nSee the <b>Examples</b> drop-down menu for sample payloads for each of these transfer types. See the [Make transfer](https://developers.pismo.io/pismo-docs/docs/make-transfer) guide for more details on these transfer type use cases.\n\nThis endpoint generates an [Authorization created](https://developers.pismo.io/events/docs/authorization-authorization-event-1) event. \n\n**Note:** This endpoint requires an account-specific access token. Getting an account token requires you to call the [Get OpenID access token](https://developers.pismo.io/pismo-docs/reference/post-passport-v1-oauth2-token) endpoint with an account ID. Tokens can expire quickly, which can result in an <b>Unauthorized</b> message.",
        "tags": [
          "Payments"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "parameters": [
          {
            "in": "header",
            "name": "x-tenant",
            "required": true,
            "description": "Unique Org ID.",
            "schema": {
              "type": "string",
              "example": "TN-c0e4c660-9059-404c-ab22-761aa431766c",
              "pattern": "TN\\-[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}",
              "minLength": 39,
              "maxLength": 39
            }
          },
          {
            "in": "header",
            "name": "x-cid",
            "description": "The correlation identifier field is used to link related API requests and events. \nFor example, if a user makes an authorization request with 10 installments, this generates 1 authorization event and 10 transaction events all containing the same correlation ID. \nThe x-cid can help the Pismo engineering team track everything related to a call.\n",
            "schema": {
              "type": "string",
              "example": "c737895c-8159-4c0c-a92a-a4f8600bff37"
            }
          },
          {
            "in": "header",
            "name": "x-account-id",
            "description": "Optional account ID. For P2P, this should be the `from` account ID.",
            "schema": {
              "type": "number",
              "example": 1
            }
          },
          {
            "in": "header",
            "name": "x-skip-timeline",
            "description": "Any value here results in an event **not** being generated in the customer timeline.",
            "schema": {
              "type": "string",
              "example": "true"
            }
          },
          {
            "in": "header",
            "name": "x-alt-conflict",
            "description": "If `true`, the HTTP response status code returned is 208 (already reported) and not 409 (conflict)",
            "schema": {
              "type": "string",
              "example": "true"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsModel"
              },
              "examples": {
                "P2P": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "account": {
                          "id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "processing_code": "004000",
                        "account": {
                          "id": 2418
                        }
                      }
                    ]
                  }
                },
                "P2P with card": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "card": {
                          "id": "f45dbe01-4109-11ea-ab1d-3286e4ea7ade",
                          "account_id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "processing_code": "004000",
                        "account": {
                          "id": 2418
                        }
                      }
                    ]
                  }
                },
                "P2M": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "account": {
                          "id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "processing_code": "004000",
                        "merchant": {
                          "id": 2418,
                          "point_of_sales_id": 123
                        }
                      }
                    ]
                  }
                },
                "P2M with card": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "card": {
                          "id": "f45dbe01-4109-11ea-ab1d-3286e4ea7ade",
                          "account_id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "processing_code": "004000",
                        "merchant": {
                          "id": 2418,
                          "point_of_sales_id": 123
                        }
                      }
                    ]
                  }
                },
                "M2M": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "merchant": {
                          "id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "processing_code": "004000",
                        "merchant": {
                          "id": 2418,
                          "point_of_sales_id": 123
                        }
                      }
                    ]
                  }
                },
                "Cashin": {
                  "value": {
                    "from": [
                      {
                        "custom_info": {
                          "type": "DEPOSIT"
                        }
                      }
                    ],
                    "to": [
                      {
                        "processing_code": "004000",
                        "amount": 12.34,
                        "account": {
                          "id": 2417
                        }
                      }
                    ]
                  }
                },
                "Cashin (card)": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "card": {
                          "id": "f45dbe01-4109-11ea-ab1d-3286e4ea7ade",
                          "account_id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "processing_code": "004000",
                        "account": {
                          "id": 2417
                        }
                      }
                    ]
                  }
                },
                "Cashout": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "account": {
                          "id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "custom_info": {
                          "type": "WITHDRAWAL"
                        },
                        "beneficiary_id": "2c298321-bc21-4039-9c45-780cc6d4ec46"
                      }
                    ]
                  }
                },
                "Cash-out pre-authorization": {
                  "value": {
                    "capture": false,
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "account": {
                          "id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "custom_info": {
                          "type": "WITHDRAWAL"
                        },
                        "beneficiary_id": "2c298321-bc21-4039-9c45-780cc6d4ec46"
                      }
                    ]
                  }
                },
                "Cashout (card)": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 12.34,
                        "card": {
                          "id": "f45dbe01-4109-11ea-ab1d-3286e4ea7ade",
                          "account_id": 2417
                        }
                      }
                    ],
                    "to": [
                      {
                        "custom_info": {
                          "type": "WITHDRAWAL"
                        },
                        "beneficiary_id": "2c298321-bc21-4039-9c45-780cc6d4ec46"
                      }
                    ]
                  }
                },
                "Payment": {
                  "value": {
                    "from": [
                      {
                        "processing_code": "002000",
                        "amount": 10,
                        "account": {
                          "id": 2417
                        }
                      }
                    ],
                    "token": "test-token-1"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Invalid payload": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "Invalid payload"
                    }
                  },
                  "Tracking ID is longer than 50 characters": {
                    "value": {
                      "error_code": "WP2P0019",
                      "code": "WP2P0019",
                      "message": "Tracking ID is longer than 50 characters."
                    }
                  },
                  "Payment request has been paid already": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "Payment request already settled"
                    }
                  },
                  "Not possible to determine the type of payment operation": {
                    "value": {
                      "error_code": "EP2P9999",
                      "code": "EP2P9999",
                      "message": "Unable to proceed with request!"
                    }
                  },
                  "Invalid debit processing code": {
                    "value": {
                      "error_code": "WP2P0005",
                      "code": "WP2P0005",
                      "message": "Invalid debit processing code."
                    }
                  },
                  "Invalid credit processing code": {
                    "value": {
                      "error_code": "WP2P0006",
                      "code": "WP2P0006",
                      "message": "Invalid credit processing code."
                    }
                  },
                  "Processing code not found": {
                    "value": {
                      "error_code": "WP2P0003",
                      "code": "WP2P0003",
                      "message": "No Orgs Operation Found"
                    }
                  },
                  "Account has no credit status active": {
                    "value": {
                      "error_code": "WP2P0002",
                      "code": "WP2P0002",
                      "message": "Account has no credit status active."
                    }
                  },
                  "Account has no debit status active": {
                    "value": {
                      "error_code": "WP2P0002",
                      "code": "WP2P0002",
                      "message": "Account has no debit status active."
                    }
                  },
                  "Account not found": {
                    "value": {
                      "error_code": "WLDG0019",
                      "code": "WLDG0019",
                      "message": "No Accounts authorization found."
                    }
                  },
                  "Currency sent is invalid": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "The currency sent is invalid."
                    }
                  },
                  "Flex controls evaluation results": {
                    "description": "Flex controls evaluation results",
                    "value": {
                      "evaluation_result": false,
                      "message": "Restriction rule [max_value_authorized_device_unique_transaction] does not pass.",
                      "error_code": "RULV10400",
                      "deny_code": "DEVICE_LIMIT_DAILY_TRANSACTION",
                      "code": "ERUL0404",
                      "response_code": 57,
                      "custom_code": "AA1",
                      "evaluated_controls": [
                        {
                          "id": "max_value_authorized_device_unique_transaction",
                          "name": "max_value_authorized_device_unique_transaction",
                          "evaluation_result": false,
                          "message": "Restriction rule [max_value_authorized_device_unique_transaction] does not pass.",
                          "deny_code": "DEVICE_LIMIT_DAILY_TRANSACTION",
                          "max_limit": 0,
                          "accumulated_limit": 0,
                          "available_limit": 0
                        },
                        {
                          "id": "max_value_authorized_device_daily",
                          "name": "max_value_authorized_device_daily",
                          "evaluation_result": true,
                          "message": "",
                          "deny_code": "DEVICE_LIMIT_DAILY",
                          "max_limit": 100000,
                          "accumulated_limit": 30000,
                          "available_limit": 70000
                        }
                      ]
                    }
                  },
                  "Acquirer credential code sent is invalid": {
                    "value": {
                      "error_code": "WP2P0020",
                      "code": "WP2P0020",
                      "message": "The credential code should be a valid uuid"
                    }
                  },
                  "Parameter OPTIN SAVING ACCOUNT is off for this account": {
                    "value": {
                      "error_code": "WP2P0013",
                      "code": "WP2P0013",
                      "message": "Operation not allowed. Parameter OPTIN SAVING ACCOUNT is off."
                    }
                  },
                  "No limit available": {
                    "value": {
                      "error_code": "WLDG0006",
                      "code": "WLDG0006",
                      "message": "No AvailableCreditLimit to complete the transaction - amount: 10, availableCreditLimit: 5.00"
                    }
                  },
                  "Limit of two decimal places": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "The amount must have a maximum of two decimal places."
                    }
                  },
                  "Exceed amount limit": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "A maximum of 20 digits, including two decimals, is allowed for the amount field."
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/TrackingIdAlreadyInUseResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ErrorModel"
                    }
                  ]
                },
                "examples": {
                  "Tracking id is already in use by an ongoing request": {
                    "value": {
                      "error_code": "WP2P0010",
                      "code": "WP2P0010",
                      "message": "Tracking id is already in use."
                    }
                  },
                  "Tracking id has been already used": {
                    "value": {
                      "error_code": "WP2P0010",
                      "code": "WP2P0010",
                      "message": "Tracking id is already in use.",
                      "authorizations": [
                        {
                          "authorization_id": 16397984,
                          "response_code": "00",
                          "amount": 12.13,
                          "date": "2020-01-02T15:14:00.218Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Authorized account is different from request": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "Authorized account is different from the request"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Unexpected Error": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "Unexpected Error"
                    }
                  },
                  "Internal server error": {
                    "value": {
                      "error_code": "ELDG500",
                      "code": "ELDG500",
                      "message": "Internal server error"
                    }
                  },
                  "Internal server error getting Payment Configuration": {
                    "value": {
                      "error_code": "EPCG501",
                      "code": "EPCG501",
                      "message": "Internal server error"
                    }
                  },
                  "Unmarshal error": {
                    "value": {
                      "error_code": "ELDG500",
                      "code": "ELDG500",
                      "message": "Unmarshal error"
                    }
                  },
                  "Unable to proceed with request": {
                    "value": {
                      "error_code": "EP2P9999",
                      "code": "EP2P9999",
                      "message": "Unable to proceed with request!"
                    }
                  },
                  "Unable to connect to acquirer gateway": {
                    "value": {
                      "error_code": "EP2P0001",
                      "code": "EP2P0001",
                      "message": "Unable to connect to acquirer gateway"
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Acquirer gateway bad response": {
                    "value": {
                      "error_code": "EP2P0002",
                      "code": "EP2P0002",
                      "message": "Acquirer gateway bad response"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```