v1
latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MBPayment methods
Create transfer
Create a transfer operation between two accounts on the Pismo platform.
With this endpoint, you have the following additional options.
- Specify the authentication method and details.
- Set pre_authorization to true for operations that require additional confirmation and then call the Confirm pre-authorized transfer endpoint.
- Set validation_rules in the From object 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 a Platform authorization created event.
Note: This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.
post/payment-methods/v2/transfers
Request body
Example request
{
"amount": 215,
"from": {
"account_id": 6912345,
"currency": "BRL",
"processing_code": "99066",
"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"
}
}
},
"to": {
"account_id": 6912345,
"beneficiary_id": "97c96d96-9b87-404b-88e5-287f2b0e6e0a",
"currency": "BRL",
"processing_code": "99066",
"validation_rules": {
"ACCOUNT_STATUS": {
"override": false
},
"LEDGER": {
"force": false
},
"FLEX_CONTROLS": {
"override": true
},
"RATES": {
"override": true
}
},
"authorization_validations": {
"associated_ids": {
"payment_id": "319d00f5-48de-4c71-ad47-40b1e9c4e37f",
"origin_id": "CUSTOM_ORIGIN"
}
}
},
"tracking_id": "3368328d-e4c6-4c75-99a9-9d59f3501d8c",
"authentication": {
"method": "otp",
"parameters": {
"device_id": "abc",
"token": "123456",
"user_id": "123456789"
}
},
"description": "Challenge expired",
"metadata": "{ \"key\": \"value\"}",
"payment_datetime": "2023-03-10T19:05:56.743Z"
}Response
Request was processed successfully, existing authorization with the corresponding tracking_id returned.
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."
}
]
}
}