Create transaction to bank account - Transactions - Mercado Pago Developers
What are you looking for?

Do not know how to start integrating? 

Check the first steps
Create transaction to bank account

POST

https://api.mercadopago.com/v1/transaction-intents/process
Generate money out operations from a Mercado Pago account to other accounts (internal or external), as long as the withdrawal account has funds.
Request's parameters
HEADER
X-Idempotency-Key
string

REQUIRED

This feature allows you to safely retry requests without the risk of accidentally performing the same action more than once. This is useful for avoiding errors, such as creating two identical transactions, for example. T...View more
x-Signature
boolean

REQUIRED

Request signature with the encrypted body in base 64 with the public and private keys of the integrator. It is required only in a productive environment.
x-enforce-signature
boolean
Boolean to indicate whether the integrator will or will not send the signature. It must be "false" for test environements, and "true" for production environments, when the signature is mandatory.
BODY
external_reference
string
Reference to identify the transaction. It is generated by the integrator and it can be any value that allows transactions to be tracked as long as it does not have special characters (“”, [ ], (), @) and does not exceed ...View more
point_of_interaction
object

REQUIRED

Fix value. It must always be {"type":"PSP_TRANSFER"}
seller_configuration
object
Object containing settings of the user performing the transaction.
transaction
object
Object that contains information about the transaction.
Response parameters
created_date
string
Transaction creation date.
external_reference
string
Transaction external reference, generated by the integrator when it was created.
id
string
Unique transaction identifier, automatically generated.
last_updated_date
string
Transaction's status update date.
Errors

400Bad Request

Invalid external_reference

Invalid type for field "external_reference". Verify the available values for this field.

Invalid type point_of_interaction

Invalid value for field "point_of_interaction.type". Remember that it is a fix value, always {"type":"PSP_TRANSFER"}.

Invalid amount

Invalid value for field "transaction.from.accounts[0].amount". Verify the amounts allowed for the transaction.

Invalid identification number

Invalid value for field "transaction.to.accounts[0].identification.number". Verify the allowed values.

Invalid identification type

Invalid value for field "transaction.to.accounts[0].owner.identification.type". Verify the allowed values.

Account is disabled

The Mercado Pago account is disabled

Participant is not available

Participant is not available to make this transaction.

Invalid identity source

The header X-Flow-id only supports "dict" or "ted".

Flow not specified

The header X-Flow-id only supports "transfer" or "management"

Compliance not processed

The conformity check was not completed for the user.

Key PSP error

Attempt to consult an external PSP key that is already registered in Mercado Pago

Invalid Body

The request body has an invalid format

Client not allowed

The client ID associated with the credentials is not allowed to make the request.

Financial identity not found

Financial identity not found. Check the "to.accounts.bank_id" field.

Many Requests

Too many requests has been made. Wait and try again.

Rate Limit

The consultation service reached the rpm limit in order not to exceed the limit allowed by Bacen and not receive fines.

Unauthorized

The request is unauthorized.

Invalid Payload

Invalid request payload

424Failed Dependency

Resource locked

The rate limit service is processing the integrator's consumption of our API.

500Internal server error.

internal_server_error

There was an error communicating with transaction_intent

502Bad Gateway

bad_gateway

Error processing request

Request
curl -X POST \
    'https://api.mercadopago.com/v1/transaction-intents/process'\
    -H 'Content-Type: application/json' \
       -H 'X-Idempotency-Key: 0d5020ed-1af6-469c-ae06-c3bec19954bb' \
       -H 'x-Signature: true' \
       -H 'x-enforce-signature: false' \
       -H 'Authorization: Bearer TEST-7719*********832-03141*********ec9309854*********f1e54b5-1*********' \
    -d '{
  "external_reference": "MP0001",
  "point_of_interaction": {},
  "seller_configuration": {
    "notification_info": {
      "notification_url": "http://example.cl/notification"
    }
  },
  "transaction": {
    "from": {
      "accounts": [
        {
          "amount": 100
        }
      ]
    },
    "to": {
      "accounts": [
        {
          "amount": 100,
          "bank_id": "99999004",
          "type": "current",
          "number": "10266732",
          "owner": {
            "identification": {
              "type": "RUT",
              "number": "111111111111"
            }
          }
        }
      ]
    },
    "total_amount": 100
  }
}'
Sample answer
{
  "created_date": "2021-01-01T00:00:00.000Z",
  "external_reference": "123456",
  "id": "0d5020ed",
  "last_updated_date": "2021-01-01T00:00:00.000Z",
  "point_of_interaction": {
    "type": "{\"type\":\"PSP_TRANSFER\"}"
  },
  "seller_configuration": {
    "notification_info": {
      "notification_url": "http://example.cl/notification"
    }
  },
  "status": "approved",
  "transaction": {
    "from": {
      "accounts": [
        {
          "amount": "100,00"
        }
      ]
    },
    "paid_amount": 100,
    "payer": {
      "id": 123456543
    },
    "refunded_amount": 1,
    "to": {
      "accounts": [
        {
          "amount": "100,00",
          "origin_id": "01AAAM001A1AY43FBR8WCM9CES",
          "status_details": [
            {}
          ],
          "owner": {
            "identification": {
              "number": "1234567890",
              "type": "RUT"
            }
          },
          "bank_id": "0000014",
          "type": "checking_account",
          "number": "123456"
        }
      ]
    },
    "total_amount": 100,
    "statement_descriptor": "test"
  }
}