You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
O charset padrão ISO-8859-1 deveria ser usado, definido no método post da classe PagSeguro\Resources\Http
Comportamento atual
Sem um charset definido, o request envia o charset vazio e resulta no erro Unsupported Media Type
{"timestamp":"2020-09-05T17:30:30.446+0000","status":415,"error":"Unsupported Media Type","message":"Invalid mime type \"application/x-www-form-urlencoded; charset=\": 'value' must not be empty","path":"/v2/checkout"}
Ambiente (produção, sandbox)
Sandbox
Passos para reproduzir o bug
Instale a lib com o composer
Use variáveis de ambiente para setar as credenciais, mas não sete a variável PAGSEGURO_CHARSET
Tente criar um novo pagamento com quaisquer dados
The text was updated successfully, but these errors were encountered:
Acho que este comportamento está correto pois o parametro CHARSET é obrigado. Basta você definir uma varíavel de ambiente PAGSEGURO_CHARSET: 'UTF-8' ou adicionar o parametro no arquivo de configuração.
@micaelomota pode ser obrigatório pela api, mas o cliente php nesse repositório deveria usar o padrão definido na classe PagSeguro\Resources\Http:
public function post($url, $data = null, $timeout = 20, $charset = 'ISO-8859-1')
O que acontece que é esse método é chamado com uma variável vazia no último parâmetro se o charset não tiver sido definido, ignorando o valor padrão definido no próprio método.
Como o charset vazio está resultando em um mime type quebrado, um envio de um post assim nem deveria ser permitido pela classe. A verificação desse tipo de problema é algo simples de implementar nos testes unitários, mas os testes unitários aqui só verificam a existência de atributos nas classes.
Comportamento esperado
O charset padrão ISO-8859-1 deveria ser usado, definido no método post da classe PagSeguro\Resources\Http
Comportamento atual
Sem um charset definido, o request envia o charset vazio e resulta no erro Unsupported Media Type
{"timestamp":"2020-09-05T17:30:30.446+0000","status":415,"error":"Unsupported Media Type","message":"Invalid mime type \"application/x-www-form-urlencoded; charset=\": 'value' must not be empty","path":"/v2/checkout"}
Ambiente (produção, sandbox)
Sandbox
Passos para reproduzir o bug
The text was updated successfully, but these errors were encountered: