# Validate bank slip Validate bank slip with provider partner.
You need to call this endpoint before calling [Pay bank slip](ref:post-integrated-payments-api-v1-bankslips-pay). If this endpoint returns an `external_authorization` field value, you must pass it in the Pay bank slip call.
For this endpoint, either `bar_code` or `digitable_line` **must** be passed. # OpenAPI definition ```json { "openapi": "3.1.0", "info": { "title": "Banking - Integrated payments", "version": "1.0", "description": "API responsible for handling and processing integrated payments", "contact": { "name": "API Support", "url": "https://developers.pismo.io/support/" }, "license": { "name": "Copyright Pismo" } }, "servers": [ { "url": "https://sandbox.pismolabs.io/integrated-payments", "description": "Sandbox API server for testing" } ], "security": [ { "BearerAuth": [] } ], "tags": [ { "name": "Bank slip", "description": "Operations related to pay and get information about a bank slips" } ], "components": { "parameters": { "authorizationHeader": { "name": "Authorization", "in": "header", "description": "Account token. Getting an account token requires you call the [Server login \nendpoint](https://developers.pismo.io/pismo-docs/reference/post-passport-v2-s2s-access-token) with an account ID. Tokens can expire \nquickly, which can result in an Unauthorized message. Enter this field under \n`AUTHENTICATION`.\n", "required": true, "schema": { "type": "string" }, "example": "" } }, "schemas": { "bankslips.bankslipsValidateRequest": { "required": [ "type" ], "type": "object", "properties": { "type": { "type": "integer", "description": "Banslip type. (`1` = compensation form, `2` = dealership)
\nCompensation form refers to the method for processing the bank slip. Dealership (cedente) refers to the entity or individual that issues the bank slip.\n", "enum": [ 1, 2 ], "example": 1 }, "bar_code": { "type": "string", "description": "Bar code encoding bank slip information such as the bank code, currency code, check digit, due date, amount, and beneficiary information.", "example": "22323423423423423" }, "digitable_line": { "type": "string", "description": "Digitable line. On a Brazilian bank slip, the digitable line contains numerical payment information encoding details like the payment amount, due date, beneficiary information, and other transaction-specific data.", "example": "20890001091000001090980008176705191030000002000" } } }, "bankslips.bankslipsValidateResponse": { "type": "object", "properties": { "amount": { "type": "number", "description": "Amount to pay.", "example": 10 }, "assignor": { "type": "string", "description": "The name of the receiver bank.", "example": "BANCO ITAU S.A." }, "bar_code": { "type": "string", "description": "Bar code.", "example": "22323423423423423" }, "beneficiary_document_number": { "type": "string", "description": "A government document number, such as a CPF (Brazil) - Cadastro de Pessoas Fisicas (Indiviual Taxpayer Registry) number, CNPJ (Brazil) - Cadastro Nacional de Pessoa Juridica (National Registry of Legal Entities) number - unique ID for legal entities, such as companies and organizations.\n", "example": "123456789" }, "beneficiary_name": { "type": "string", "description": "Beneficiary name.", "example": "Beneficiary name" }, "digitable_line": { "type": "string", "description": "Digitable line. On a Brazilian bank slip, the digitable line contains numerical payment information encoding details like the payment amount, due date, beneficiary information, and other transaction-specific data.", "example": "34192374039002121400385000334004688970000050227" }, "discount_value": { "type": "number", "description": "Discount value.", "example": 0 }, "due_date": { "type": "string", "format": "datetime", "description": "Due datetime. ISO 8601 format - `yyyy-MM-ddTHH:mm:ss.SSSSSSSSSZ`.", "example": "2022-08-15T00:00:00.000Z" }, "external_authorization": { "type": "string", "description": "Some providers return this to a [Validate bank slip](https://developers.pismo.io/pismo-docs/reference/post-integrated-payments-api-v1-bankslips-validate) call. If returned, you must pass it in a Pay bank slip](ref:post-integrated-payments-api-v1-bankslips-pay) endpoint call.\nIf returned, this value must be passed on to a bank slip payment request.\n", "example": "123" }, "fine_value": { "type": "number", "description": "Fine value.", "example": 0 }, "interest_value": { "type": "number", "description": "Interest value.", "example": 0 }, "limit_date": { "type": "string", "description": "Limit datetime to pay. ISO 8601 format - `yyyy-MM-ddTHH:mm:ss.SSSSSSSSSZ`.", "format": "date", "example": "2022-08-15T00:00:00.000Z" }, "max_value": { "type": "number", "description": "Maximum value.", "example": 10 }, "min_value": { "type": "number", "description": "Minimum value.", "example": 10 }, "original_value": { "type": "number", "description": "Original value.", "example": 10 }, "payer_document_number": { "type": "string", "description": "A government document number, such as a CPF (Brazil) - Cadastro de Pessoas Fisicas (Indiviual Taxpayer Registry) number, CNPJ (Brazil) - Cadastro Nacional de Pessoa Juridica (National Registry of Legal Entities) number - unique ID for legal entities, such as companies and organizations.", "example": "923456789" }, "payer_name": { "type": "string", "description": "Payer's name.", "example": "Payer's name" }, "settle_date": { "type": "string", "format": "date", "description": "Settlement date. ISO 8601 format - `yyyy-MM-ddTHH:mm:ss.SSSSSSSSSZ`.", "example": "2022-08-15T00:00:00.000Z" }, "type": { "type": "integer", "description": "bank slip type. (`1` = compensation form, `2` = dealership).
\nCompensation form refers to the method for processing the bank slip. Dealership (cedente) refers to the entity or individual that issues the bank slip.\n", "example": 1 } } }, "domain.Error": { "type": "object", "properties": { "code": { "type": "string", "description": "Error type code.", "example": "EIP0001" }, "details": { "type": "string", "description": "Error details.", "example": "Error details" }, "message": { "type": "string", "description": "Error message describing the error.", "example": "error" } } } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "paths": { "/v1/bankslips/validate": { "post": { "tags": [ "Bank slip" ], "summary": "Validate bank slip", "description": "Validate bank slip with provider partner.
\nYou need to call this endpoint before calling [Pay bank slip](https://developers.pismo.io/pismo-docs/reference/post-integrated-payments-api-v1-bankslips-pay). If this endpoint returns an `external_authorization` field value, you must pass it in the Pay bank slip call.
\nFor this endpoint, either `bar_code` or `digitable_line` **must** be passed.\n", "operationId": "post-integrated-payments-api-v1-bankslips-validate", "parameters": [ { "$ref": "#/components/parameters/authorizationHeader" } ], "requestBody": { "description": "Request Body", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/bankslips.bankslipsValidateRequest" } } }, "required": true }, "responses": { "200": { "description": "Response Body", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/bankslips.bankslipsValidateResponse" } } } }, "400": { "description": "Bad Request", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIP0008": { "summary": "Validation error", "value": { "code": "EIP0008", "message": "Validation error" } }, "EIP0010": { "summary": "Unmarshal error", "value": { "code": "EIP0010", "message": "Unmarshal error" } }, "EIP0023": { "summary": "Banking gateway API error", "value": { "code": "EPI0023", "message": "Banking gateway API error - API returned 4xx error" } } } } } }, "403": { "description": "Bad Request", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIP0005": { "summary": "Missing header", "value": { "code": "EIP0005", "message": "Missing required header {x-tenant}" } }, "EIP0006": { "summary": "Missing header", "value": { "code": "EIP0006", "message": "Missing account-id header {x-account-id}" } } } } } }, "409": { "description": "Conversion failure", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIP0049": { "summary": "Convert barcode to digitable line failure", "value": { "code": "EIP0029", "message": "Convert barcode to digitable line failed" } } } } } }, "500": { "description": "Internal Server Error", "headers": { "x-cid": { "description": "Request tracking identifier.", "schema": { "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/domain.Error" }, "examples": { "EIP0004": { "summary": "HTTP request error", "value": { "code": "EIP0004", "message": "HTTP request error" } }, "EIP0007": { "summary": "Internal error", "value": { "code": "EIP0007", "message": "Internal error" } }, "EIP0022": { "summary": "BankingGatewayAPI API timeout error", "value": { "code": "EIP0022", "message": "BankingGatewayAPI API timeout error" } }, "EIP0024": { "summary": "BankingGatewayAPI - API returned error 5xx error", "value": { "code": "EIP0024", "message": "BankingGatewayAPI - API returned error 5xx error" } } } } } } } } } } } ```