bacen / pix-api

API Pix: a API do Arranjo de Pagamentos Instantâneos Brasileiro, Pix, criado pelo Banco Central do Brasil.
https://bacen.github.io/pix-api
2.36k stars 268 forks source link

[DÚVIDA] Endpoint: GET Recuperar o payload JSON que representa a cobrança. #135

Closed rodrigoma closed 4 years ago

rodrigoma commented 4 years ago

Pelo entendimento o path parameters pixUrlAccessToken é o campo location retornada na criação da cobrança.

no exemplo de retorno da criação de cobrança é algo desse tipo "location": "pix.example.com/qr/9d36b84f-c70b-478f-b95c-12729b90ca25"

minha duvida é no conteúdo desse pixUrlAccessToken que vai ser passado pro endpoint de GET

pegando ainda o exemplo de path completo desse endpoint é esse https://{fdqnPSPRecebedor}/{pixEndpoint}/v1/{pixUrlAcessToken}

o replace do pixUrlAcessToken ficaria assim? https://{fdqnPSPRecebedor}/{pixEndpoint}/v1/pix.example.com/qr/9d36b84f-c70b-478f-b95c-12729b90ca25

ou assim? https://{fdqnPSPRecebedor}/{pixEndpoint}/v1/9d36b84f-c70b-478f-b95c-12729b90ca25

Obrigado!

ninrod commented 4 years ago

@rodrigoma ,

https://{fdqnPSPRecebedor}/{pixEndpoint}/v1/9d36b84f-c70b-478f-b95c-12729b90ca25

ficaria assim:

fdqnPSPRecebor = full qualified domain name PSP recebedor, e.g. server.preferido.example.com pixEndpoint = qualquer path que se queira utilizar, por exemplo /pix, ou pode ser nada mesmo. v1 = v2 (porque não tem mais v1 a partir da 2.1.x pixUrlAcessToken = 9d36b84fc70b478fb95c12729b90ca25 (não precisa ter o hífen. removendo a pontuação ganha-se 4 caracteres neste caso).

resultado:

  1. server.preferido.example.com/pix/v2/9d36b84fc70b478fb95c12729b90ca25

com pixEndpoint = nada:

  1. server.preferido.example.com/v2/9d36b84fc70b478f-b95c12729b90ca25

1. e 2. são exemplos de locations válidas.

Essas strings que listei em 1. e 2. efetivamente serão renderizadas no QR Code dinâmico em um campo que tem limite máximo de 77 caracteres.

o fragmento https://, 8 caracteres, encontra-se fora desta string e deve ser deduzido pelo software do PSP pagador.

Exemplo de locations inválidos:

  1. esse.domain.name.eh.muito.grande.e.com.certeza.viola.o.limite.de.77.caracteres.example.com/v2/9d36b84fc70b478fb95c12729b90ca25 -> viola o limite de 77 caracteres do QR Dinâmico.

  2. example.com/9d36b84fc70b478fb95c12729b90ca25 -> não apresenta o fragmento v2.

  3. example.com/9d36b84fc70b478fb95c12729b90ca25/v2 -> apresenta o fragmento v2 em poisção incorreta.

  4. example.com/v2/esse-fragmento-nao-pode-ficar-aqui/meu9d36b84fc70b478fb95c12729b90ca25 -> apresenta o fragmento v2 em posição incorreta, inverte o {pixEndpoint} com o v2.

rodrigoma commented 4 years ago

Obrigado pela resposta!

ninrod commented 4 years ago

Obrigado pela resposta!

Apenas complementando:

Essas duas location são válidas e diferentes:

example.com/1/v2/9d36b84fc70b478fb95c12729b90ca25

e

example.com/2/v2/9d36b84fc70b478fb95c12729b90ca25