Code Monkey home page Code Monkey logo

laravel-pix's Introduction

Hello

About me

My name is Mateus, I'm a Laravel programmer at Tighten. I have a Bachelor's degree in computer engineering from State University of Ponta Grossa (UEPG).

I am currently working with Laravel and maintaining open-source packages such as Laravel Kafka.

You can find me on Twitter and Linkedin.

Buy me a coffee!

If you think that my work helped you in any way, you can sponsor me to support my open-source work!

Sponsor Me

🔧 Technologies & Tools

📈 My github stats:

Now playing

spotify-github-profile

laravel-pix's People

Contributors

mateusjunges avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

laravel-pix's Issues

Compatibilidade v5.x

Buenas, obrigado pelo belo trabalho !

Existe pretensão de suporte para as versões anteriores do Laravel ?
Rodei em uma aplicação 5.8 e passei pelo seguinte problema:

>>> $api = Pix::api()->clientId('client_id')->clientSecret('client_secret');
=> Junges\Pix\Api\Api {#3591}
>>> $token = Pix::api()->getOauth2Token()->json();
PHP Error:  Class 'Illuminate/Support/Facades/Http' not found in /var/www/fotografoem/vendor/mateusjunges/laravel-pix/src/Api/Auth.php on line 33

Essa classe só existe a partir de v7, segue link da última release da v6 que não possui ainda:
https://github.com/laravel/framework/tree/v6.20.37/src/Illuminate/Support/Facades

Ajuda.

Cara Boa tarde, sou programador SourcePawn, não intendo nada de PHP ou Laravel ,teria como integrar esse sistema pix como forma de pagamento em https://github.com/Azuriom/Plugin-Shop ? já tem outras formas de pagamento porem nenhuma maleável como pix , teria que ter um aguarde na compra ate a confirmação que o pix foi realizado .

Falta de validação entrada

Fala dev beleza?

Cara seria interessante validar parâmetro $type em relação a um conjunto predefinido de tipos de chave antes de usá-lo, isso ajuda evitar possíveis vulnerabilidades de segurança, como injeção de código.

Por exemplo:

class Validator implements PerformKeyValidations
{
const ALLOWED_KEY_TYPES = [
Pix::RANDOM_KEY_TYPE,
Pix::CPF_KEY_TYPE,
Pix::CNPJ_KEY_TYPE,
Pix::EMAIL_KEY_TYPE,
Pix::PHONE_NUMBER_KEY_TYPE,
];

public static function validate(string $type, string $key): bool
{
    if (!in_array($type, self::ALLOWED_KEY_TYPES)) {
        throw InvalidPixKeyException::invalidKeyType($type);
    }

    switch ($type) {
        case Pix::RANDOM_KEY_TYPE:
            return self::validateRandom($key);
        case Pix::CPF_KEY_TYPE:
            return self::validateCPF($key);
        case Pix::CNPJ_KEY_TYPE:
            return self::validateCnpj($key);
        case Pix::EMAIL_KEY_TYPE:
            return self::validateEmail($key);
        case Pix::PHONE_NUMBER_KEY_TYPE:
            return self::validatePhoneNumber($key);
        default:
            throw InvalidPixKeyException::invalidKeyType($type);
    }
}

}

Adicionei um array constante chamado ALLOWED_KEY_TYPES, que contém todos os tipos de chave válidos. Quando o método de validação é chamado, ele primeiro verifica se o $type fornecido está presente na lista de tipos de chave permitidos. Caso contrário, ele lança uma InvalidPixKeyException para tratar adequadamente a entrada inválida. Isso permite que apenas chaves legítimas sejam aceitas para validação.

`withAdditionalParams()` causa PHPStan e Intelephense a não encontrarem métodos que sejam chamados em sequência

Em situações como:

$cob = Pix::cob()
      ->create($txid, $array)->json();

Causam problemas se forem como:

$cob = Pix::cob()
      ->withAdditionalParams(['key' => 'value'])
      ->create($txid, $array)->json();

Screen Shot 2022-06-14 at 14 20 20

No Larastan (nível 2+):

Call to an undefined method Junges\Pix\Api\Api::create().  

Nesse caso, fiquei em dúvida se algum PHPDoc está errado ou ausente para que não haja essas inconsistências.

Certificados

Olá amigo,

estou tentando usar o seu projeto, e parei no apontamento dos certificados, são dois um com extensão PEM e outro KEY...

esta apresentando um erro..

[2022-05-03 23:19:27] local.ERROR: cURL error 58: could not load PEM client certificate, OpenSSL error error:02001003:system library:fopen:No such process, (no key found, wrong pass phrase, or wrong file format?) (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://secure.sandbox.api.pagseguro.com/pix/oauth2 {"exception":"[object] (GuzzleHttp\Exception\RequestException(code: 0): cURL error 58: could not load PEM client certificate, OpenSSL error error:02001003:system library:fopen:No such process, (no key found, wrong pass phrase, or wrong file format?) (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://secure.sandbox.api.pagseguro.com/pix/oauth2 at C:\Users\fernando.bsantos\Sistemas\Eaite\simulacao\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:211)

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.