Erro ao Estornar Cobrança com SDK PHP

EXIBINDO RESPOSTAS:

Avatar discord do usuario _acb09

_acb09

Estou implementando a validação do cartão de crédito com o SDK, ou seja:
Cobrar 3 reais e estornar.

Ao cobrar está dando certo, porém ao estornar eu recebo:

ErrorException {#1983 // app\Http\Controllers\Api\Checkout\CreditCardController.php:99
#message: "Undefined array key "refundCharge""
#code: 0

Avatar discord do usuario _acb09

_acb09

Uma outra dúvida: Em qual estágio (identified, approved ou paid) do pagamento por cartão de crédito, eu estou seguro para liberar o acesso do usuário?

Avatar discord do usuario igor_efi

igor_efi

Boa tarde, @_acb09! Tudo bem? Qual a versão da SDK que você esta utilizando?

Avatar discord do usuario igor_efi

igor_efi

O correto seria quando a cobrança é alterado para paid.

Avatar discord do usuario _acb09

_acb09

"efipay/sdk-php-apis-efi": "^1.9",

Avatar discord do usuario _acb09

_acb09

Mas suponha que o usuário clica em confirmar pagamento! Quanto tempo levaria para o staus 'paid' acontecer? Pois eu recebo direto o 'approved'

Avatar discord do usuario igor_efi

igor_efi

@_acb09, a versão da SDK de php 1.9 ja possui a função refundCard

Avatar discord do usuario igor_efi

igor_efi

Não existe um tempo estimado, mas o paid é quando o dinheiro cai em sua conta.

Avatar discord do usuario _acb09

_acb09

Mas eu apenas chamei a função da própria SDK

$params = ["id" => (string) $chargeId];
$body = ["amount" => $amount];
$response = $this->api->refundCharge($params, $body);
return $response->body;

Avatar discord do usuario _acb09

_acb09

Mas isto não costuma levar até 18 dias? Por que tem a aprovação, e somente depois de 18 dias, eu acho, que o valor é realmente creditado?

Avatar discord do usuario igor_efi

igor_efi

O dinheiro cai na conta, mas fica como lançamento futuro e ai você so consegue movimenta-lo após ele entrar em seu extrato.
O status paid é alterado no momento em que este recebimento entra em lançamento futuro, ja status approved "pagamento aprovado" indica que o pagamento foi aprovado pela operadora do cartão mas ainda não foi creditado.

Avatar discord do usuario _acb09

_acb09

Certo, então o "approved" resolve meu problema tendo a certeza que o dinheiro vai cair (a menos que o cliente conteste a compra). Correto? ou existe alguma outra possibilidade de não cair o dinheiro após um "approved", sem ser pelo cliente?

Avatar discord do usuario igor_efi

igor_efi

Isso mesmo, ele so altera caso ocorra alguma contestação por parte do seu cliente.

Avatar discord do usuario _acb09

_acb09

Perfeito! Então o approved resolve meu problema.

Avatar discord do usuario _acb09

_acb09

Quanto ao erro do refunded, você tem alguma ideia do que poderia estar acontecendo?

Avatar discord do usuario rubenskuhl

rubenskuhl

Pode não cair se o anti-fraude barrar

Avatar discord do usuario _acb09

_acb09

@igor_efi - Passando apenas para informar, que, o motivo deste erro, foi chamar refundCharge ao invés de refundCard, visto que o pagamento foi feito pelo cartão de crédito.