API-3.0-PHP icon indicating copy to clipboard operation
API-3.0-PHP copied to clipboard

Cartão de Débito: retorno da URL de autenticação não implementado, retorna sempre nulo

Open felipe-rria opened this issue 5 years ago • 6 comments

O seguinte código no exemplo de transações com cartão de débito, sempre retorna nula a URL de autenticação. Pelo que verifiquei no fonte do SDK, o método que seta o valor dessa URL não é chamado, ou seja, essa funcionalidade não está devidamente implementada. Mas pode ser também um erro na API principal.

// Utilize a URL de autenticação para redirecionar o cliente ao ambiente // de autenticação do emissor do cartão $authenticationUrl = $sale->getPayment()->getAuthenticationUrl();

felipe-rria avatar May 02 '19 12:05 felipe-rria

O readme está incompleto nesta parte: Ajuste para isto, e vai funcionar.

$payment->setAuthenticate(TRUE)
               ->setType( Payment::PAYMENTTYPE_DEBITCARD )
               ->debitCard($data->creditCardCvv, cielo::CARD_FLAGS[$keyFlag])
               ->setExpirationDate( "$data->creditCardMonth/$data->creditCardYear" )
               ->setCardNumber($data->creditCardNumber)
               ->setHolder($data->creditCardName);

Precisa ser passado: ->setAuthenticate(TRUE) ->setType( Payment::PAYMENTTYPE_DEBITCARD )

wavezdigital avatar Jun 06 '19 12:06 wavezdigital

Aproveitando esta thread, tenho outra dúvida (caso não seja o lugar apropriado, peço desculpas). Depois que pego a url de autenticação, eu vou até ela e peço pra autorizar, então ela me retorna um post com o payment id. Mas quando peço pra não autorizar, volta o mesmo post com o payment ID. Como vou saber quando está autorizado ou não?

mercynet avatar Dec 18 '19 18:12 mercynet

Quando você cria uma transação no débito no retorno da requisição se ocorrer tudo certo já vai existir o payment id Então a qualquer momento você pode fazer uma consulta com o payment id e checar se o status da transação esta pago.

$cieloEcommerce->getSale($paymentId);

edson-nascimento avatar Dec 18 '19 19:12 edson-nascimento

Muito obrigado pelo retorno.

Então eu deveria fazer um cron ou algo assim para validar essa compra? Então se o usuário não colocar a senha corretamente, ou não tiver saldo, etc, existe algum tipo de especificação?

mercynet avatar Dec 18 '19 20:12 mercynet

Então é normal que o post de retorno do Provider tenha somente o payment id? Daí eu faço uma pesquisa com ele pra ver se o usuário finalizou o pagamento. É isso, não é?

mercynet avatar Dec 18 '19 20:12 mercynet

Então é normal que o post de retorno do Provider tenha somente o payment id? Daí eu faço uma pesquisa com ele pra ver se o usuário finalizou o pagamento. É isso, não é?

Isso mesmo, no seu ReturnUrl você deve fazer uma consulta para verificar o status da transação, também é bom ter uma cron verificando, caso haja algum problema no processo de retorno.

edson-nascimento avatar Dec 19 '19 11:12 edson-nascimento