Giter Site home page Giter Site logo

valdeirpsr / pagseguro-sdk Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 321 KB

Biblioteca NÃO OFICIAL do PagSeguro.

License: MIT License

Makefile 0.62% PHP 98.76% Dockerfile 0.12% JavaScript 0.50%
php pagseguro payment-method payment-gateway pagseguro-transparente sdk-php

pagseguro-sdk's Introduction

SDK em PHP para integração com o PagSeguro Checkout Transparente 🐘

License MIT Test SDK with PHPUnit Total Issue Last  Version

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

Documentação completa

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',
    '[email protected]',
    '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',
    '[email protected]',
    '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

Documentação completa

🔖 Referência API

Acessar página

🤝 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 [email protected].

📃 Licença

Este projeto é livre sob a Licença MIT.

pagseguro-sdk's People

Contributors

valdeir2000 avatar valdeirpsr avatar

Watchers

 avatar  avatar  avatar

pagseguro-sdk's Issues

Versão não encontrada

"require": {
    "php": "^7.1",
    "ext-pdo": "^7.1",
    "phpmailer/phpmailer": "~6.1",
    "league/plates": "v4.0.0-alpha",
    "matthiasmullie/minify": "^1.3",
    "coffeecode/uploader": "1.0.*",
    "coffeecode/cropper": "1.3.*",
    "coffeecode/optimizer": "2.0.*",
    "coffeecode/paginator": "1.0.*",
    "coffeecode/router": "1.0.*",
    "mercadopago/dx-php": "2.2.*",
    "valdeirpsr/pagseguro-sdk": "1.0.0"
}

UPDATE:

"C:\xampp\php\php.exe" "C:\Composer\composer.phar" "--ansi" "--no-interaction" "update"
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires valdeirpsr/pagseguro-sdk, it could not be found in any version, there may be a typo in the package name.

Potential causes:

Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.
Done.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.