# MD for: https://www.mercadopago.com.br/developers/pt/docs/checkout-bricks/additional-content/payment-management/make-value-reserve.md \# Reserve values A reserve of values happens when a purchase is made and its amount is reserved from the total limit of the card, ensuring that the value is kept until the completion of processing. To carry out a reserve authorization, send a \*\*POST\*\* with all the necessary attributes and add the attribute \`capture=false\` to the endpoint \[/v1/payments\](https://www.mercadopago.com.br/developers/en/reference/online-payments/checkout-api-payments/create-payment/post) and execute the request or, if you prefer, use one of the SDKs below. * [csharp ](#editor%5F5) * [curl ](#editor%5F7) * [java ](#editor%5F2) * [node ](#editor%5F3) * [php ](#editor%5F1) * [python ](#editor%5F6) * [ruby ](#editor%5F4) php java node ruby csharp python curl ``` setCustomHeaders(["X-Idempotency-Key: "]); $payment = $client->create([ "transaction_amount" => 100, "token" => "123456", "description" => "My product", "installments" => 1, "payment_method_id" => "visa", "payer" => [ "email" => "test@testuser.com", ], "capture" => false ], $request_options); echo implode($payment); ?> ``` Copiar ``` MercadoPagoConfig.setAccessToken("ENV_ACCESS_TOKEN"); Map customHeaders = new HashMap<>(); customHeaders.put("x-idempotency-key", ); MPRequestOptions requestOptions = MPRequestOptions.builder() .customHeaders(customHeaders) .build(); PaymentClient client = new PaymentClient(); PaymentCreateRequest request = PaymentCreateRequest.builder() .transactionAmount(new BigDecimal("100")) .token("ff8080814c11e237014c1ff593b57b4d") .description("Product Title") .installments(1) .paymentMethodId("visa") .payer(PaymentPayerRequest.builder().email("test@testuser.com").build()) .capture(false) .build(); client.create(request, requestOptions); ``` Copiar ``` import { MercadoPagoConfig, Payment } from 'mercadopago'; const client = new MercadoPagoConfig({ accessToken: 'YOUR_ACCESS_TOKEN' }); const payment = new Payment(client); const body = { transaction_amount: 100, token: '123456', description: 'My product', installments: 1, payment_method_id: 'visa', payer: { email: 'test@testuser.com', }, capture: false }; payment.create({ body: body, requestOptions: { idempotencyKey: '' } }).then(console.log).catch(console.log); ``` Copiar ``` require 'mercadopago' sdk = Mercadopago::SDK.new('ENV_ACCESS_TOKEN') custom_headers = { 'x-idempotency-key': '' } custom_request_options = Mercadopago::RequestOptions.new(custom_headers: custom_headers) payment_request = { transaction_amount: 100, token: 'ff8080814c11e237014c1ff593b57b4d', description: 'Product title', installments: 1, payment_method_id: 'visa', payer: { email: 'test@testuser.com' }, capture: false } payment_response = sdk.payment.create(payment_request, custom_request_options) payment = payment[:response] ``` Copiar ``` using MercadoPago.Client.Payment; using MercadoPago.Config; using MercadoPago.Resource.Payment; MercadoPagoConfig.AccessToken = "ENV_ACCESS_TOKEN"; var requestOptions = new RequestOptions(); requestOptions.CustomHeaders.Add("x-idempotency-key", ""); var paymentRequest = new PaymentCreateRequest { TransactionAmount = 100, Token = "ff8080814c11e237014c1ff593b57b4d", Description = "Product Title", Installments = 1, PaymentMethodId = "visa", Payer = new PaymentPayerRequest { Email = "test@testuser.com", }, capture = false, }; var client = new PaymentClient(); Payment payment = await client.CreateAsync(paymentRequest, requestOptions); ``` Copiar ``` import market sdk = Mercadopago.SDK("ENV_ACCESS_TOKEN") request_options = mercadopago.config.RequestOptions() request_options.custom_headers = { 'x-idempotency-key': '' } payment_data = { "transaction_amount": 100, "token": 'ff8080814c11e237014c1ff593b57b4d', "description": "Title of what you are paying for", "installations": 1, "payment_method_id": "visa", "payer": { "email": "test@testuser.com" }, "capture": False } payment_response = sdk.payment().create(payment_data, request_options) payment = payment_response["response"] ``` Copiar ``` curl -X POST \ -H 'accept: application/json' \ -H 'content-type: application/json' \ -H 'Authorization: Bearer ENV_ACCESS_TOKEN' \ -H 'X-Idempotency-Key: SOME_UNIQUE_VALUE' \ 'https://api.mercadopago.com/v1/payments' \ -d '{ "transaction_amount": 100, "token": "ff8080814c11e237014c1ff593b57b4d", "description": "Product title", "installations": 1, "payment_method_id": "visa", "payer": { "email": "test@testuser.com" }, "capture": "false" }' ``` Copiar The response indicates that the payment is authorized and pending capture. * [json ](#editor%5F8) json ``` { "id": PAYMENT_ID, ... "status": "authorized", "status_detail": "pending_capture", ... "captured": false, ... } ``` Copiar In addition, it is also possible to return as \`rejected\` or \`pending\`. Please note that authorized values cannot be used by your client until they are captured. We recommend capturing as soon as possible. > WARNING > > Important > > The reservation will be valid for 5 days. If you do not capture it within this period, it will be canceled. In addition, it is necessary to save the payment ID in order to complete the process.