Histórico de mensagens sobre approved

EXIBINDO CONVERSAS RECENTES:

Texto: approved
# cartões
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @695704370158895194! Tudo bem?
Mesmo que a API retorne as respostas em formato JSON, nossa SDK em PHP já faz o tratamento para entregar as informações em um array. Assim, a variável $response será um array.

Quanto ao tratamento dos dados, isso pode variar de acordo com a regra de negócio de cada sistema. Por exemplo, com o método createOneStepCharge($params = [], $body), você está usando o endpoint de criação de cobrança por cartão de crédito em One Step (um passo). A partir do array $response, é possível verificar o status com $response['data']['status'] === 'approved' ou $response['data']['status'] === 'unpaid'. Se a transação for recusada, você pode capturar o motivo e exibir para o cliente com $response['data']['refusal']['reason'].
imagem enviada na mensagem pelo usuario guilherme_efi
imagem enviada na mensagem pelo usuario guilherme_efi

# cartões
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, @leandroberg. Bom dia! Tudo bem?
Sim, o tratamento dos status está correto para o fluxo de criação da cobrança de cartão.
Sugiro apenas acrescentar a informação refusal>reason na sua mensagem de retorno quando o pagamento não for approved. Assim, você poderá mostrar com mais detalhes o motivo da reprovação.
imagem enviada na mensagem pelo usuario guilherme_efi

# cartões
Avatar discord do usuario leandroberg

leandroberg

Boa tarde tudo bem com todos? Poderiam analisar esse try / catch da requisição à API de cartão de crédito e me dizer se está correto por gentileza, se possível me enviar exemplos do tratamento pós-request para que eu possa corrigir meu código em caso de problemas, muito obrigado, segue o código:

try {
$api = new Gerencianet($options);
$response = $api->createOneStepCharge($params = [], $body);
$response_array = json_decode($response, true);


if (json_last_error() === JSON_ERROR_NONE) {

$status = isset($response_array['data']['status']) ? $response_array['data']['status'] : '';

if ($status === 'approved') {

updateOrderDetails($order_id, $_POST['customerName']);

return [
'result' => 'success',
'redirect' => $this->get_return_url(wc_get_order($order_id))
];

} else {

return [
'result' => 'failure',
'message' => 'Payment status is not approved. Current status: ' . $status
];
}

} else {

return [
'result' => 'failure',
'message' => 'Error decoding JSON: ' . json_last_error_msg()
];

}
} catch (GerencianetException $e) {

return [
'result' => 'failure',
'message' => 'Gerencianet Error - Code: ' . $e->code . ', Error: ' . $e->error . ', Description: ' . $e->errorDescription
];

} catch (Exception $e) {

return [
'result' => 'failure',
'message' => 'General Error: ' . $e->getMessage()
];

}

# módulos-plugins
Avatar discord do usuario d3xt3r.com

d3xt3r.com

Ver Respostas

"meta_data": [
{
"id": 533,
"key": "_gn_status_card",
"value": "approved"
},
{
"id": 532,
"key": "_wc_order_attribution_device_type",
"value": "Desktop"
},
{
"id": 530,
"key": "_wc_order_attribution_session_count",
"value": "1"
},
{
"id": 527,
"key": "_wc_order_attribution_session_entry",
"value": "https://loja.cessetembro.com.br/produto/aba-analise-comportamental-do-espectro-autista/"
},
{
"id": 529,
"key": "_wc_order_attribution_session_pages",
"value": "36"
},
{
"id": 528,
"key": "_wc_order_attribution_session_start_time",
"value": "2024-09-05 23:19:21"
},
{
"id": 525,
"key": "_wc_order_attribution_source_type",
"value": "typein"
},
{
"id": 531,
"key": "_wc_order_attribution_user_agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
},
{
"id": 526,
"key": "_wc_order_attribution_utm_source",
"value": "(direct)"
},
{
"id": 522,
"key": "is_vat_exempt",
"value": "no"
}
],

# cartões
Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Bom dia @denerbatista tudo certo?
No momento da criação da cobrança é retornado o status da análise imediata da compra.
Podendos ser:

"status": "approved", // Indica que o pagamento foi aprovado pela operadora do cartão mas ainda não foi creditado.
OU
"status": "unpaid", // Indica que o pagamento foi reprovado.
Na nossa documentação você encontra o exemplo completo:
https://dev.efipay.com.br/docs/api-cobrancas/cartao#cria%C3%A7%C3%A3o-de-cobran%C3%A7a-por-cart%C3%A3o-de-cr%C3%A9dito-em-one-step-um-passo

Além disso, você deve preparar uma rota no seu servidor para receber as atualizações dos status da cobrança, conforme nossa documentação:
https://dev.efipay.com.br/docs/api-cobrancas/notificacoes

# cartões
Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @wevertondumont!
As cobranças de cartão, caso não haja impedimentos, passarão pelos seguintes fluxos até o pagamento:
new -> caso seja criada em dois-passos (two-steps);
waiting -> quando o vínculo de cobrança e cliente é estabelecido ou quando criada em um-passo (one-step);
approved -> quando a operadora de cartão do cliente aprova o pagamento mas o crédito ainda não foi creditado na conta;
paid -> pagamento confirmado.

# cartões
Avatar discord do usuario wevertondumont

wevertondumont

Ver Respostas

Pessoal, atualmente acontece da Efi ao processar pagamento por cartão, ela já retornar como "paid" ou "approved" ou sempre o retorno será "waiting" e só depois que vão realmente processar?

# cartões
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Geralmente, a cobrança muda de "approved" para "paid". No entanto, em alguns casos, pode ir de "approved" diretamente para "unpaid". Isso acontece quando a operadora aprova a transação, mas por algum motivo de antifraude, ela não é confirmada.

# cartões
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Pagamento aprovado. O termo "approved" equivale a "aprovado". Indica que o pagamento foi aprovado pela operadora do cartão mas ainda não foi creditado.
Já o paid, significa que o pagamento foi aprovado e pago e o dinheiro esta como lançamento futuro dentro da sua conta digital.

# cartões
Avatar discord do usuario _acb09

_acb09

Ver Respostas

Perfeito! Então o approved resolve meu problema.

# cartões
Avatar discord do usuario _acb09

_acb09

Ver Respostas

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?

# cartões
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

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.