devsitarget/sdk-pagarme-php 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

devsitarget/sdk-pagarme-php

最新稳定版本:1.0.1

Composer 安装命令:

composer require devsitarget/sdk-pagarme-php

包简介

SDK PHP para integração com Pagar.me v5 (Boleto, Pix, Cartão e consulta de transações)

README 文档

README

SDK de integração com Pagar.me v5 para Boleto, Pix, Cartão de Crédito, consulta de transações e parser de webhook.

Funcionalidades

  • Pix: geração, consulta de status e payload copia-e-cola
  • Cartão de crédito: criação de cobrança e parcelamento
  • Boleto: emissão e consulta de dados
  • Consulta de transação por order_id / charge_id
  • Mapeamento de status de pagamento
  • Parser de webhook de liquidação
  • Split de pagamento via recipient_id

Requisitos

  • PHP >= 8.1
  • Guzzle HTTP
  • Docker, para o fluxo local deste projeto

Instalação

composer require devsitarget/sdk-pagarme-php

Para desenvolvimento local:

make build
make up
make install

Configuração

<?php

use PagarmeSdk\Environment;
use PagarmeSdk\Pagarme;
use PagarmeSdk\Store;

$store = new Store(
    apiKey: 'SUA_SECRET_KEY',
    environment: Environment::sandbox()
);

$pagarme = new Pagarme($store);

A API v5 do Pagar.me usa a mesma URL para sandbox e produção. O comportamento depende da chave informada.

Cliente

<?php

use PagarmeSdk\Address;
use PagarmeSdk\Customer;

$customer = new Customer(
    id: '123',
    name: 'Cliente',
    email: 'cliente@exemplo.com',
    document: '12345678900',
    phone: '11999999999',
    address: new Address(
        street: 'Rua A',
        number: '100',
        zipCode: '01234567',
        neighborhood: 'Centro',
        city: 'Sao Paulo',
        state: 'SP'
    )
);

Pix

<?php

use PagarmeSdk\Pix\PixRequest;

$pixResponse = $pagarme->createPixCharge(new PixRequest(
    amount: 120.50,
    currency: 'BRL',
    customer: $customer,
    description: 'Pedido 123',
    number: '123',
    metadata: [
        'expires_in' => 3600,
    ]
));

echo $pixResponse->pixCopyPaste;

Cartão De Crédito

<?php

use PagarmeSdk\CreditCard\CreditCard;
use PagarmeSdk\CreditCard\CreditCardRequest;

$cardResponse = $pagarme->createCreditCardPayment(new CreditCardRequest(
    amount: 150.00,
    currency: 'BRL',
    customer: $customer,
    creditCard: new CreditCard(
        number: '4111111111111111',
        holderName: 'Cliente Teste',
        expirationMonth: '12',
        expirationYear: '2030',
        securityCode: '123'
    ),
    installments: 3,
    description: 'Pedido 123',
    number: '123'
));

echo $cardResponse->status->value;

Boleto

<?php

use DateTime;
use PagarmeSdk\Bank\BankRequest;

$bankResponse = $pagarme->generateBank(new BankRequest(
    amount: 100.00,
    currency: 'BRL',
    customer: $customer,
    description: 'Pedido 123',
    dueDate: new DateTime('2026-03-10'),
    number: '123'
));

echo $bankResponse->url;

Consultas

<?php

$order = $pagarme->getTransactionById('or_123');
$status = $pagarme->checkPaymentStatus('or_123');
$bankData = $pagarme->getBankData('or_123');
$pixData = $pagarme->checkPixStatus('or_123');
$pixPayload = $pagarme->getPixPayload('or_123');

Webhook

<?php

$parsed = Pagarme::parseSettlementWebhook($payload);

// Campos principais:
// tid, transactionId, tokenTransaction, paymentMethodCode,
// statusCode, lowDate, occurrenceDate, authorizationCode, nsu

Split

As requests aceitam affiliates com objetos BillAffiliate. No Pagar.me, o split usa recipient_id.

<?php

use PagarmeSdk\BillAffiliate;
use PagarmeSdk\Pix\PixRequest;

$pixResponse = $pagarme->createPixCharge(new PixRequest(
    amount: 120.50,
    currency: 'BRL',
    customer: $customer,
    description: 'Pedido com split',
    number: '123',
    affiliates: [
        new BillAffiliate(recipientId: 'rp_123', percentage: 50),
        new BillAffiliate(recipientId: 'rp_456', commissionAmount: 10.00),
    ]
));

Docker

make build
make up
make install
make test
make phpstan
make cs-check

Para criar o arquivo .env local:

make setup-env

Testes

composer test

Ou pelo Docker:

make test

Observações

  • Valores monetários devem ser informados em reais no SDK. O payload enviado ao Pagar.me converte para centavos.
  • Environment::sandbox() e Environment::production() usam a mesma base URL da API v5.
  • O Store recebe a secret key do Pagar.me em apiKey.
  • A pasta Pagarme-exemple foi mantida como referência da integração original.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固