承接 brenno-duarte/pagseguro-custom-api 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

brenno-duarte/pagseguro-custom-api

Composer 安装命令:

composer require brenno-duarte/pagseguro-custom-api

包简介

API customizada do PagSeguro para projetos em PHP

README 文档

README

GitHub release (latest by date) GitHub

Sobre

API customizada do PagSeguro para projetos em PHP

Instalação

Rode o comando abaixo no terminal do Composer:

composer require brenno-duarte/pagseguro-custom-api

Como usar

Crie um arquivo env.php e adicione o script abaixo:

<?php

define('PAGSEGURO_SANDBOX_MODE', true);

if (PAGSEGURO_SANDBOX_MODE == false) {
    ### MODO PRODUÇÃO ###
	define('PAGSEGURO_EMAIL', 'email_pagseguro@email.com');
	define('PAGSEGURO_TOKEN', 'token_pagseguro');
	define('PAGSEGURO_NOTIFICATION', 'http://loja.exemplo.com/compra/notificacao.php');
	define('PAGSEGURO_SCRIPT', 'https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js');
	define('PAGSEGURO_URL', 'https://ws.pagseguro.uol.com.br/v2/');
} else {
    ### MODO SANDBOX ###
	define('PAGSEGURO_EMAIL', 'email_pagseguro_sandbox@email.com');
	define('PAGSEGURO_TOKEN', 'token_sandbox_pagseguro');
	define('PAGSEGURO_NOTIFICATION', 'http://loja.exemplo.com/compra/notificacao.php');
	define('PAGSEGURO_SCRIPT', 'https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js');
	define('PAGSEGURO_URL', 'https://ws.sandbox.pagseguro.uol.com.br/v2/');
}

Se a constante PAGSEGURO_SANDBOX_MODE for true, então você estará utilizando as constantes em modo de teste. Para desativar, utilize false.

Não altere as constantes PAGSEGURO_SCRIPT e PAGSEGURO_URL, a não ser que a API dp PagSeguro mude as url's. A constante PAGSEGURO_NOTIFICATION é opcional a edição.

Testando o componente

Para testar o componente e suas credênciais do PagSeguro, copie e cole o script abaixo no seu arquivo index.php:

<?php

require 'vendor/autoload.php';
include 'env.php';

use PagSeguroCustomAPI\PagSeguroExamples;

$example = new PagSeguroExamples();

### Você pode utilizar de 1 a 4 no parâmetro do método `test()`
$product = json_decode((new PagSeguroExamples())->test(1));

### Ao invés de variáveis para definir os endpoints, você pode definir constantes para um projeto real
$rota_boleto = "http://rota-para-gerar-boleto";
$rota_cartao = "http://rota-para-gerar-cartao";
$rota_session = "http://rota-para-gerar-session";
$rota_status = "http://rota-para-gerar-status";

?>

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
    <!-- Necessário para aplicar a formatação dos dados -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script>
    <!-- Necessário para aplicar o endereço automaticamente ao preencher o CEP. Os arquivos JS abaixo se encontram na pasta `templates` -->
    <script src='path/cepC.js'></script>
    <script src='path/cepV.js'></script>
</head>

<body>
    <main>
        <!-- Realiza a importação dos produtos de teste -->
        <?php $example->importProducts(); ?>

        <!-- Realiza a importação dos dados do comprador -->
        <?php $example->importBuyer(); ?>

        <!-- Realiza a importação dos métodos de pagamento -->
        <?php $example->importPayments(); ?>
    </main>

    <!-- Realiza a importação dos métodos javascript -->
    <?php $example->importJSMethods(); ?>

</body>

</html>

Os arquivos necessários para um projeto real estão na pasta templates do componente. Copie-os e edite sem alterar a estrutura padrão.

Rotas

Como mostrado no exemplo anterior, o PagSeguro trabalha com endpoints para realizar pagamentos, sessões e status. Abaixo encontra-se um exemplo de como você deve criar as rotas utilizando este componente.

Rota do boleto:

<?php
require_once 'vendor/autoload.php';

use PagSeguroCustomAPI\PagSeguroPayment;

include_once 'env.php';

(new PagSeguroPayment())->getBilletValues((object)filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING));

Rota do cartão de crédito

<?php
require_once 'vendor/autoload.php';

use PagSeguroCustomAPI\PagSeguroPayment;

include_once 'env.php';

(new PagSeguroPayment())->getCardValues((object)filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING));

Rota Session

<?php
require_once 'vendor/autoload.php';

use PagSeguroCustomAPI\PagSeguroSession;

include_once 'env.php';

echo (new PagSeguroSession())->getSession();

Rota Status

<?php
require_once 'vendor/autoload.php';

use PagSeguroCustomAPI\PagSeguroStatus;

include_once 'env.php';

echo (new PagSeguroStatus())->getStatus();

Rota CEP

<?php
$cep = filter_input(INPUT_POST, 'cep');
 
$reg = simplexml_load_file("http://cep.republicavirtual.com.br/web_cep.php?formato=xml&cep=" . $cep);
 
$dados['sucesso'] = (string) $reg->resultado;
$dados['rua']     = (string) $reg->tipo_logradouro . ' ' . $reg->logradouro;
$dados['bairro']  = (string) $reg->bairro;
$dados['cidade']  = (string) $reg->cidade;
$dados['estado']  = (string) $reg->uf;
 
echo json_encode($dados);

License

MIT

brenno-duarte/pagseguro-custom-api 适用场景与选型建议

brenno-duarte/pagseguro-custom-api 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 01 月 31 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 brenno-duarte/pagseguro-custom-api 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 brenno-duarte/pagseguro-custom-api 我们能提供哪些服务?
定制开发 / 二次开发

基于 brenno-duarte/pagseguro-custom-api 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-01-31