PHP - Pagamentos via PIX com o MercadoPago

Desenvolva uma solução de pagamento eficiente e integrada com o PIX do MercadoPago usando PHP seguindo nossas instruções detalhadas

PHP - Pagamentos via PIX com o MercadoPago

Olá Gente

A integração com o PIX do MercadoPago é uma das mais simples de todas.

Gerando Credenciais

Antes de começarmos, precisamos gerar as credenciais para acessar a API do MercadoPago.

Em sua conta MercadoPago, acesse:

Digite seu e-mail, telefone ou usuário do Mercado Pago

Em seguida, clique em "Credenciais de Produção":

Em "Access Token", clique no ícone de um olho, e copie sua chave:

Criando Pagamento

Para criar um pagamento, via PIX, no MercadoPago, precisamos fazer um POST para:

https://api.mercadopago.com/v1/payments?access_token=[SeuAccessToken]

Segue exemplo do Json que precisamos enviar:

{
"transaction_amount": 100,
"payment_method_id": "pix",
"notification_url": "https://webhook.site/74605848-c104-461b-a94f-4febba6c1bc1",
"external_reference": "123",
"payer": {
  "first_name": "Paloma",
  "last_name": "Macetko",
  "email": "[email protected]"
}
}

Onde precisamos apenas:

  • transaction_amount: Definir o valor (sem pontos ou virgulas, neste exemplo, "100" corresponde a "R$ 1,00")
  • notification_url: O link no qual o MercadoPago ira avisar que o PIX foi Pago
  • external_reference: Um código para identificar o pagamento
  • payer.first_name: Primeiro nome do Cliente
  • payer.last_name: Último nome do Cliente
  • payer.email: E-mail do Cliente

Apenas Isto! Mais Nada! 😍😍

A resposta da API, em caso de sucesso, será um "HttpCode 201" com um Json, onde, precisamos apenas dos dados dentro de "point_of_interaction.transaction_data":

{
"qr_code": "XXXXXXXXX",
"ticket_url": "https://www.mercadopago.com.br/payments/XXXXXXXXX",
"qr_code_base64": "XXXXXXXX"
}

Aqui temos:

  • qr_code: A chave do PIX para o pagamento no estilo "Copia e Cola"
  • ticket_url: Link que você pode direcionar o cliente para pagar o PIX online
  • qr_code_base64: O QRCode em Base64

Identificando Pagamento

Quando você cria o pagamento, você preenche a url do Webhook em "notification_url".

Em cada movimentação, o MercadoPago ira enviar um Json para esta Url com o conteúdo similar ao conteúdo abaixo:

{
"action": "payment.created",
"api_version": "v1",
"data": {
  "id": "73112591629"
},
"date_created": "2024-02-29T16:34:59Z",
"id": 111260673855,
"live_mode": true,
"type": "payment",
"user_id": "229909618"
}

Aqui recebemos o ID do pagamento, em "data.id":

73112591629

Com esta informação, basta fazermos uma GET para a API do MercadoPago:

https://api.mercadopago.com/v1/payments/[ID_PAGAMENTO]?access_token=[SeuAccessToken]

Iremos receber um Json igual ao Json retornado na criação do pagamento, neste Json iremos extrair os campos abaixo:

  • external_reference: Código da compra que informamos na criação do pagamento
  • status: Status do Pagamento

Quando "status" receber "approved" indica que o pagamento foi APROVADO 💚:

{
"status": "approved"
}

Integrando com PHP

Agora que já aprendemos como funciona, vamos fazer isto tudo funcionar via PHP?

Segue exemplo de código:

Por hoje é isto Pessoal! 👋

Continuem Brilhando 🌟