keepcloud / pagarme-laravel
A Laravel package to integrate with Pagar.me API
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.7
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.14.0
README
Pagar.me - Laravel
Integração da API Pagar.me com o framework Laravel.
📚 Índice
Instalação
Você pode instalar o pacote via composer.
composer require keepcloud/pagarme-laravel
Configuração
Antes de começar a utilizar o pacote, adicione sua chave de API no arquivo .env
da aplicação:
PAGARME_API_KEY=ak_test_sua_chave_aqui
Em seguida, certifique-se de que o arquivo de configuração config/pagarme.php
esteja publicado e corretamente configurado. Ele será responsável por armazenar os dados de conexão com a API do Pagar.me:
config/pagarme.php
<?php return [ 'api_key' => env('PAGARME_API_KEY', 'ak_test_*'), 'base_url' => 'https://api.pagar.me/core', 'api_version' => 'v5', ];
Se você ainda não publicou o arquivo de configuração, execute o comando abaixo:
php artisan vendor:publish --tag="pagarme-config"
Esse passo é essencial para garantir que a integração com a API funcione corretamente, utilizando a chave de autenticação e a URL base da API do Pagar.me.
Endpoints
Consulte as funções disponíveis para interagir com a API do Pagar.me.
Módulo | Descrição | Documentação |
---|---|---|
Customer | Gerenciamento de clientes, cartões e endereços | Ver detalhes |
Charge | Cobranças e captura de pagamentos | Ver detalhes |
Order | Criação e controle de pedidos e itens | Ver detalhes |
Recipients | Gerenciamento de recebedores/destinatários | Ver detalhes |
Subscription | Assinaturas e faturamento recorrente | Ver detalhes |
Anticipation | Antecipação de recebíveis | Ver detalhes |
Como usar
Adicione o import no local onde desejar utilizar o pacote:
use Pagarme;
Exemplo de uso:
// Criar cliente $newCustomer = Pagarme::customer()->create([ 'name' => 'Cliente Teste', 'email' => 'cliente@teste.com', 'type' => 'individual', 'documents' => [ ['type' => 'cpf', 'number' => '12345678900'] ] ]); dd(json_decode($newCustomer->getBody()->getContents(), true)); // Listar todos os clientes // $customers = Pagarme::customer()->all(); // dd(json_decode($customers->getBody()->getContents(), true)); // Buscar cliente por ID // $customer = Pagarme::customer()->find('cus_xxx'); // dd(json_decode($customer->getBody()->getContents(), true)); // Atualizar cliente // $updated = Pagarme::customer()->update('cus_xxx', [ // 'name' => 'Cliente Atualizado', // 'email' => 'atualizado@teste.com', // ]); // dd(json_decode($updated->getBody()->getContents(), true)); // Criar cartão de crédito // $card = Pagarme::customer()->createCreditCard('cus_xxx', [ // 'number' => '4111111111111111', // 'holder_name' => 'Cliente Teste', // 'exp_month' => '12', // 'exp_year' => '2030', // 'cvv' => '123' // ]); // dd(json_decode($card->getBody()->getContents(), true)); // Buscar cartão // $card = Pagarme::customer()->findCreditCard('cus_xxx', 'card_xxx'); // dd(json_decode($card->getBody()->getContents(), true)); // Listar cartões // $cards = Pagarme::customer()->allCreditCards('cus_xxx'); // dd(json_decode($cards->getBody()->getContents(), true)); // Renovar cartão // $renewed = Pagarme::customer()->renewCreditCard('cus_xxx', 'card_xxx'); // dd(json_decode($renewed->getBody()->getContents(), true)); // Atualizar cartão // $updatedCard = Pagarme::customer()->updateCreditCard('cus_xxx', 'card_xxx', [ // 'holder_name' => 'Novo Nome' // 'exp_month' => 12, // 'exp_year' => 2036, // ]); // dd(json_decode($updatedCard->getBody()->getContents(), true)); // Deletar cartão // $deletedCard = Pagarme::customer()->deleteCreditCard('cus_xxx', 'card_xxx'); // dd(json_decode($deletedCard->getBody()->getContents(), true)); // Adicionar endereço // $address = Pagarme::customer()->createAddress('cus_xxx', [ // 'line_1' => 'Rua A', // 'zip_code' => '12345678', // 'city' => 'Cidade', // 'state' => 'SP', // 'country' => 'BR' // ]); // dd(json_decode($address->getBody()->getContents(), true)); // Buscar endereço // $address = Pagarme::customer()->findAddress('cus_xxx', 'addr_xxx'); // dd(json_decode($address->getBody()->getContents(), true)); // Listar endereços // $addresses = Pagarme::customer()->allAddresses('cus_xxx'); // dd(json_decode($addresses->getBody()->getContents(), true)); // Atualizar endereço // $updatedAddress = Pagarme::customer()->updateAddress('cus_xxx', 'addr_xxx', [ // 'line_1' => 'Rua B', // 'city' => 'Nova Cidade' // ]); // dd(json_decode($updatedAddress->getBody()->getContents(), true)); // Deletar endereço // $deletedAddress = Pagarme::customer()->deleteAddress('cus_xxx', 'addr_xxx'); // dd(json_decode($deletedAddress->getBody()->getContents(), true));
Créditos
Licenca
Licença MIT (MIT). Por favor, consulte o Arquivo de Licença para mais informações.