PHP - Pagamentos via PIX com a Asaas

Descubra como implementar pagamentos instantâneos via PIX no Asaas usando PHP de forma rápida e eficiente.

PHP - Pagamentos via PIX com a Asaas

Olá Gente!

A API da Asaas é Excelente!

Porem, em alguns momentos, precisamos gerar um PIX para pagamento e não temos um cadastro completo de um cliente como é requerido ao criar uma cobrança:

Criar nova cobrança
É possível escolher entre as formas de pagamento com boleto, cartão de crédito, Pix ou permitir que o cliente escolha a forma que desejar.Guia de cobrançasConfira o guia de cobranças para mais informações.Criar cobrança parceladaConfira o guia para criar cobranças parceladas.📘Não é possível gerar u…

Existe outro método muito mais simples, onde precisamos apenas informar o valor:

Criar QRCode estático
Caso não informado o campo valor, o pagador poderá escolher o valor a ser pago.🚧Status CONFIRMED em cobranças Pix para pessoas físicasO status CONFIRMED pode ficar disponível em cobranças Pix de contas de pessoas físicas em caso de cobranças que sofram bloqueio cautelar e que precisam de análise da…

Neste endpoint, podemos até gerar sem informar o valor.

Para este exemplo, iremos criar um PIX de R$ 100:

<?
$curl 		                = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL 				=> "https://www.asaas.com/api/v3/pix/qrCodes/static",
CURLOPT_RETURNTRANSFER 		=> true,
CURLOPT_MAXREDIRS 			=> 10,
CURLOPT_TIMEOUT 			=> 300,
CURLOPT_SSL_VERIFYHOST 		=> false,
CURLOPT_SSL_VERIFYPEER 		=> false,
CURLOPT_CUSTOMREQUEST		=> "POST",
CURLOPT_POSTFIELDS 			=> json_encode(array("value" => 100)),
CURLOPT_HTTPHEADER 			=> array(
                            "Content-Type: application/json",
                            "access_token: XXXXXXXXXXXXXXXXXXXXXXX"
                            ),
));

$response 	                = curl_exec($curl);
$response2                  = json_decode($response, true);
$httpcode	                = curl_getinfo($curl, CURLINFO_HTTP_CODE);

curl_close($curl);

if( $httpcode == 200 )
{
    
    echo "id";
    echo "<br>";
    echo $response2["id"];

    echo "<br>";
    echo "<br>";
    echo "<br>";
    echo "<br>";

    echo "encodedImage";
    echo "<br>";
    echo $response2["encodedImage"];

    echo "<br>";
    echo "<br>";
    echo "<br>";
    echo "<br>";
    
    echo "payload";
    echo "<br>";
    echo $response2["payload"];    

}

O retorno é:

  • id: Que permite identificar o pagamento feito neste PIX através do WebHook
  • encodedImage: A Imagem do QRCode em Base64
  • payload: O PIX para pagamento via “Copia e Cola

Para exibir a imagem, basta adicionarmos o “encodedImage” em um elemento de imagem, indicando que é uma imagem em base64:

<img src="data:image/jpg;base64,<?=$response2["encodedImage"]?>" class="img-responsive" style="max-width: 300px;" />

Chegamos ao fim por hoje, galera! 😊

Até a próxima! 👋