pagarme / pagarme-php

:blue_heart: Pagar.me's PHP API
352 stars 148 forks source link

API V5 - Autenticação com Credenciais secret e public key #391

Open lucasantoniooficial opened 2 years ago

lucasantoniooficial commented 2 years ago

Contexto

Estou tentando com este pacote fazer autenticação da nova API a V5 e me parece que não está sendo possível, tem alguma coisa sobre a autenticação com as novas credenciais ?

Lá no dashboard nos dá: Chave pública, Chave Secreta e Id da conta.

Ambiente

Não é um bug, estou querendo informações.

grbruno commented 2 years ago

Também estou com o mesmo problema, me parece que a API V5 somente é compatível com a seguinte Lib (https://github.com/pagarme/pagarme-core-api-php).

devnaelson commented 2 years ago

Esse Repo vai para V5? Já tentou selecionar o V5 no dasboard?

grbruno commented 2 years ago

Esse Repo vai para V5? Já tentou selecionar o V5 no dasboard?

A dashboard da conta 2.0 do PagarMe não tem a opção de selecionar a versão da API.

E as credenciais (login e senha) de uma conta 2.0 não funcionam na dashboard do seguinte link: https://dashboard.pagar.me/#/

lucasantoniooficial commented 2 years ago

Eu tive que criar todos os métodos na mão, não tem SDK ainda compatível com a Pagar-me

kleberco commented 2 years ago

@lucasantoniooficial será que você poderia colocar uma amostrar de como fazer a chamado do pedido? Estou tendo que alterar da V1.0 para a V2.0 (como o pessoal do suporte chama) e estive batendo cabeça sem conseguir fazer a chamada.

grbruno commented 2 years ago

Eu consegui fazer a integração no Laravel utilizando a versão nova da SDK (que é compatível com o PagarMe 2.0). https://github.com/pagarme/pagarme-core-api-php

A documentação da SDK nova é ruim de ler e entender, então fiz a leitura dos métodos e classes, seguindo a documentação oficial no site do PagarMe.

rodrichard commented 2 years ago

@lucasantoniooficial será que você poderia colocar uma amostrar de como fazer a chamado do pedido? Estou tendo que alterar da V1.0 para a V2.0 (como o pessoal do suporte chama) e estive batendo cabeça sem conseguir fazer a chamada.

Bem, passei pelo mesmo 'problema' e após a resposta do suporte oficial me foi de grande utilidade. Não há nada errado no lado da Pagarme, e sim na forma como enviamos o header com a autenticação. Essa foi a resposta oficial do time de suporte com algumas alterações: (...) a autenticação é realizada no padrão Basic Auth e a chave do cliente deve ir no campo de usuário, com senha vazia. Neste caso, a CHAVE SECRETA é nosso usuário. Exemplo se a chave for abc:

  1. Concatenamos o caractere : (dois pontos) no final - esse caractere indica a separação entre usuário e senha; neste caso, não há senha.
  2. Codifica-se abc: em base64, gerando a string YWJiOg==
  3. Com isso, temos o header 'Authorization: Basic YWJiOg=='

(...) Isso pode ajudar quem está passando pelo mesmo problema assim como eu. Seria muito vantajoso para todos se a documentação fosse mais clara sobre a senha vazia

julioccguimaraes commented 2 years ago

Eu fiz as integrações para Cartão de Crédito, Boleto e Pix usando o SDK para a V5. Achei muito mais fácil e simples a integração em comparação com a SDK antiga. Eles já disponibilizaram exemplos de como criar pedidos https://github.com/pagarme/pagarme-core-api-php/tree/main/examples/order

Só atente para as linhas de autenticação:

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$apiclient = new PagarmeCoreApiLib\PagarmeCoreApiClient($basicAuthUserName, $basicAuthPassword);

deveria ficar assim:

PagarmeCoreApiLib\Configuration::$basicAuthUserName = 'chave_secreta';
PagarmeCoreApiLib\Configuration::$basicAuthPassword = '';

$apiClient = new PagarmeCoreApiLib\PagarmeCoreApiClient();