Home
Documentation
Resources
Certifications
Community

Resources

Check for updates on our solutions and system performance, or request technical support.

Community

Get the latest news, ask others for help and share your knowledge.

Modify customer - Cards and customers management - Mercado Pago Developers

Intelligent search powered by OpenAI 

Modify customer

If there is any change in a customer's data, such as address, card or account email, it is possible to make this change through the Customer API or our SDKs.

In the table below we describe all the attributes that can be modified. To make the change, send a PUT with the customer_id and the attributes you want to modify to the endpoint /v1/customers/{id} and execute the request or, if you prefer, use one of the SDKs below.

Important
If you don't have the customer_id, follow the steps described in the section Search customers to get the information. Also, the email field can only be modified if the customer does not already have an associated email.
AttributeDescription
addressAddress
default_addressDefault address
default_cardDefault card
descriptionDescription
emaiAccount Email
first_nameName
last_nameLast name
phoneRegistered phone
identificationDocument type and number
          
<?php
  MercadoPagoConfig::setAccessToken("YOUR_ACCESS_TOKEN");
  
  $client = new CustomerClient();

  $customer = $client->update("user_id", [
    "email" => "my.user@example.com",
    "first_name" => "john",
    "last_name" => "wagner",
    "phone" => array(
      "area_code" => "11",
      "number" => "001234567"
    ),
    "identification" => array(
      "type" => "CPF",
      "number" => "12341234"
    ),
    "default_address" => "Casa",
    "address" => array(
      "zip_code" => "52",
      "street_name" => "Av. das Nações Unidas"
      "street_number" => "3033"
    )
  ]);
?>

        
          
const client = new MercadoPagoConfig({ accessToken: 'YOUR_ACCESS_TOKEN' });
const customer = new Customer(client);

const body = {
  email: "my.user@example.com"
  first_name: "john",
  last_name: "wagner",
  phone: {
    area_code: "11",
    number: "001234567"
  }
  identification: {
    type: "CPF",
    number: "12341234"
  },
  default_address: "Casa",
  address: {
    zip_code: "52",
    street_name: "Av. das Nações Unidas"
    street_number: "3033"
  }
};

customer.update({ customerId: '<CUSTOMER_ID>', body: body,
}).then(console.log).catch(console.log);

        
          
MercadoPagoConfig.setAccessToken("ENV_ACCESS_TOKEN");

CustomerClient client = new CustomerClient();

CustomerRequest request = CustomerRequest.builder()
.email("user@user.com")
.firstName("John")
.lastName("Wagner")
.defaultAddress("House")
.phone(PhoneRequest.builder()
.areaCode("11")
.number("001234567")
.build())
.identification(IdentificationRequest.builder()
.type("CPF")
.number("12341234")
.build())
.description("Customer Information")
.defaultCard("None")
.address(CustomerAddressRequest.builder()
.zipCode("52")
.streetName("United Nations Avenue")
.streetNumber(2)
.build())
.build();

client.update("247711297-jxOV430go9fx2e", request);


        
          
require 'mercadopago'

sdk = Mercadopago::SDK.new('ENV_ACCESS_TOKEN')

customer_request = {
email: 'user@user.com',
first_name: 'john',
last_name: 'wagner',
default_address: 'Home',
phone: {
area_code: '11',
number: '001234567'
},
identification: {
type: 'RUC',
number: '12341234'
},
address: {
zip_code: '52',
street_name: 'German Schreiber Gulsmanco',
street_number: '2'
},
description: 'Customer Information',
default_card: 'None'
}
customer_response = sdk.customer.update(customer_id ,customer_request)
customer = customer_response[:response]


        
          
MercadoPagoConfig.AccessToken = "ENV_ACCESS_TOKEN";
var phoneRequest = new PhoneRequest
{
AreaCode = "11",
Number = "001234567"
};

var identificationRequest = new IdentificationRequest
{
Type = "RUC",
Number = "12341234"
};

var addressRequest = new AddressRequest
{
ZipCode = "52",
StreetName = "German Schreiber Gulsmanco",
StreetNumber = "2"
};

var customerRequest = new CustomerRequest
{
Email = "test_payer_12345@testuser.com",
FirstName = "john",
LastName = "wagner",
DefaultAddress = "home",
Description = "Customer Information",
DefaultCard = "None",
Phone = phoneRequest,
Identification = identificationRequest,
Address = addressRequest

};
var customerClient = new CustomerClient();
Customer customer = await customerClient.Update(customerRequest);


        
          
import market
sdk = Mercadopago.SDK("ENV_ACCESS_TOKEN")

customer_data = {
"email": 'user@user.com',
"first_name": 'john',
"last_name": 'wagner',
"default_address": 'Home',
"phone": {
"area_code": '11',
"number": '001234567'
},
"identification": {
"type": 'RUC',
"number": '12341234'
},
"address": {
"zip_code": '52',
"street_name": 'German Schreiber Gulsmanco',
"street_number": '2'
},
"description": 'Customer Information',
"default_card": 'None'
}
customer_response = sdk.customer().update(customer_id, customer_data)
customer = customer_response["response"]


        
          
package main

import (
	"context"
	"fmt"

	"github.com/mercadopago/sdk-go/pkg/config"
	"github.com/mercadopago/sdk-go/pkg/customer"
)

func main() {
	accessToken := "{{ACCESS_TOKEN}}"

	cfg, err := config.New(accessToken)
	if err != nil {
		fmt.Println(err)
		return
	}

	client := customer.NewClient(cfg)

	request := customer.Request{
		Email: "user@user.com",
		FirstName: "John",
		LastName: "Wagner",
		DefaultAddress: "Casa",
		Phone: &customer.PhoneRequest{
			AreaCode: "11",
			Number: "001234567",
		},
		Identification: &customer.IdentificationRequest{
			Type: "CPF",
			Number: "12341234",
		},
		Address: &customer.AddressRequest{
			ZipCode: "52",
			StreetName: "Av. das Nações Unidas",
			StreetNumber: "2",
		},
		Description: "Updated Description",
		DefaultCard: "None",
	}

	resource, err := client.Update(context.Background(), "<CUSTOMER_ID>", request)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(resource)
}

        
          
curl -X PUT \
'https://api.mercadopago.com/v1/customers/{id}' \
-H 'Authorization: Bearer ACCESS_TOKEN_ENV' \
-d '{
"email": "user@user.com",
"first_name": "john",
"last_name": "wagner",
"address": {
"zip_code": "52",
"street_name": "German Schreiber Gulsmanco",
"street_number": "2"
},
"phone": {
"area_code": "11",
"number": "001234567"
},
"identification": {
"type": "RUC",
"number": "12341234"
},
"description": "Customer Information"
}'


        

Example response with sending customer_id:

json

{
"id": "xxxxxxxxxxxxxxxxxxxxx",
"email": "user@user.com",
"first_name": "john",
"last_name": "wagner",
"phone": {
"area_code": "11",
"number": 001234567
},
"identification": {
"type": "RUC",
"number": 12341234
},
"address": {
"zip_code": "52",
"street_name": "German Schreiber Gulsmanco",
"street_number": 2
},
"description": "Customer Information",
"date_created": "2021-05-25T15:36:23.541Z",
"metadata": {},
"cards": [
{}
],
"addresses": [
{}
]
}

Example response without the customer_id parameter:

json

{
"message": "missing customer id"
}