v1

latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MB
Payment methods

Confirm pre-authorized transfer

Confirm a pre-authorized transfer operation. Use this endpoint only if the created transfer operation had the pre_authorization set to true.

In the request, provide a new tracking_id for the confirmation operation and the original_tracking_id of the original transfer operation. If you don't provide the amount, the platform confirms the total original amount. You can also provide the amount to confirm a total, partial, or greater amount.

Refer to the Payment methods guide for additional information.

This endpoint generates a Platform authorization created event.

Note: This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.

post/payment-methods/v2/transfers/confirm

Request body

tracking_idstring required

Customer created tracking ID. Must consist of alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and colons (:), with a length from 1 to 128. The Pismo platform uses this field to implement idempotency and prevent duplicates.

original_tracking_idstring required

Tracking ID for the original operation.

amountnumber double

Fee amount.

metadatastring

Any data object with key/value pairs. No limit on length.

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.

Example request

{
  "tracking_id": "3368328d-e4c6-4c75-99a9-9d59f3501d8c",
  "original_tracking_id": "249fbd1c-cfcd-48aa-8bcb-1ffe3a5f7978",
  "amount": 215,
  "metadata": "{ \"key\": \"value\"}"
}

Response

Request was processed successfully, existing authorization with the corresponding tracking_id returned.

tracking_idstring

Customer created tracking ID. Must consist of alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and colons (:), with a length from 1 to 128. The Pismo platform uses this field to implement idempotency and prevent duplicates.

response_codestring

Network two-digit response code. For example: 00 = approve, 51 = insufficient funds, 57 = card not active, 96 = system failure, etc. For more information, see Validation codes for authorization events. If approve = false, you can use this value to respond to the network.

denial_codestring

Authorization denial code

Example response

{
  "tracking_id": "3368328d-e4c6-4c75-99a9-9d59f3501d8c",
  "response_code": "00",
  "denial_code": "DAL",
  "from": {
    "tracking_id": "634c43f2-5b7e-4a80-81c7-e6a7d5edc7fe",
    "account_id": 456,
    "amount": 1000,
    "response_code": "00",
    "denial_code": "LE003",
    "validation_results": [
      {
        "name": "ACCOUNT",
        "status": "APPROVED",
        "reason": "ACCOUNT_FOUND",
        "description": "Account was found.",
        "additional_data": {
          "account_id": 2417
        }
      },
      {
        "name": "ACCEPTANCE",
        "status": "APPROVED",
        "reason": "ACCEPTANCE_FOUND",
        "description": "Payment methods acceptances were found."
      },
      {
        "name": "CONFIG",
        "status": "APPROVED",
        "reason": "CONFIG_FOUND",
        "description": "Payment methods configuration was found."
      },
      {
        "name": "PAYMENT_DATE",
        "status": "SKIPPED",
        "reason": "PAYMENT_DATE_SKIPPED",
        "description": "Payment date validation was skipped.",
        "additional_data": {
          "cause": "Payment date not present."
        }
      },
      {
        "name": "PLATFORM_AUTHENTICATION",
        "status": "APPROVED",
        "reason": "PLATFORM_AUTHENTICATION_SUCCESSFUL",
        "description": "Request was authenticated successfully."
      },
      {
        "name": "ACCOUNT_ID",
        "status": "APPROVED",
        "reason": "ACCOUNT_ID_PERMITTED",
        "description": "Account ID is permitted.",
        "additional_data": {
          "document_number": "60XXXXXXXXX19",
          "external_id": "",
          "name": "Marcelito"
        }
      },
      {
        "name": "PROCESSING_CODE",
        "status": "APPROVED",
        "reason": "PROCESSING_CODE_FOUND",
        "description": "Processing code was found."
      },
      {
        "name": "PROCESSING_CODE_TYPE",
        "status": "APPROVED",
        "reason": "PROCESSING_CODE_TYPE_VALID",
        "description": "Processing code has a valid balance impact type."
      },
      {
        "name": "ACCOUNT_LIMITS",
        "status": "APPROVED",
        "reason": "ACCOUNT_LIMITS_FOUND",
        "description": "Account limits were found.",
        "additional_data": {
          "available_credit_limit": 746847632710983.1,
          "available_savings_account_limit": 93477.42,
          "available_total_installment_credit": -226,
          "available_withdrawal_credit": -175,
          "total_credit_limit": 1000,
          "total_installment_credit_limit": 200,
          "withdrawal_credit_limit": 300
        }
      },
      {
        "name": "ACCOUNT_STATUS",
        "status": "APPROVED",
        "reason": "ACCOUNT_STATUS_PERMITTED",
        "description": "Account status is permitted."
      },
      {
        "name": "PROGRAM",
        "status": "APPROVED",
        "reason": "PROGRAM_FOUND",
        "description": "Program was found.",
        "additional_data": {
          "program_type": "PRE-PAGO"
        }
      },
      {
        "name": "BALANCES_CONFIG",
        "status": "APPROVED",
        "reason": "BALANCES_CONFIG_FOUND",
        "description": "Balances configuration was found.",
        "additional_data": {
          "amount": "contract_amount",
          "amount_consider": "principal_amount",
          "consider": [
            "AvailableCreditLimit",
            "OverLimit"
          ],
          "impact": [
            "AvailableCreditLimit"
          ],
          "reset_limit": "last_installment"
        }
      },
      {
        "name": "CURRENCY",
        "status": "APPROVED",
        "reason": "CURRENCY_FOUND",
        "description": "Currency was found.",
        "additional_data": {
          "code": "BRL",
          "numeric_code": "986"
        }
      },
      {
        "name": "RATES",
        "status": "APPROVED",
        "reason": "RATES_APPROVED",
        "description": "Rates calculation was performed.",
        "additional_data": {
          "conversion": {
            "conversion_rate": 0,
            "destination": "986",
            "exchange_rate": 1,
            "origin": "986",
            "spread": 0
          }
        }
      },
      {
        "name": "FLEX_CONTROLS",
        "status": "APPROVED",
        "reason": "FLEX_CONTROLS_APPROVED",
        "description": "Authorization passed flex control evaluation.",
        "additional_data": {
          "dry_run": false,
          "evaluated_controls": [
            {
              "id": "bb975c75-ae31-48e8-ac0b-57c677fdd0e4",
              "name": "Purchase 1 Month credit card",
              "evaluation_result": true,
              "deny_code": "MAX_VALUE_P1M",
              "response_code": "63",
              "max_limit": 200000,
              "accumulated_limit": 135127,
              "available_limit": 64873
            }
          ]
        }
      },
      {
        "name": "LEDGER",
        "status": "APPROVED",
        "reason": "LEDGER_APPROVED",
        "description": "Ledger was impacted successfully.",
        "additional_data": {
          "dry_run": false,
          "validation_results": null,
          "account_id": 9999,
          "available_amounts": {
            "validation_status": "APPROVED",
            "details": {
              "result": {
                "available_credit_limit": 746847527710892.1,
                "available_installment_limit": -226,
                "available_savings_account_limit": 93477.42,
                "available_withdraw_limit": -175,
                "held_funds": 91.25,
                "additional_funds": 0,
                "overlimit": 2000000,
                "total_overdraft_limit": 0
              }
            }
          }
        },
        "ledger_operation_status": {
          "validation_status": "APPROVED"
        }
      },
      {
        "name": "AUTHORIZATION",
        "status": "APPROVED",
        "reason": "AUTHORIZATION_CREATED",
        "description": "Authorization was created successfully."
      }
    ]
  },
  "to": {
    "tracking_id": "634c43f2-5b7e-4a80-81c7-e6a7d5edc7fe",
    "account_id": 456,
    "amount": 1000,
    "response_code": "00",
    "denial_code": "LE003",
    "validation_results": [
      {
        "name": "ACCOUNT",
        "status": "APPROVED",
        "reason": "ACCOUNT_FOUND",
        "description": "Account was found.",
        "additional_data": {
          "account_id": 2417
        }
      },
      {
        "name": "ACCEPTANCE",
        "status": "APPROVED",
        "reason": "ACCEPTANCE_FOUND",
        "description": "Payment methods acceptances were found."
      },
      {
        "name": "CONFIG",
        "status": "APPROVED",
        "reason": "CONFIG_FOUND",
        "description": "Payment methods configuration was found."
      },
      {
        "name": "PAYMENT_DATE",
        "status": "SKIPPED",
        "reason": "PAYMENT_DATE_SKIPPED",
        "description": "Payment date validation was skipped.",
        "additional_data": {
          "cause": "Payment date not present."
        }
      },
      {
        "name": "PLATFORM_AUTHENTICATION",
        "status": "APPROVED",
        "reason": "PLATFORM_AUTHENTICATION_SUCCESSFUL",
        "description": "Request was authenticated successfully."
      },
      {
        "name": "ACCOUNT_ID",
        "status": "APPROVED",
        "reason": "ACCOUNT_ID_PERMITTED",
        "description": "Account ID is permitted.",
        "additional_data": {
          "document_number": "60XXXXXXXXX19",
          "external_id": "",
          "name": "Marcelito"
        }
      },
      {
        "name": "PROCESSING_CODE",
        "status": "APPROVED",
        "reason": "PROCESSING_CODE_FOUND",
        "description": "Processing code was found."
      },
      {
        "name": "PROCESSING_CODE_TYPE",
        "status": "APPROVED",
        "reason": "PROCESSING_CODE_TYPE_VALID",
        "description": "Processing code has a valid balance impact type."
      },
      {
        "name": "ACCOUNT_LIMITS",
        "status": "APPROVED",
        "reason": "ACCOUNT_LIMITS_FOUND",
        "description": "Account limits were found.",
        "additional_data": {
          "available_credit_limit": 746847632710983.1,
          "available_savings_account_limit": 93477.42,
          "available_total_installment_credit": -226,
          "available_withdrawal_credit": -175,
          "total_credit_limit": 1000,
          "total_installment_credit_limit": 200,
          "withdrawal_credit_limit": 300
        }
      },
      {
        "name": "ACCOUNT_STATUS",
        "status": "APPROVED",
        "reason": "ACCOUNT_STATUS_PERMITTED",
        "description": "Account status is permitted."
      },
      {
        "name": "PROGRAM",
        "status": "APPROVED",
        "reason": "PROGRAM_FOUND",
        "description": "Program was found.",
        "additional_data": {
          "program_type": "PRE-PAGO"
        }
      },
      {
        "name": "BALANCES_CONFIG",
        "status": "APPROVED",
        "reason": "BALANCES_CONFIG_FOUND",
        "description": "Balances configuration was found.",
        "additional_data": {
          "amount": "contract_amount",
          "amount_consider": "principal_amount",
          "consider": [
            "AvailableCreditLimit",
            "OverLimit"
          ],
          "impact": [
            "AvailableCreditLimit"
          ],
          "reset_limit": "last_installment"
        }
      },
      {
        "name": "CURRENCY",
        "status": "APPROVED",
        "reason": "CURRENCY_FOUND",
        "description": "Currency was found.",
        "additional_data": {
          "code": "BRL",
          "numeric_code": "986"
        }
      },
      {
        "name": "RATES",
        "status": "APPROVED",
        "reason": "RATES_APPROVED",
        "description": "Rates calculation was performed.",
        "additional_data": {
          "conversion": {
            "conversion_rate": 0,
            "destination": "986",
            "exchange_rate": 1,
            "origin": "986",
            "spread": 0
          }
        }
      },
      {
        "name": "FLEX_CONTROLS",
        "status": "APPROVED",
        "reason": "FLEX_CONTROLS_APPROVED",
        "description": "Authorization passed flex control evaluation.",
        "additional_data": {
          "dry_run": false,
          "evaluated_controls": [
            {
              "id": "bb975c75-ae31-48e8-ac0b-57c677fdd0e4",
              "name": "Purchase 1 Month credit card",
              "evaluation_result": true,
              "deny_code": "MAX_VALUE_P1M",
              "response_code": "63",
              "max_limit": 200000,
              "accumulated_limit": 135127,
              "available_limit": 64873
            }
          ]
        }
      },
      {
        "name": "LEDGER",
        "status": "APPROVED",
        "reason": "LEDGER_APPROVED",
        "description": "Ledger was impacted successfully.",
        "additional_data": {
          "dry_run": false,
          "validation_results": null,
          "account_id": 9999,
          "available_amounts": {
            "validation_status": "APPROVED",
            "details": {
              "result": {
                "available_credit_limit": 746847527710892.1,
                "available_installment_limit": -226,
                "available_savings_account_limit": 93477.42,
                "available_withdraw_limit": -175,
                "held_funds": 91.25,
                "additional_funds": 0,
                "overlimit": 2000000,
                "total_overdraft_limit": 0
              }
            }
          }
        },
        "ledger_operation_status": {
          "validation_status": "APPROVED"
        }
      },
      {
        "name": "AUTHORIZATION",
        "status": "APPROVED",
        "reason": "AUTHORIZATION_CREATED",
        "description": "Authorization was created successfully."
      }
    ]
  }
}