v1
latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MBPayment methods
Request authorization
Use this endpoint to request a new authorization, cancel an existing authorization, or confirm an existing authorization.
With this endpoint, you can set validation_rules to control the rules in this flow, such as disabling a rule, changing the response code and denial code, and forcing a rule.
Refer to the Payment methods guide for additional information.
This endpoint generates Platform authorization created and Payment methods authorization created events.
Note: This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.
post/payment-methods/v1/authorization
Request body
Example request
{
"amount": 100,
"currency_code": "986",
"network": "Mastercard",
"account_id": 123,
"authentication": {
"method": "otp",
"parameters": {
"device_id": "abc",
"token": "123456",
"user_id": "123456789"
}
},
"authorization_code": "ABC123",
"authorization_datetime": "2023-01-01T00:00:00.000Z",
"bank": {
"account": "2146125",
"branch": "15235"
},
"beneficiary_id": "2c298321-bc21-4039-9c45-780cc6d4ec46",
"calculated_amounts": {
"contract_amount": 110,
"description": "0+24 with interest",
"fees": [
{
"type": "fixed",
"amount": 10,
"rate": 10
}
],
"interests": [
{
"type": "monthly",
"amount": 8.73,
"rate": 9.99
}
],
"installments": [
{
"number": 1,
"contract_amount": 11,
"principal_amount": 10,
"amortization_amount": 7.5,
"fees": [
{
"type": "fixed",
"amount": 10,
"rate": 10
}
],
"interests": [
{
"type": "monthly",
"amount": 8.73,
"rate": 9.99
}
],
"taxes": {
"currency": "BRL"
}
}
],
"number_of_installments": 12,
"plan_id": "PLAN_ID_1",
"principal_amount": 100,
"taxes": {
"currency": "BRL"
},
"total_annual_rate": 27,
"total_monthly_rate": 9.99,
"additional_financial_details": {
"effective_annual_cost": 0.13,
"effective_monthly_cost": 0.13,
"annual_interest_rate": 10
}
},
"card": {
"pan": "5555550000000001",
"stored_id": "652973000071210932",
"expiration_date": "2601",
"cvv2": "123",
"track1_data": "123"
},
"document_number": "39947739977",
"description": "Custom purchase.",
"entry_mode": "051 # 05 - Chip / 1 - Pin supported",
"has_error": true,
"installment_plan_id": "PLAN_0_24",
"merchant": {
"id": "12399",
"category_code": "5099",
"name": "Acme",
"city": "San Diego",
"country": "USA",
"terminal_id": "12345699",
"marketplace_id": "mk123456"
},
"metadata": "{ \"key\": \"value\"}",
"nsu": "12789223",
"number_of_installments": 12,
"original_authorization_id": 58799254,
"original_tracking_id": "ab879e9e-433b-499f-a77b-4e90ab509afd",
"posting_date": "2023-01-01T00:00:00.000Z",
"processing_code": "00AB01",
"program_id": 123,
"statement_id": 1234455,
"tid": "10119031908214800419",
"tracking_id": "ab879e9e-433b-499f-a77b-4e90ab509afd",
"validation_rules": {
"ACCOUNT_STATUS": {
"override": false
},
"LEDGER": {
"force": false
},
"FLEX_CONTROLS": {
"override": true
},
"RATES": {
"override": true
}
},
"authorization_validations": {
"is_device_registered": true,
"associated_ids": {
"payment_id": "319d00f5-48de-4c71-ad47-40b1e9c4e37f",
"origin_id": "CUSTOM_ORIGIN"
}
}
}Response
Authorization was processed successfully, existing authorization with the corresponding tracking_id returned.
Example response
{
"authorization_id": 123,
"tracking_id": "auth-9944",
"account_id": 8899,
"authorization_code": "MQ94GG",
"response_code": "00",
"denial_code": "",
"custom_message": "",
"datetime_utc": "2025-07-15T05:50:47.049Z",
"number_of_installments": 2,
"calculated_amounts": {
"contract_amount": 10510,
"principal_amount": 10000,
"installment_amount": 5255,
"additional_financial_details": {},
"postings": {
"fixed_amount": 10,
"percentage_amount": 500
},
"rates": {
"conversion_rate": 1
},
"installments": [
{
"number": 1,
"installment_amount": 5255,
"principal_amount": 5000
},
{
"number": 2,
"installment_amount": 5255,
"principal_amount": 5000
}
]
},
"validation_results": [
{
"name": "CARD",
"status": "APPROVED",
"reason": "CARD_FOUND",
"description": "Card was found.",
"additional_data": {
"card_hash": "9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX="
}
},
{
"name": "CARD_AUTHORIZATION_MODE",
"status": "APPROVED",
"reason": "CARD_AUTHORIZATION_MODE_VALID",
"description": "Card has authorization mode enabled.",
"additional_data": {
"authorization_mode": "CREDIT"
}
},
{
"name": "BANK_ACCOUNT",
"status": "APPROVED",
"reason": "BANK_ACCOUNT_FOUND",
"description": "Bank account was found.",
"additional_data": {
"account_id": 99999
}
},
{
"name": "ACCOUNT",
"status": "APPROVED",
"reason": "ACCOUNT_FOUND",
"description": "Account was found.",
"additional_data": {
"account_id": 2417
}
},
{
"name": "DOCUMENT_NUMBER",
"status": "APPROVED",
"reason": "DOCUMENT_NUMBER_FOUND",
"description": "Account was found successfully based on document number.",
"additional_data": {
"document_number_present": true
}
},
{
"name": "PROCESSING_CODE_MAPPER",
"status": "APPROVED",
"reason": "PROCESSING_CODE_MAPPED",
"description": "Processing code was mapped successfully.",
"additional_data": {
"mapped_processing_code": "2XXXX0",
"original_processing_code": "2XXXX0"
}
},
{
"name": "ACCEPTANCE",
"status": "SKIPPED",
"reason": "ACCEPTANCE_SKIPPED",
"description": "Payment methods acceptances validation was skipped.",
"additional_data": {
"cause": "Payment methods authorization acceptance was not found for this request."
}
},
{
"name": "CONFIG",
"status": "APPROVED",
"reason": "CONFIG_FOUND",
"description": "Payment methods configuration was found."
},
{
"name": "PLATFORM_AUTHENTICATION",
"status": "APPROVED",
"reason": "PLATFORM_AUTHENTICATION_SUCCESSFUL",
"description": "Request was authenticated successfully."
},
{
"name": "PROGRAM_PARAMETER",
"status": "SKIPPED",
"reason": "PROGRAM_PARAMETER_SKIPPED",
"description": "Program parameters validation was skipped.",
"additional_data": {
"cause": "Authorization is not performed using a card.",
"program_id": 177
}
},
{
"name": "MERCHANT",
"status": "SKIPPED",
"reason": "MERCHANT_SKIPPED",
"description": "Merchant validation was skipped.",
"additional_data": {
"cause": "This rule is disabled on configurations.",
"marketplace_id": "",
"merchant_external_id": ""
}
},
{
"name": "CARD_ARQC",
"status": "SKIPPED",
"reason": "CARD_ARQC_SKIPPED",
"description": "ARQC validation was skipped.",
"additional_data": {
"arqc_presence": false,
"cause": "Authorization is not performed using a card."
}
},
{
"name": "CARD_PIN",
"status": "SKIPPED",
"reason": "CARD_PIN_SKIPPED",
"description": "PIN validation was skipped.",
"additional_data": {
"pin_presence": false,
"cause": "Authorization is not performed using a card."
}
},
{
"name": "CARD_CVV",
"status": "SKIPPED",
"reason": "CARD_CVV_SKIPPED",
"description": "CVV validation was skipped.",
"additional_data": {
"track1_presence": false,
"track2_presence": false,
"cause": "Authorization is not performed using a card.",
"code": ""
}
},
{
"name": "CARD_CVV2",
"status": "SKIPPED",
"reason": "CARD_CVV2_SKIPPED",
"description": "CVV2 validation was skipped.",
"additional_data": {
"cvv2_presence": false,
"entered_expiration_date": "2806",
"cause": "Authorization is not performed using a card.",
"code": ""
}
},
{
"name": "CARD_STATUS",
"status": "APPROVED",
"reason": "CARD_STATUS_VALID",
"description": "Card is in valid status.",
"additional_data": {
"card_status": "NORMAL"
}
},
{
"name": "CARD_ENTERED_EXPIRATION_DATE",
"status": "APPROVED",
"reason": "CARD_ENTERED_EXPIRATION_DATE_VALID",
"description": "Entered expiration date matches card expiration date.",
"additional_data": {
"card_expiration_date": "2806",
"entered_expiration_date": "2806"
}
},
{
"name": "CARD_EXPIRATION_DATE",
"status": "APPROVED",
"reason": "CARD_NOT_EXPIRED",
"description": "Card is not expired.",
"additional_data": {
"card_expiration_date": "2806"
}
},
{
"name": "CARD_PASSWORD_TRIES",
"status": "APPROVED",
"reason": "CARD_PASSWORD_TRIES_ALLOWED",
"description": "Password tries are within configured threshold.",
"additional_data": {
"current_password_tries": 0,
"password_tries_allowed": 3
}
},
{
"name": "CARD_ATC",
"status": "APPROVED",
"reason": "CARD_ATC_WITHIN_ALLOWED_RANGE",
"description": "ATC is within allowed range.",
"additional_data": {
"current_atc": "10",
"previous_atc": "[9,8,7,5,1]",
"min_offset_parameter": "5",
"max_offset_parameter": "15"
}
},
{
"name": "EXTERNAL_CALCULATION",
"status": "APPROVED",
"reason": "EXTERNAL_CALCULATION_SUCCESSFUL",
"description": "External calculation was performed successfully."
},
{
"name": "PAYMENT_METHODS_INTEGRITY",
"status": "APPROVED",
"reason": "PAYMENT_METHODS_INTEGRITY_CREATED",
"description": "Payment methods integrity message was created successfully."
},
{
"name": "ACCOUNT_ID",
"status": "APPROVED",
"reason": "ACCOUNT_ID_PERMITTED",
"description": "Account ID is permitted.",
"additional_data": {
"document_number": "6XXXXXXXXXXX9",
"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": 746847632710901.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": "ANTI_FRAUD",
"status": "APPROVED",
"reason": "ANTI_FRAUD_APPROVED",
"description": "Authorization passed anti-fraud evaluation.",
"additional_data": {
"executed_steps": [],
"force_approve": false,
"override": false,
"override_type": "NONE"
}
},
{
"name": "AUTHORIZATION",
"status": "APPROVED",
"reason": "AUTHORIZATION_CREATED",
"description": "Authorization was created successfully."
},
{
"name": "PAYMENT_METHODS_PERSISTENCE",
"status": "APPROVED",
"reason": "PAYMENT_METHODS_PERSISTENCE_CREATED",
"description": "Payment methods record was created successfully."
}
]
}