valdeirpsr/pagseguro
Composer 安装命令:
composer require valdeirpsr/pagseguro
包简介
SDK não oficial para o PagSeguro Checkout Transparente
README 文档
README
Inicialmente, este SDK foi criado para utilização com a extensão de pagamento criada para OpenCart, no entanto, para melhor manutenção e melhorias, foi resolvido torná-lo independente.
Este projeto é open-source e não tem relação direta com a empresa PagSeguro
⚙️ Instalação
Instale o projeto via composer
PHP 7.3+
composer require valdeirpsr/pagseguro-sdk
PHP 8.0+
composer require valdeirpsr/pagseguro-sdk --ignore-platform-req php
📚 Requisitos
- PHP 7.3 ou superior
- PHP Curl (Extensão)
- PHP Json (Extensão)
- PHP Xml
- PHP SimpleXml (Extensão)
📖 Documentação
Crie transações com o uso de cartões de crédito. É necessário usar o JavaScript do PagSeguro para obter o token do cartão de crédito. Isto porque os dados do cartão não são transferidos entre o client-side e o server-side
<?php require_once "vendor/autoload.php"; use ValdeirPsr\PagSeguro\Constants\Shipping\Type as ShippingTypes; use ValdeirPsr\PagSeguro\Exception\{ Auth as AuthException, PagSeguroRequest as PagSeguroRequestException }; use ValdeirPsr\PagSeguro\Domains\{ Payment, CartItem, Shipping, Address, Document, User\Factory as FactoryUser, PaymentMethod\CreditCard }; use ValdeirPsr\PagSeguro\Request\Sale; /** * Gera a sessão para autorização da requisição */ $sessionHash = $this->model_extension_payment_pagseguro->generateSession(); /** * Informa os dados do cliente */ $sender = FactoryUser::sender( 'Valdeir Psr', 'teste@valdeir.dev', '71912345678', Document::cpf('000.000.000-00'), $sessionHash ); /** * Define os produtos que o cliente comprou */ $products = []; foreach ($this->cart->getProducts() as $product) { $product = new CartItem(); $product->setId('123'); // Limite de 80 caracteres $product->setDescription('Teatro Completo de Ariano Suassuna'); $product->setQuantity(1); $product->setAmount(349.91); $products[] = $item; } $payment = new Payment(); $payment->setMode('default'); $payment->setSender($sender); $payment->setCurrency('BRL'); $payment->setReference('Comentário do cliente / Referência do Pedido'); $payment->setCartItems($products); // Defina a URL que receberá os alertas do WebHook $payment->setNotificationUrl('https://example.com/callback?order_id=123'); // Define um valor de desconto (valor negativo) ou acréscimo (valor positivo) $payment->setExtraAmount(-9.91); /** * Define os dados de endereço */ $address = new Address(); $address->setStreet('Avenida Brasil'); $address->setNumber('44878'); $address->setDistrict('Campo Grande'); $address->setCity('Rio de Janeiro'); $address->setState('RJ'); $address->setPostalCode('23078001'); $address->setComplement('Mar Mil'); /** * Dados do titular do cartão */ $holder = FactoryUser::holder( 'Titular do cartão', 'customer@example.com', '71912345678', Document::cpf('000.000.000-00') ); $holder->setBirthdate(DateTime::createFromFormat('Y-m-d', '1993-07-13')); /** * Define os dados do cartão de crédito */ $creditCard = new CreditCard(); $creditCard->setToken('token gerado pelo JavaScript do PagSeguro'); $creditCard->setInstallmentQuantity(7); // Número de parcelas $creditCard->setInstallmentValue(69.98); // Valor gerado pelo JavaScript $creditCard->setBillingAddress($address); // $creditCard->setHolder($holder); /** * Caso tenha definido juros, utilize o método abaixo para informar * o número de parcelas sem juros; caso contrário, deixa-a comentada. */ //$creditCard->setNoInterestInstallmentQuantity(1); /** * Define os dados de entrega */ $shipping = new Shipping(); $shipping->setAddressRequired(true); $shipping->setType(ShippingTypes::UNKNOWN); // Utilize UNKNOWN, PAC ou SEDEX $shipping->setCost(10.00); $shipping->setAddress($address); /** * Define o ambiente. Caso esteja usando em produção, utilize * ```Environment::production``` */ $env = Environment::sandbox('seu e-mail', 'seu token'); /** * Realiza a requisição e obtém o ID da transação */ $sale = new Sale($env); $response = $sale->create($payment); echo $response->getCode(); // Imprime o código de identificação da transação
🔖 Referência API
🤝 Comunidade
Obtenha suporte registrando issues, acessando a área de discurssões (em breve) ou através da documentação.
👮 Problemas de Segurança
Se você achar algo que comprometa a segurança, por favor, não reporte publicamente. Envie um e-mail para contact@valdeir.dev.
📃 Licença
Este projeto é livre sob a Licença MIT.
valdeirpsr/pagseguro 适用场景与选型建议
valdeirpsr/pagseguro 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 90 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 01 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「payment」 「sdk」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 valdeirpsr/pagseguro 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 valdeirpsr/pagseguro 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 valdeirpsr/pagseguro 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
TrinkPOS Sanal POS (Virtual POS) API client for PHP
PHP SDK for the Enconvert file conversion API
支付宝开放平台v3协议文档,支持最新版PHP8+
Merchant-side PHP SDK for YoPay Pay Open API.
SDK oficial da API AurePay para PHP (tipado via OpenAPI)
SDK oficial da API AureEX para PHP (tipado via OpenAPI)
统计信息
- 总下载量: 90
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-01-25