---
updatedAt: 2026-09-04T21:50:25.000Z
agentTools:
  siteIndex: https://developers.pismo.io/llms.txt
  projectIndex: https://developers.pismo.io/pismo-docs/llms.txt
---

# Cancel recurrent compound QR Code [Beta]

Cancel a recurring payment authorization (compound) QR Code and return the updated QR Code image, EMV (Europay Mastercard Visa) string, and recurrence payload. 

**Notes:** 
  * This endpoint takes an account token - an access token encoded with a Pismo account ID.
  * This endpoint is **beta**, use in the dev-ext environment only.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Instant payments - QR Code",
    "contact": {
      "name": "Pismo"
    },
    "description": "QR Code API for creating dynamic QR Code strings, and payloads for payment",
    "license": {
      "name": "Copyright Pismo"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://sandbox-cdn.pismolabs.io/qrcode",
      "description": "Sandbox API server for testing."
    }
  ],
  "tags": [
    {
      "name": "Recurring payment"
    }
  ],
  "components": {
    "parameters": {
      "authHeader": {
        "name": "Authorization",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "description": "Account token - token encoded with a Pismo account ID. Tokens can expire quickly, which can result in a <b>401 Unauthorized</b> message.\n",
        "required": true
      }
    },
    "schemas": {
      "accessToken": {
        "type": "string",
        "description": "QR Code access token generated and returned at creation.\n",
        "example": "1234567890"
      },
      "customer.DetailMessage": {
        "type": "object",
        "properties": {
          "external": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/customer.ExternalMessage"
            }
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/customer.ParameterMessage"
            }
          },
          "payload": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/customer.PayloadMessage"
            }
          }
        }
      },
      "customer.Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code.",
            "example": "EPT0001"
          },
          "details": {
            "$ref": "#/components/schemas/customer.DetailMessage"
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "User not found"
          }
        }
      },
      "customer.ExternalMessage": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code.",
            "example": "PBE315"
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "Generic error"
          }
        }
      },
      "customer.ParameterMessage": {
        "type": "object",
        "required": [
          "field",
          "message"
        ],
        "properties": {
          "field": {
            "type": "string",
            "description": "Detailed field name",
            "example": "query_parameter"
          },
          "message": {
            "type": "string",
            "description": "Error's message.",
            "example": "Generic error"
          }
        }
      },
      "customer.PayloadMessage": {
        "type": "object",
        "required": [
          "field",
          "message"
        ],
        "properties": {
          "field": {
            "type": "string",
            "description": "Detailed field name.",
            "example": "Entity.field"
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "Generic error"
          }
        }
      },
      "emv": {
        "type": "string",
        "description": "Base 64 encoded discount QR Code payload. EMV = Europay, Mastercard and Visa, a global standard for credit and debit payment. The EMV might include details required for secure transactions such as cardholder informatipn, transaction amount, merchant information, and other relevant data.\n",
        "example": "00020101021226980014br.gov.bcb.pix2576api-h.developer.btgpactual.com/pc/p/v2/...***63040441"
      },
      "externalID": {
        "type": "string",
        "description": "Client-generated record identifier for client tracking and monitoring.\n",
        "example": "my-external-id-9999-6474"
      },
      "jwsRec": {
        "type": "string",
        "description": "Signed JWS payload, referring to the data of the recurrence.\n",
        "example": "eYqqqwq.heif.jk2w"
      },
      "qrcodeID": {
        "type": "string",
        "description": "Pismo QR Code identifier",
        "example": "442e992a-2f89-46fb-820a-958693bde84d"
      },
      "qrcode.CancelRecurrenceQrCodeRequest": {
        "type": "object",
        "required": [
          "id",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 36,
            "description": "Pismo QR Code identifier of the recurrence to cancel.",
            "example": "55d3992a-2f89-46fb-820a-958693bde84d"
          },
          "status": {
            "type": "string",
            "description": "Cancellation status to apply to the recurrence QR Code.",
            "enum": [
              "REMOVED_BY_PSP",
              "REMOVED_BY_PAYEE"
            ],
            "example": "REMOVED_BY_PAYEE"
          }
        }
      },
      "qrcode.CancelRecurrenceQrCodeResponse": {
        "type": "object",
        "required": [
          "id",
          "external_id",
          "access_token",
          "recurrence_id"
        ],
        "properties": {
          "id": {
            "$ref": "#/components/schemas/qrcodeID"
          },
          "external_id": {
            "$ref": "#/components/schemas/externalID"
          },
          "emv": {
            "$ref": "#/components/schemas/emv"
          },
          "qrcode_image_b64": {
            "$ref": "#/components/schemas/qrcode.imageb64"
          },
          "jws_rec": {
            "$ref": "#/components/schemas/jwsRec"
          },
          "access_token": {
            "$ref": "#/components/schemas/accessToken"
          },
          "recurrence_id": {
            "$ref": "#/components/schemas/recurrenceID"
          }
        }
      },
      "qrcode.imageb64": {
        "type": "string",
        "description": "Base64 encoded QR Code",
        "example": "dfkk7830o*&#)@#9FEE"
      },
      "recurrenceID": {
        "type": "string",
        "description": "Recurrence ID. Either this or the `recurrence` object is **REQUIRED**.",
        "example": "RN219952X6X02505XXCONTRACTXXX"
      }
    },
    "responses": {
      "400BadRequest": {
        "description": "Bad request",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "401Unauthorized": {
        "description": "Invalid authorization",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "403Forbidden": {
        "description": "Forbidden",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "404NotFound": {
        "description": "Not found",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "409Conflict": {
        "description": "Conflict",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "429TooManyRequests": {
        "description": "Too many reqquests",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "500InternalServerError": {
        "description": "Internal Server Error",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "502BadGateway": {
        "description": "Bad Gateway",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      },
      "504GatewayTimeout": {
        "description": "Gateway Timeout",
        "headers": {
          "x-cid": {
            "schema": {
              "type": "string"
            },
            "description": "Request tracking identifier"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/customer.Error"
            }
          }
        }
      }
    }
  },
  "paths": {
    "/v1/pix/qrcode/recurrence/cancel": {
      "post": {
        "summary": "Cancel recurrent compound QR Code [Beta]",
        "description": "Cancel a recurring payment authorization (compound) QR Code and return the updated QR Code image, EMV (Europay Mastercard Visa) string, and recurrence payload. \n\n**Notes:** \n  * This endpoint takes an account token - an access token encoded with a Pismo account ID.\n  * This endpoint is **beta**, use in the dev-ext environment only.\n",
        "operationId": "post-cancel-recurrence",
        "tags": [
          "Recurring payment"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/authHeader"
          }
        ],
        "requestBody": {
          "description": "Cancel recurrent QR Code request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/qrcode.CancelRecurrenceQrCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Cancel recurrence QR Code response",
            "headers": {
              "x-cid": {
                "schema": {
                  "type": "string"
                },
                "description": "Request tracking identifier"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/qrcode.CancelRecurrenceQrCodeResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/403Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/404NotFound"
          },
          "409": {
            "$ref": "#/components/responses/409Conflict"
          },
          "429": {
            "$ref": "#/components/responses/429TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/500InternalServerError"
          },
          "502": {
            "$ref": "#/components/responses/502BadGateway"
          },
          "504": {
            "$ref": "#/components/responses/504GatewayTimeout"
          }
        }
      }
    }
  }
}
```