latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MB

935b62e16de4

Payment methods

Cancel transfer

Cancel an existing transfer operation. If you don't provide the amount, the platform cancels the total original amount. You can also provide the amount to cancel a total or partial 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/cancel

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": "PRC",
    "validation_results": [
      {
        "name": "ACCOUNT_ID",
        "status": "APPROVED",
        "reason": "ACCOUNT_ID_PERMITTED",
        "description": "Account ID is permitted.",
        "additional_data": {
          "document_number": "6XXXXXXXXXX9",
          "external_id": "",
          "name": "Marcelito"
        }
      },
      {
        "name": "ORIGINAL_AUTHORIZATION",
        "status": "APPROVED",
        "reason": "ORIGINAL_AUTHORIZATION_APPROVED",
        "description": "Original authorization validation was approved."
      },
      {
        "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."
      },
      {
        "name": "ACCOUNT_STATUS",
        "status": "SKIPPED",
        "reason": "ACCOUNT_STATUS_SKIPPED",
        "description": "Account status validation was skipped.",
        "additional_data": {
          "cause": "Cancellations are forced operations and does not need to run this validation"
        }
      },
      {
        "name": "PROGRAM",
        "status": "APPROVED",
        "reason": "PROGRAM_FOUND",
        "description": "Program was found.",
        "additional_data": {
          "program_type": "PRE-PAGO"
        }
      },
      {
        "name": "REMAINING_CANCELLATION_BALANCE",
        "status": "REJECTED",
        "reason": "AUTHORIZATION_ALREADY_CANCELLED",
        "description": "Authorization was already cancelled.",
        "additional_data": {
          "denial_code": "PRC",
          "response_code": "57"
        }
      },
      {
        "name": "RATES",
        "status": "APPROVED",
        "reason": "RATES_APPROVED",
        "description": "Rates calculation was performed."
      },
      {
        "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": "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": "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": "PRC",
    "validation_results": [
      {
        "name": "ACCOUNT_ID",
        "status": "APPROVED",
        "reason": "ACCOUNT_ID_PERMITTED",
        "description": "Account ID is permitted.",
        "additional_data": {
          "document_number": "6XXXXXXXXXX9",
          "external_id": "",
          "name": "Marcelito"
        }
      },
      {
        "name": "ORIGINAL_AUTHORIZATION",
        "status": "APPROVED",
        "reason": "ORIGINAL_AUTHORIZATION_APPROVED",
        "description": "Original authorization validation was approved."
      },
      {
        "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."
      },
      {
        "name": "ACCOUNT_STATUS",
        "status": "SKIPPED",
        "reason": "ACCOUNT_STATUS_SKIPPED",
        "description": "Account status validation was skipped.",
        "additional_data": {
          "cause": "Cancellations are forced operations and does not need to run this validation"
        }
      },
      {
        "name": "PROGRAM",
        "status": "APPROVED",
        "reason": "PROGRAM_FOUND",
        "description": "Program was found.",
        "additional_data": {
          "program_type": "PRE-PAGO"
        }
      },
      {
        "name": "REMAINING_CANCELLATION_BALANCE",
        "status": "REJECTED",
        "reason": "AUTHORIZATION_ALREADY_CANCELLED",
        "description": "Authorization was already cancelled.",
        "additional_data": {
          "denial_code": "PRC",
          "response_code": "57"
        }
      },
      {
        "name": "RATES",
        "status": "APPROVED",
        "reason": "RATES_APPROVED",
        "description": "Rates calculation was performed."
      },
      {
        "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": "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": "AUTHORIZATION",
        "status": "APPROVED",
        "reason": "AUTHORIZATION_CREATED",
        "description": "Authorization was created successfully."
      }
    ]
  }
}