Skip to main content

AbacatePay PHP

Official AbacatePay SDK - Accept payments in seconds with a simple integration.

Instalação

Requisitos

  • PHP 7.2.5 ou superior
  • Composer
  • Conta AbacatePay válida e credenciais de API
  • SSL habilitado para ambientes de produção

Instalação via Composer

composer require abacatepay/php-sdk

Configuração

Primeiro, inicialize o SDK com seu token de API:
use AbacatePay\Clients\Client;

Client::setToken($_ENV["ABACATEPAY_TOKEN"]);
⚠️ Nunca faça commit dos seus tokens de API no controle de versão. Use variáveis de ambiente.

Quick Usage

use AbacatePay\Clients\Client;
use AbacatePay\Clients\BillingClient;

// Configure o token de API
Client::setToken("your_api_key");

// Inicialize o cliente de billing
$billingClient = new BillingClient();

Criando uma Cobrança

use AbacatePay\Clients\BillingClient;
use AbacatePay\Resources\Billing;
use AbacatePay\Resources\Billing\Product;
use AbacatePay\Resources\Billing\Metadata as BillingMetadata;
use AbacatePay\Enums\Billing\Methods;
use AbacatePay\Enums\Billing\Frequencies;
use AbacatePay\Resources\Customer;
use AbacatePay\Resources\Customer\Metadata as CustomerMetadata;

$billingClient = new BillingClient();

// Criando uma Cobrança Única
$billing = $billingClient->create(new Billing([
    'frequency' => Frequencies::ONE_TIME,
    'methods' => [Methods::PIX],
    'products' => [
        new Product([
            'external_id' => 'PRO-PLAN',
            'name' => 'Pro plan',
            'description' => 'Pro plan subscription',
            'quantity' => 1,
            'price' => 1000 // Preço em centavos
        ])
    ],
    'metadata' => new BillingMetadata([
        'return_url' => 'https://yoursite.com/app',
        'completion_url' => 'https://yoursite.com/payment/success'
    ]),
    'customer' => new Customer([
        'metadata' => new CustomerMetadata([
            'name' => 'Customer Name',
            'cellphone' => '11999999999',
            'email' => 'customer@example.com',
            'tax_id' => '09240529020'
        ])
    ])
]));

echo $billing->url; // URL de pagamento para seu cliente

Response

{
    "id": "bill_12345667",
    "url": "https://abacatepay.com/pay/bill_12345667",  // URL de pagamento para seu cliente
    "amount": 1000,
    "status": "PENDING",
    "devMode": true,
    "methods": ["PIX"],
    "frequency": "ONE_TIME",
    "nextBilling": null,
    "customer": {
        "id": "cust_12345",
        "metadata": {
            "email": "customer@example.com"
        }
    },
    "createdAt": "2024-11-04T18:38:28.573",
    "updatedAt": "2024-11-04T18:38:28.573"
}