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.
Attribute | Description |
address | Address |
default_address | Default address |
default_card | Default card |
description | Description |
emai | Account Email |
first_name | Name |
last_name | Last name |
phone | Registered phone |
identification | Document 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: 'CPF',
number: '12341234'
},
address: {
zip_code: '52',
street_name: 'Av. das NaçÔes Unidas',
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 = "CPF",
Number = "12341234"
};
var addressRequest = new AddressRequest
{
ZipCode = "52",
StreetName = "Av. das NaçÔes Unidas",
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": 'CPF',
"number": '12341234'
},
"address": {
"zip_code": '52',
"street_name": 'Av. das NaçÔes Unidas',
"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": "Av. das NaçÔes Unidas",
"street_number": "2"
},
"phone": {
"area_code": "11",
"number": "001234567"
},
"identification": {
"type": "CPF",
"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": "CPF",
"number": 12341234
},
"address": {
"zip_code": "52",
"street_name": "Av. das NaçÔes Unidas",
"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"
}