# MD for: https://www.mercadopago.com.pe/developers/es/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.pe/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 reserve will be valid for 22 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.