SDKs
Bibliotecas oficiais para Node.js (TypeScript), Python e PHP.
| Linguagem | Instalação (nome provisório) | Requisitos |
|---|---|---|
| TypeScript / Node.js | npm install gateway-pix |
Node 18+ |
| Python | pip install gateway-pix |
Python 3.10+ |
| PHP | composer require marca/gateway-pix |
PHP 8.1+ com ext-curl |
Os pacotes serão publicados junto com o nome definitivo do produto. Até lá, o código está no repositório (
sdks/).
Os três cobrem todas as operações da API e fazem por você:
Idempotency-Keyautomática em todoPOST, a mesma em todas as tentativas;- novas tentativas em falha de rede,
429e5xx, respeitandoRetry-After; - erros como exceção com
code,detail(em português),errorspor campo erequest_id; - paginação (
list/alluma página,iteratetodas); - verificação de webhooks (Standard Webhooks, com rotação de segredo).
import { GatewayPix, ApiError } from "gateway-pix";
const pix = new GatewayPix(process.env.PIX_API_KEY!);
try {
const charge = await pix.charges.create({ amount: "149.90", external_ref: "10293" }, { idempotencyKey: "pedido-10293" });
} catch (e) {
if (e instanceof ApiError && e.code === "external-ref-already-used") { /* já criada */ }
}
from gateway_pix import GatewayPix, ApiError
pix = GatewayPix(os.environ["PIX_API_KEY"])
for payment in pix.payments.iterate(match_status="unmatched"):
...
$pix = new \GatewayPix\GatewayPix(getenv('PIX_API_KEY'));
try {
$refund = $pix->refunds->create(['payment_id' => 'pay_…', 'amount' => '50.00']);
} catch (\GatewayPix\ApiException $e) {
error_log($e->getErrorCode() . ' ' . $e->getDetail() . ' ' . $e->requestId);
}
Cada operação da referência da API mostra o exemplo nos três SDKs e em curl.