Integração completa com a API PIX da SwiftPay
Esta documentação fornece tanto a referência completa do SwiftPay SDK quanto a referência direta da API PIX, permitindo integração segura e precisa em PHP.
composer require kseven/swiftpay-sdk
Certifique-se de ter PHP >= 8.0 e Guzzle 7 instalados.
SWIFTPAY_URI=https://swiftpay.com.br/api/
SWIFTPAY_TOKEN=seu_token
SWIFTPAY_SECRET=seu_secret
WEBHOOK_SECRET=seu_webhook_secret
LOG_PATH=./logs/swiftpay.log
| Método | Descrição | Parâmetros | Retorno |
|---|---|---|---|
| deposit(array $data) | Cria um pagamento PIX (Depósito) | amount, debtor_name, email, debtor_document_number, phone, method_pay, postback | array com idTransaction, qrcode, qr_code_image_url |
| withdraw(array $data) | Realiza um saque via PIX | amount, pixKey, pixKeyType, baasPostbackUrl | array com id, amount, pixKey, pixKeyType, withdrawStatusId |
| Método | Descrição | Parâmetros | Retorno |
|---|---|---|---|
| __construct(string $secret) | Inicializa handler com segredo para validar HMAC | secret | void |
| handle(Request $request) | Valida webhook e retorna dados | Request $request | array com status, idTransaction, typeTransaction |
POST https://swiftpay.com.br/api/wallet/deposit/payment
Headers: Content-Type: application/json, Accept: application/json
Body: {
"token": "seu_token",
"secret": "seu_secret",
"postback": "rota_callback",
"amount": 100.00,
"debtor_name": "Nome",
"email": "email@dominio.com",
"debtor_document_number": "CPF",
"phone": "Telefone",
"method_pay": "pix"
}
Response: { "idTransaction": "TX123", "qrcode": "código", "qr_code_image_url": "url" }
POST https://swiftpay.com.br/api/pixout
Headers: Content-Type: application/json, Accept: application/json
Body: {
"token": "seu_token",
"secret": "seu_secret",
"baasPostbackUrl": "url_callback",
"amount": 100.00,
"pixKey": "chave_pix",
"pixKeyType": "cpf"
}
Response: { "id": "uuid", "amount": 100, "pixKey": "chave", "pixKeyType": "cpf", "withdrawStatusId": "PendingProcessing" }
O SDK e a API enviam POST para sua URL configurada, incluindo dados de status e assinatura HMAC.
{
"nome": "Cliente Teste",
"cpf": "12345678900",
"email": "cliente@email.com",
"status": "pago"
}
.env e não hardcode tokens.