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

SecurityCode length exceeded em cartão tokenizado

Open andelorme opened this issue 6 years ago • 4 comments

Olá, de uns tempos pra cá percebemos que nossas operações de débito utilizando cartões tokenizados retornam o erro "SecurityCode length exceeded". Isso não acontecia antes e agora está ocorrendo em todos os cartões tokenizados (mesmo aqueles que já funcionavam nessa modalidade antes). Revi todo o processo e não encontrei justificativa para esse comportamento. Os cartões funcionam perfeitamente na modalidade crédito. Abaixo o trecho em que o cartão é tokenizado:

$card = new CreditCard(); if($this->user->razao_social) $card->setCustomerName($this->user->razao_social ); else $card->setCustomerName($this->user->firstname . ' ' . $this->user->lastname ); $card->setCardNumber($ccNumber); $card->setHolder($ccNome); $card->setExpirationDate($ccMonth.'/'.$ccYear); $card->setBrand($ccProcessor); if($ccCvv) $card->setSecurityCode($ccCvv);

Mesmo para operações de débito o cartão era tokenizado dessa forma e funcionava.

A venda é realizada pelo trecho abaixo:

$merchant = new Merchant($this->merchant_id, $this->merchant_key); $sale = new Sale($transaction->id);

$customer = $sale->customer($this->user->firstname . ' ' . $this->user->lastname);

$payment = $sale->payment($transaction->value * 100);

$ccProcessor = null;

switch ($credit_card->processor) { case 'MASTERCARD': $ccProcessor = CreditCard::MASTERCARD; break; case 'AMERICAN EXPRESS': $ccProcessor = CreditCard::AMEX; break; case 'ELO': $ccProcessor = CreditCard::ELO; break; case 'VISA': $ccProcessor = CreditCard::VISA; break; }

if ($request->input('credito_debito') == 'D') { $payment->setReturnUrl('http://...); $payment->setAuthenticate(true); $payment->setType(Payment::PAYMENTTYPE_DEBITCARD); $payment->debitCard($transaction->id, $ccProcessor) ->setCardToken($credit_card->token); } else { $payment->setType(Payment::PAYMENTTYPE_CREDITCARD) //->creditCard($transaction->id, $ccProcessor) ->creditCard(null, $ccProcessor) ->setCardToken($credit_card->token); }

try {

$sale = (new CieloEcommerce($merchant, $this->environment))->createSale($sale); $paymentId = $sale->getPayment()->getPaymentId();

} catch (CieloRequestException $e) {

$error = $e->getCieloError();

return response()->json(json_encode($error), 422); }

Achei esse comportamento estranho porque de repente parace que parou sem termos feito nada.

Obrigado.

andelorme avatar Oct 22 '19 03:10 andelorme

@andelorme Boa Tarde!

O erro pode estar acontecendo no código de segurança do cartão, lembrando que ele só aceita no máximo 4 números, você chegou a verificar?

Att Ahmad Abdouni

ahmadabdouni avatar Jan 21 '20 16:01 ahmadabdouni

Também estou tendo o mesmo problema de SecurityCode length exceeded

gildonei avatar Aug 12 '20 20:08 gildonei

Não me recordo como resolvi isso. Mas o problema era outro. Esse código de erro me despistou do problema real que era alguma coisa bem boba. Reveja seus dados, se estiver usando sandbox, renove a chave e refaça o processo.

Em qua, 12 de ago de 2020 17:12, Gildonei Mendes Anacleto Junior < [email protected]> escreveu:

Também estou tendo o mesmo problema de SecurityCode length exceeded

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DeveloperCielo/API-3.0-PHP/issues/159#issuecomment-673086379, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGIQJFBFJN5FHBAYYRUMKTSALZRFANCNFSM4JDKERHQ .

andelorme avatar Aug 13 '20 14:08 andelorme

Não me recordo como resolvi isso. Mas o problema era outro. Esse código de erro me despistou do problema real que era alguma coisa bem boba. Reveja seus dados, se estiver usando sandbox, renove a chave e refaça o processo. Em qua, 12 de ago de 2020 17:12, Gildonei Mendes Anacleto Junior < [email protected]> escreveu: Também estou tendo o mesmo problema de SecurityCode length exceeded — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#159 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGIQJFBFJN5FHBAYYRUMKTSALZRFANCNFSM4JDKERHQ .

Obrigado pela dica de que tinha resolvido. Dei uma revisada aqui com mais calma e observei que a bandeira estava indo trocada e por isso validou a quantidade de caracteres do CVV de forma errônea

gildonei avatar Aug 13 '20 16:08 gildonei