# Get payment See all the information of a payment through the payment ID. **GET** `/v1/payments/{id}` ## Request parameters ### Path - `id` (number, required) Unique Payment Identifier, automatically generated by Mercado Pago. ## Response parameters - `id` (number, optional) Unique Payment Identifier, automatically generated by Mercado Pago. - `date_created` (string, optional) Payment creation date. - `date_approved` (string, optional) Payment approval date. A payment can be generated in an intermediate state and then approved, so the creation date will not always coincide with the approval date. - `date_last_updated` (string, optional) Date on which the last payment event was recorded. - `date_of_expiration` (string, optional) Payment’s expiration date. The attribute’s format is as follows - "yyyy-MM-dd'T'HH:mm:ssz". Ex. - 2022-11-17T09:37:52.000-04:00. - `money_release_date` (string, optional) Date on which the payment is settled and the money is made available in the Mercado Pago account of the Collector (the one who receives the payment). The field can take on the values “pending” or “released”, where the first indicates that the payment has not yet been released (money held for a period) and “released” means that the money has already been released to the user's available balance. - `operation_type` (string, optional) Indicates the type of payment. The available types are as follows. Possible enum values: - `investment` When funds are invested in products like CDB within the Mercado Pago app; - `regular_payment` Default classification for a purchase paid through Mercado Pago. - `money_transfer` Transfer of funds between two users. - `recurring_payment` Automatic payment for recurring charges from an active subscription. - `account_fund` Deposit of money into the user's account. - `payment_addition` Adding funds to an existing payment via a Mercado Pago account. - `cellphone_recharge` Reloading a user's cellphone account. - `pos_payment` Payment processed through a Point of Sale terminal. - `money_exchange` Currency exchange transaction for a user. - `issuer_id` (string, optional) Identifier of the card issuer being used in a credit or debit card payment. - `payment_method` (object, optional) Information about the payment method. Access the endpoint '/v1/payment_methods' to check all available payment methods and get a list with the details of each one and their properties. - `payment_method.data` (object, optional) Information related to the payment method used for authentication. - `payment_method.data.threeds` (string, optional) 3D Secure status. The 3DS protocol is the authentication protocol used in online transactions with cards. Possible enum values: - `AUTHENTICATED` Authentication performed by the responsible bank and forwarded to card brand validation. - `NOT_AUTHENTICATED` The challenge was not performed correctly or the responsible bank did not authorize the transaction due to some possible risk. - `CHALLENGE` The bank requested a challenge from the buyer and it has not yet been completed. - `ATTEMPTED` Authentication performed by the card brand. - `REJECTED` The responsible bank rejected the authentication due to some possible risk and also denied the possibility of challenge. - `ERROR` Missing some information required for 3DS authentication. Example: the "device_id" field was not filled. - `payment_method.id` (string, optional) Identifier of the payment method selected to make the payment. If it's a card payment, it will show the brand. - `payment_method.issuer_id` (string, optional) It is the identifier of the card issuer being used in a credit or debit card payment. - `payment_method.type` (string, optional) Type of payment method selected to make the payment. - `payment_method_id` (string, optional) Identifier of the payment method selected to make the payment. If it's a card payment, it will show the brand. Possible enum values: - `Debin_transfer` Digital payment method that immediately debits an amount from an account, requesting prior authorization. - `CVU` The 'U'niform Virtual Key is a 22-digit code used to identify virtual accounts and make immediate transfers. - `payment_type_id` (string, optional) Type of payment method selected to make the payment. Possible enum values: - `ticket` Cash payment. - `credit_card` Payment by credit card. - `debit_card` Payment by debit card. - `prepaid_card` Payment by prepaid card. - `digital_currency` Purchases with Cuotas sin Tarjeta. - `digital_wallet` Paypal. - `crypto_transfer` Payment with cryptocurrencies such as Ethereum and Bitcoin. - `status` (string, optional) It is the payment’s current state. It can be of the following types. Possible enum values: - `pending` The user has not yet completed the payment process (e.g., after generating a boleto, the payment will be completed when the user pays at the selected location). - `approved` The payment has been successfully approved and credited. - `authorized` The payment has been authorized but is not yet captured. - `in_process` The payment is currently under review. - `in_mediation` The user has initiated a dispute. - `rejected` The payment was rejected (the user may attempt to pay again). - `cancelled` The payment was either canceled by a party or expired. - `refunded` The payment was refunded to the user. - `charged_back` A chargeback was issued on the buyer's credit card. - `status_detail` (string, optional) Detail in which the Collection resulted. Possible enum values: - `accredited` Credited payment. - `partially_refunded` The payment has at least one partial refund. - `partially_bpp_refunded` The mediation was favorable to the payer, so the payment was partially refunded to them. - `partially_bpp_covered` The mediation was favorable to both the payer and the seller, so the payment was partially reimbursed to them. - `pending_capture` The payment has been authorized and is waiting for capture. - `by_collector` If the status is "cancelled", the payment has been canceled by collector. - `by_payer` If the status is "cancelled", the payment has been canceled by the payer. - `by_admin` If the status is "cancelled", the payment has been canceled by the administrator. If the status is refunded, the payment has been refunded. - `expired` If the status is "cancelled", the payment has been canceled after spending 30 days in a pending status. - `offline_process` Due to lack of online processing, the payment is being processed offline. - `pending_contingency` Temporary failure. The payment will be processed deferred. - `pending_review_manual` The payment is under review to determine its approval or rejection. - `deferred_retry` The payment was scheduled to retry later. - `pending_provider_response` The payment is pending, waiting for the server response. - `pending_waiting_transfer` In cases of bank transfer, the status_detail is obtained by waiting for the user to finish the payment process in their bank. - `pending_waiting_for_remedy` In cases of offline payments, it remains pending until the user regularizes the situation. - `pending_waiting_payment` In cases of offline payments, it remains pending until the user finishes the payment. - `pending_challenge` In cases of credit card payments, there is a pending confirmation due to a challenge. - `in_process` In payments with status charged_back, the payment is in process due to the payer disowning it. - `settled` In payments with status charged_back, the money was retained after a chargeback process. - `reimbursed` In payments with status charged_back, the money was reimbursed after a chargeback process. - `refunded` The payment has been refunded by the collector. - `bpp_refunded` The mediation was favorable to the payer, but Mercado Pago covers the refund of the money. - `bpp_covered` The mediation was favorable to both the payer and the seller, so both are supported. - `bank_rejected` If the payment method is bank transfer, the bank has rejected the payment. - `bank_error` If the payment method is bank transfer, the payment was rejected due to an error with the bank. - `cc_rejected_3ds_challenge` The payment is rejected for not surpasing the 3DS challenge. - `cc_rejected_3ds_mandatory` The payment is rejected for not having a 3DS challenge when it is mandatory. - `cc_rejected_bad_filled_card_number` Incorrect card number. - `cc_rejected_bad_filled_date` Incorrect expiration date. - `cc_rejected_bad_filled_other` Incorrect card details. - `cc_rejected_bad_filled_security_code` Incorrect security code (CVV). - `cc_rejected_blacklist` The card is in the denial list, being present in problems related to theft/complaints/fraud. - `cc_rejected_call_for_authorize` The payment method requires prior authorization of the transaction value, which must be resolved between the payer and the entity. - `cc_rejected_card_disabled` The card is inactive. - `cc_rejected_duplicated_payment` Payment rejected due to duplicated transaction on the card issuer end. - `cc_rejected_high_risk` Rejected by Fraud Prevention. - `cc_rejected_insufficient_amount` The card limit is insufficient for this transaction. - `cc_rejected_invalid_installments` Invalid number of installments. - `cc_rejected_max_attempts` Maximum number of attempts exceeded. - `cc_rejected_other_reason` Generic error. - `cc_rejected_time_out` The transaction was rejected due to timeout. - `cc_amount_rate_limit_exceeded` Rejected because it exceeded the limit (CAP - Maximum Allowed Capacity) of the payment method. - `rejected_high_risk` Rejected due to risk assessment, credit scoring, or suspected fraud. - `rejected_insufficient_data` Rejected due to the lack of all required mandatory information in the payment. - `rejected_by_bank` Operation rejected by the bank. - `rejected_by_regulations` Payment rejected by regulations. - `rejected_by_biz_rule` Payment rejected by business rules. - `payer_unavailable` In case of a rejected payment, the payer is restricted and can not operate. - `rejected_other_reason` Payment rejected for an unclassified reason. - `insufficient_amount` Payment rejected due to insufficient amount. - `pending` The payment is under a mediation or dispute process. - `currency_id` (string, optional) Identifier of the currency used in the payment. - `description` (string, optional) Purchased product’s description, the reason for payment. E.g. - "Xiaomi Redmi Note 11S mobile phone 128gb 6gb Ram Original Global Blue Version" (description of a product in the marketplace). - `live_mode` (boolean, optional) Indicates whether the payment was made in a production environment or in a test environment. If TRUE, then the chargeback will be processed in production mode. If FALSE, then the chargeback will be processed in sandbox mode. - `sponsor_id` (string, optional) This field is deprecated and no longer used. - `authorization_code` (string, optional) Transaction’s authorization code for payments with “payment_method_type” of type “credit_card” (credit card), “debit_card” (debit card) and “voucher_card” (voucher card for benefits, such as Alelo). In summary, this code is used for card transactions. The code is numerical and has 6 digits. - `money_release_schema` (string, optional) This field is used to identify whether a payment is PNF (Payment in Flow). Payment in flow is a form of cash release in which the installments received by a seller are released over the months (which corresponds to the number of installments). Possible values ​​for this field are “null” or “payment_in_flow”. - `counter_currency` (string, optional) Basically, it is an object that will allow you to convert payments of the CBT (Cross Border Trade) type into dollars, which are international payments made in foreign currency. - `collector_id` (string, optional) It is the user who receives the money. Ex - A user (payer) buys a cell phone through the marketplace. The identifier of the store/seller to receive the payment is the collector_id. - `payer` (object, optional) Payer data. For security reasons, the personal data of the payer is returned as null in the response. - `payer.id` (number, optional) Payer identifier generated by Mercado Pago. - `payer.email` (string, optional) Email associated with the payer. - `payer.identification` (object, optional) Payer's personal identification. - `payer.identification.type` (string, optional) Payer's identification document type. Access the endpoint '/v1/identification_type' to check all available identification types by country and get a list with the details of each one and their properties. - `payer.identification.number` (string, optional) Payer's identification document number. - `payer.type` (string, optional) Identification type of the associated payer (mandatory if the payer is a customer). Possible enum values: - `customer` The payer is a registered customer and is associated with the collector. - `guest` The payer does not have an account. - `metadata` (object, optional) This is an optional key-value object where the customer can add additional information that needs to be recorded at checkout. Ex - {"payments_group_size":1,"payments_group_timestamp":"2022-11-18T15:01:44Z","payments_group_uuid":"96cfd2a4-0b06-4dea-b25f-c5accb02ba10"}. - `additional_info` (object, optional) At Payments level, it's only data, and we only forward that information to other APIs like Risk, to perform scoring and prevent fraud, or to Tax, to determine them for international payments. - `external_reference` (string, optional) It is a payment external reference. It could be, for example, a hashcode from the Central Bank, working as a transaction origin identifier. - `transaction_amount` (number, optional) Product’s cost. - `transaction_amount_refunded` (number, optional) Transaction amount refunded - `coupon_amount` (number, optional) It is the value of the discount coupon. The attribute's type is BigDecimal. - `differential_pricing_id` (string, optional) Attribute that commonly contains an agreement on how much the user will be charged (generally, this field is more relevant for Marketplace payments). Pricing and fees are calculated based on this identifier. - `deduction_schema` (string, optional) Pricing Scheme applied by Mercado Pago. It is a field that represents the information of a type of financing (installment). Ex - “ahora12” is a schema that indicates that the payment is divided into 12 installments. In addition, financing may have an additional cost, such cost being included in that same answer and pointed out to whom this applies (payer/collector). - `transaction_details` (object, optional) Transaction details. - `transaction_details.net_received_amount` (number, optional) Net amount received. - `transaction_details.total_paid_amount` (number, optional) Total amount charged to the payer. - `transaction_details.overpaid_amount` (number, optional) Overpaid amount. - `transaction_details.external_resource_url` (string, optional) External resource URL. - `transaction_details.installment_amount` (number, optional) Amount of the chosen financing fee. - `transaction_details.financial_institution` (string, optional) Financial institution. - `transaction_details.payment_method_reference_id` (string, optional) Unique identifier of the payment method. - `transaction_details.payable_deferral_period` (string, optional) Payment deferral period. - `transaction_details.acquirer_reference` (string, optional) Acquirer reference. - `captured` (boolean, optional) Indicates if the payment amount was captured or is pending capture. - `binary_mode` (boolean, optional) When set to TRUE, payments can only be approved or rejected. Otherwise they can also result in_process. - `call_for_authorize_id` (string, optional) Identifier that is provided to the issuing bank so that payments can be authorized. - `statement_descriptor` (string, optional) Description that the payment will appear with in the card statement (eg MERCADOPAGO) - `installments` (number, optional) Number of installments selected. - `card` (object, optional) Card ID. - `notification_url` (string, optional) Notifications URL available to receive notifications of events related to Payment. The maximum number of characters allowed for submission in this parameter is 248 characters. - `processing_mode` (string, optional) Processing mode. There are two types: Possible enum values: - `Aggregator` The merchant will use Mercado Pago's merchant codes and benefit from the financial advantages we offer. - `Gateway` The merchant must have their own merchant code for online sales and agreements with each desired payment method. - `merchant_account_id` (string, optional) Merchant store code identifier. Applies only to the gateway model (since the delivery of money to the merchant does not go through the Mercado Pago system). - `acquirer` (string, optional) Acquirer. - `merchant_number` (string, optional) Merchant number (Applies to gateway model). ## Errors | Status | Error | Description | | ------- | ------- | ----------- | | 400 | 1 | Params Error. | | 400 | 3 | Token must be for test. | | 400 | 5 | Must provide your access_token to proceed. | | 400 | 1000 | Number of rows exceeded the limits. | | 400 | 1001 | Date format must be yyyy-MM-dd'T'HH:mm:ss.SSSZ. | | 400 | 2001 | Already posted the same request in the last minute. | | 400 | 2002 | Customer not found. | | 400 | 2004 | POST to Gateway Transactions API fail. | | 400 | 2006 | Card Token not found. | | 400 | 2007 | Connection to Card Token API fail. | | 400 | 2009 | Card token issuer can't be null. | | 400 | 3000 | You must provide your cardholder_name with your card data. | | 400 | 3001 | You must provide your cardissuer_id with your card data. | | 400 | 3003 | Invalid card_token_id. | | 400 | 3004 | Invalid parameter site_id. | | 400 | 3005 | Not valid action, the resource is in a state that does not allow this operation. For more information see the state that has the resource. | | 400 | 3006 | Invalid parameter cardtoken_id. | | 400 | 3007 | The parameter client_id can not be null or empty. | | 400 | 3008 | Not found Cardtoken. | | 400 | 3009 | unauthorized client_id. | | 400 | 3010 | Not found card on whitelist. | | 400 | 3011 | Not found payment_method. | | 400 | 3012 | Invalid parameter security_code_length. | | 400 | 3013 | The parameter security_code is a required field can not be null or empty. | | 400 | 3014 | Invalid parameter payment_method. | | 400 | 3015 | Invalid parameter card_number_length. | | 400 | 3016 | Invalid parameter card_number. | | 400 | 3017 | The parameter card_number_id can not be null or empty. | | 400 | 3018 | The parameter expiration_month can not be null or empty. | | 400 | 3019 | The parameter expiration_year can not be null or empty. | | 400 | 3020 | The parameter cardholder.name can not be null or empty. | | 400 | 3021 | The parameter cardholder.document.number can not be null or empty. | | 400 | 3022 | The parameter cardholder.document.type can not be null or empty. | | 400 | 3023 | The parameter cardholder.document.subtype can not be null or empty. | | 400 | 3024 | Not valid action - partial refund unsupported for this transaction. | | 400 | 3025 | Invalid Auth Code. | | 400 | 3026 | Invalid card_id for this payment_method_id. | | 400 | 3027 | Invalid payment_type_id. | | 400 | 3028 | Invalid payment_method_id. | | 400 | 3029 | Invalid card expiration month. | | 400 | 3030 | Invalid card expiration year. | | 403 | 4 | The caller is not authorized to access this resource. | | 403 | 3002 | The caller is not authorized to perform this action. | | 404 | 2000 | Payment not found. | ## Request example ### cURL ```bash curl -X GET \ 'https://api.mercadopago.com/v1/payments/{id}' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` ### Node.js ```javascript const client = new MercadoPago({ accessToken: config.access_token }); const payment = new Payment(client); payment.get({ id: '123456789', }).then(console.log).catch(console.log); ``` ### PHP ```php MercadoPagoConfig::setAccessToken("ACCESS_TOKEN"); $client = new PaymentClient(); $id = 123; $payment = $client->get($id); ``` ### Python ```python import mercadopago sdk = mercadopago.SDK("ENV_ACCESS_TOKEN") request = self.sdk.payment().get(123) print(request) ``` ### Java ```java MercadoPagoConfig.setAccessToken("YOUR_ACCESS_TOKEN"); PaymentClient client = new PaymentClient(); Long paymentId = 123456789L; client.get(paymentId); ``` ### .Net ```csharp MercadoPagoConfig.AccessToken = "ENV_ACCESS_TOKEN"; var client = new PaymentClient(); Payment payment = await client.GetAsync(123); ``` ### Ruby ```text require 'mercadopago' sdk = Mercadopago::SDK.new('ENV_ACCESS_TOKEN') payment_response = sdk.payment.get(123) payment_response[:response] ``` ## Response example ```json { "id": 1, "date_created": "2017-08-31T11:26:38.000Z", "date_approved": "2017-08-31T11:26:38.000Z", "date_last_updated": "2017-08-31T11:26:38.000Z", "date_of_expiration": "string", "money_release_date": "2017-09-14T11:26:38.000Z", "operation_type": "investment", "issuer_id": "string", "payment_method": { "data": { "threeds": "NOT_AUTHENTICATED" }, "id": "master", "issuer_id": "12518", "type": "credit_card" }, "payment_method_id": "master", "payment_type_id": "credit_card", "status": "approved", "status_detail": "accredited", "currency_id": "ARS", "description": "Pago Pizza", "live_mode": false, "sponsor_id": "string", "authorization_code": "string", "money_release_schema": "string", "counter_currency": "string", "collector_id": 2, "payer": { "id": 123, "email": "test@testuser.com", "identification": { "type": "DNI", "number": "12345678" }, "type": "customer" }, "metadata": {}, "additional_info": {}, "external_reference": "MP0001", "transaction_amount": "24.50", "transaction_amount_refunded": 0, "coupon_amount": 0, "differential_pricing_id": "string", "deduction_schema": "string", "transaction_details": { "net_received_amount": 250, "total_paid_amount": "50.00", "overpaid_amount": 0, "external_resource_url": "string", "installment_amount": 250, "financial_institution": "string", "payment_method_reference_id": "string", "payable_deferral_period": "string", "acquirer_reference": "string" }, "captured": false, "binary_mode": false, "call_for_authorize_id": "string", "statement_descriptor": "string", "installments": 1, "card": {}, "notification_url": "string", "processing_mode": "Aggregator", "merchant_account_id": "string", "acquirer": "string", "merchant_number": "string" } ```