jhernandes / ipag-sdk-php

SDK do iPag para Plataformas PHP
MIT License
7 stars 4 forks source link

Adicionar `http_build_query` no `$this->httpPostFields` em `CurlOnlyPostHttpClient.php` #20

Closed edson-nascimento closed 1 month ago

edson-nascimento commented 1 year ago

Eu estendi a classe IpagResource para implementar alguns outros endpoints da api, mas estou com um problema, pois a CurlOnlyPostHttpClient não está serializando o body da maneira correta quando o array tem mais de um nível Ex

$body = [
    "http_method" =>"POST",
    "url" => "https://minhaloja.com.br/callback",
    "description" => "Webhook para receber notificações de atualização das transações",
    "actions" => [
        "TransactionCreated",
        "TransactionWaitingPayment",
        "TransactionCanceled",
        "TransactionPreAuthorized",
        "TransactionCaptured",
        "TransactionDenied",
        "TransactionDisputed",
        "TransactionChargedback"
    ]
];
$this->sendHttpRequest($this->generateEndpoint('/service/resources/webhooks'), $body);

Nesse caso não serializa o actions.

https://github.com/jhernandes/ipag-sdk-php/blob/5dce20e0c17349c3418c73a0fb10adecfe28f4b4/src/Ipag/Classes/Http/CurlOnlyPostHttpClient.php#L23-L30

Sugestão usar http_build_query na linha 26 para serializar automaticamente todos os níveis.

$this->httpPostFields = http_build_query($fields);

Eu não fiz o pull request, pois não sei se essa alteração afeta alguma regra da api de vocês.

jhernandes commented 11 months ago

Oi @edson-nascimento este projeto foi abandonado. Sugiro utilizar o SDK oficial do iPag:

https://github.com/ipagdevs/ipag-sdk-php

Att,