Module: BraspagRails
- Extended by:
- BraspagRails
- Included in:
- BraspagRails
- Defined in:
- lib/braspag_rails/base.rb,
lib/braspag_rails/util.rb,
lib/braspag_rails/codigos.rb,
lib/braspag_rails/railtie.rb,
lib/braspag_rails/version.rb,
lib/braspag_rails/consultas.rb,
lib/braspag_rails/generator.rb,
lib/braspag_rails/action_controller.rb,
lib/braspag_rails/transacoes/debito.rb,
lib/braspag_rails/transacoes/fraude.rb,
lib/braspag_rails/transacoes/credito.rb
Defined Under Namespace
Modules: ActionController, Transacao Classes: Consulta, InstallGenerator, MissingConfigurationError, MissingEnvironmentError, Railtie, Util
Constant Summary collapse
- CODIGOS_RETORNO_AUTORIZACAO =
{ 2 => "Não autorizada", 4 => "Operação realizada com sucesso", 57 => "Cartão expirado", 70 => "Problemas com o cartão de crédito", 77 => "Cartão cancelado", 78 => "Cartão bloqueado", 99 => "Timed Out" }
- STATUS_RETORNO_AUTORIZACAO =
{ 0 => "Transação capturada", 1 => "Transação autorizada, pendente de captura.", 2 => "Transação não autorizada, pela adquirente.", 3 => "Transação com erro desqualificante.", 4 => "Transação aguardando resposta." }
- STATUS_RETORNO_CAPTURA =
{ 0 => "Sucesso", 2 => "Negada" }
- STATUS_TRANSACAO =
{ 0 => "A transação está com status indefinido", 1 => "A transação foi capturada", 2 => "A transação foi autorizada", 3 => "A transação não foi autorizada", 4 => "A transação foi cancelada", 5 => "A transação foi estornada", 6 => "A transação está aguardando resposta", 7 => "A transação foi desqualificada" }
- PLANOS_DE_PAGAMENTO =
{ 0 => "À vista", 1 => "Parcelado pelo estabelecimento", 2 => "Parcelado pelo emissor do cartão", 3 => "Parcelado IATA pelo estabelecimento", 4 => "Parcelado IATA pelo emissor do cartão", 5 => "À vista, com IATA", :a_vista => 0, :parcelado_pelo_estabelecimento => 1, :parcelado_pelo_emissor_do_cartao => 2, :parcelado_IATA_pelo_estabelecimento => 3, :parcelado_IATA_pelo_emissor_do_cartao => 4, :a_vista_com_IATA => 5 }
- MEIOS_DE_PAGAMENTO =
{ 6 => "Boleto Bradesco", 7 => "Boleto Caixa Econômica Federal ", 8 => "Boleto HSBC", 9 => "Boleto Banco do Brasil ", 10 => "Boleto Real ABN AMRO ", 13 => "Boleto Citibank", 14 => "Boleto Itaú", 123 => "Cielo Visa Electron", 124 => "Boleto Santander", 500 => "Cielo VISA", 501 => "Cielo MASTERCARD", 502 => "Cielo AMEX", 503 => "Cielo DINERS", 504 => "Cielo ELO", 505 => "Banorte VISA", 506 => "Banorte MASTERCARD ", 507 => "Banorte DINERS", 508 => "Banorte AMEX", 509 => "Redecard Webservice VISA ", 510 => "Redecard Webservice MASTERCARD ", 511 => "Redecard Webservice DINERS ", 512 => "PagosOnLine VISA ", 513 => "PagosOnLine MASTERCARD ", 514 => "PagosOnLine AMEX ", 515 => "PagosOnLine DINERS ", 516 => "Payvision VISA", 517 => "Payvision MASTERCARD", 518 => "Payvision DINERS", 519 => "Payvision AMEX", 520 => "Banorte Cargos Automáticos VISA ", 521 => "Banorte Cargos Automáticos MASTERCARD ", 523 => "AMEX 2P", 524 => "SITEF VISA", 525 => "SITEF MASTERCARD", 526 => "SITEF AMEX", 527 => "DITEF DINERS", 528 => "SITEF HIPERCARD", 529 => "SITEF LEADER", 530 => "SITEF AURA", 531 => "SITEF SANTANDER VISA", 532 => "SITEF SANTANDER MASTERCARD ", 533 => "ONEBUY", 535 => "SUB1 – VISA", 536 => "SUB1 – MASTERCARD", 537 => "SUB1 - AMEX", 538 => "SUB1 – DINERS", 539 => "SITEF SONDA", 540 => "SUB1 – NARANJA", 541 => "SUB1 – NEVADA", 542 => "SUB1 – CABAL", 543 => "Cielo DISCOVER", 544 => "Cielo JCB", 545 => "Cielo AURA", 546 => "Cartão Presente/Alelo", 548 => "Redecard Hipercard", 997 => "Cartão de Teste" }
- STATUS_RETORNO_ANTIFRAUDE =
{ 500 => "Started", 501 => "Accept", 502 => "Review", 503 => "Reject", 504 => "Pendent", 505 => "Unfinished", 506 => "Aborted" }
- CODIGOS_DECISAO_ANTIFRAUDE =
{ "Accept" => "ACCEPT", "Error" => "ERROR", "Reject" => "REJECT", "Review" => "REVIEW" }
- RAZOES_ANTIFRAUDE =
{ 100 => "Operação bem sucedida.", 101 => "O pedido está faltando um ou mais campos necessários. Possível ação: Veja os campos que estão faltando na lista AntiFraudResponse.MissingFieldCollection. Reenviar o pedido com a informação completa.", 102 => "Um ou mais campos do pedido contêm dados inválidos. Possível ação: Veja os campos inválidos na lista AntiFraudResponse.InvalidFieldCollection. Reenviar o pedido com as informações corretas.", 150 => "Falha no sistema geral. Possível ação: Aguarde alguns minutos e tente reenviar o pedido.", 151 => "O pedido foi recebido, mas ocorreu time-out no servidor. Este erro não inclui time-out entre o cliente e o servidor. Possível ação: Aguarde alguns minutos e tente reenviar o pedido.", 152 => "O pedido foi recebido, mas ocorreu time-out. Possível ação: Aguarde alguns minutos e reenviar o pedido.", 202 => "CyberSource recusou o pedido porque o cartão expirou. Você também pode receber este código se a data de validade não coincidir com a data em arquivo do banco emissor. Se o processador de pagamento permite a emissão de créditos para cartões expirados, a CyberSource não limita essa funcionalidade. Possível ação: Solicite um cartão ou outra forma de pagamento.", 231 => "O número da conta é inválido. Possível ação: Solicite um cartão ou outra forma de pagamento.", 234 => "Há um problema com a configuração do comerciante na CyberSource. Possível ação: Não envie o pedido. Entre em contato com o Suporte ao Cliente para corrigir o problema de configuração.", 400 => "A pontuação de fraude ultrapassa o seu limite. Possível ação: Reveja o pedido do cliente.", 480 => "O pedido foi marcado para revisão pelo Gerenciador de Decisão.", 481 => "O pedido foi rejeitado pelo Gerenciador de Decisão." }
- FATORES_DE_RISCO =
{ "A" => "Mudança de endereço excessiva. O cliente mudou o endereço de cobrança duas ou mais vezes nos últimos seis meses.", "B" => "BIN do cartão ou autorização de risco. Os fatores de risco estão relacionados com BIN de cartão de crédito e/ou verificações de autorização do cartão.", "C" => "Elevado números de cartões de créditos. O cliente tem usado mais de seis números de cartões de créditos nos últimos seis meses." , "D" => "Impacto do endereço de e-mail. O cliente usa um provedor de e-mail gratuito ou o endereço de email é arriscado." , "E" => "Lista positiva. O cliente está na sua lista positiva.", "F" => "Lista negativa. O número da conta, endereço, endereço de e-mail ou endereço IP para este fim aparece sua lista negativa.", "G" => "Inconsistências de geolocalização. O domínio do cliente de e-mail, número de telefone, endereço de cobrança, endereço de envio ou endereço IP é suspeito." , "H" => "Excessivas mudanças de nome. O cliente mudou o nome duas ou mais vezes nos últimos seis meses." , "I" => "Inconsistências de internet. O endereço IP e de domínio de e-mail não são consistentes com o endereço de cobrança." , "N" => "Entrada sem sentido. O nome do cliente e os campos de endereço contém palavras sem sentido ou idioma." , "O" => "Obscenidades. Dados do cliente contém palavras obscenas.", "P" => "Identidade morphing. Vários valores de um elemento de identidade estão ligados a um valor de um elemento de identidade diferentes. Por exemplo, vários números de telefone estão ligados a um número de conta única.", "Q" => "Inconsistências do telefone. O número de telefone do cliente é suspeito." , "R" => "Ordem arriscada. A transação, o cliente e o lojista mostram informações correlacionadas de alto risco." , "T" => "Cobertura Time. O cliente está a tentar uma compra fora do horário esperado." , "U" => "Endereço não verificável. O endereço de cobrança ou de entrega não pode ser verificado." , "V" => "Velocity. O número da conta foi usado muitas vezes nos últimos 15 minutos.", "W" => "Marcado como suspeito. O endereço de cobrança ou de entrega é semelhante a um endereço previamente marcado como suspeito." , "Y" => "O endereço, cidade, estado ou país dos endereços de cobrança e entrega não se correlacionam.", "Z" => "Valor inválido. Como a solicitação contém um valor inesperado, um valor padrão foi substituído. Embora a transação ainda possa ser processada, examinar o pedido com cuidado para detectar anomalias." }
- INFORMACAO_ENDERECO =
{ "COR-BA" => "O endereço de cobrança pode ser normalizado.", "COR-SA" => "O endereço de entrega pode ser normalizado.", "INTL-BA" => "O país de cobrança é fora dos U.S.", "INTL-SA" => "O país de entrega é fora dos U.S.", "MIL-USA" => "Este é um endereço militar nos U.S.", "MM-A" => "Os endereços de cobrança e entrega usam nomes de ruas diferentes.", "MM-BIN" => "O BIN do cartão (os seis primeiros dígitos do número) não corresponde ao país.", "MM-C" => "Os endereços de cobrança e entrega usam cidades diferentes.", "MM-CO" => "Os endereços de cobrança e entrega usam países diferentes.", "MM-ST" => "Os endereços de cobrança e entrega usam estados diferentes.", "MM-Z" => "Os endereços de cobrança e entrega usam códidos postais diferentes.", "UNV-ADDR" => "O endereço é inverificável." }
- INFORMACAO_EMAIL =
{ "FREE-EM" => "O endereço de e-mail do cliente é de um provedor de e-mail gratuito.", "INTL-IPCO" => "O país do endereço de e-mail do cliente é fora do U.S.", "INV-EM" => "O endereço de e-mail do cliente é inválido.", "MM-EMBCO" => "O domínio do endereço de e-mail do cliente não é consistente com o país do endereço de cobrança.", "MM-IPBC" => "O endereço de e-mail do cliente não é consistente com a cidade do endereço de cobrança.", "MM-IPBCO" => "O endereço de e-mail do cliente não é consistente com a país do endereço de cobrança.", "MM-IPBST" => "O endereço IP do cliente não é consistente com o estado no endereço de cobrança. No entanto, este código de informação não pode ser devolvido quando a inconsistência é entre estados imediatamente adjacentes.", "MM-IPEM" => "O endereço de e-mail do cliente não é consistente com o endereço IP.", "RISK-EM" => "O domínio do e-mail do cliente (por exemplo, mail.example.com) está associada com alto risco.", "UNV-NID" => "O endereço IP do cliente é de um proxy anônimo. Estas entidades escondem completamente informações sobre o endereço de IP.", "UNV-RI400SK" => "O endereço IP é de origem de risco.", "UNV-EMBCO" => "O país do endereço do cliente de e-mail não corresponde ao país do endereço de cobrança." }
- INFORMACAO_SUSPEITAS =
{ "BAD-FP" => "O dispositivo é arriscado.", "INTL-BIN" => "O cartão de crédito foi emitido fora dos U.S.", "MM-TZTLO" => "Fuso horário do dispositivo é incompatível com os fusos horários do país.", "MUL-EM" => "O cliente tem usado mais de quatro endereços de email diferentes.", "NON-BC" => "A cidade de cobrança é um desconhecida.", "NON-FN" => "O primeiro nome do cliente é desconhecido.", "NON-LN" => "O último nome do cliente é desconhecido.", "OBS-BC" => "A cidade de cobrança contem obscenidades.", "OBS-EM" => "O endereço de e-mail contem obscenidades.", "RISK-AVS" => "O resultado do teste combinado AVS e endereço de cobrança normalizado são arriscados, o resultado AVS indica uma correspondência exata, mas o endereço de cobrança não é entrega normalizada.", "RISK-BC" => "A cidade de cobrança possui caracteres repetidos.", "RISK-BIN" => "No passado, este BIN do cartão de crédito (os seis primeiros dígitos do número do cartão) mostrou uma elevada incidência de fraude.", "RISK-DEV" => "Algumas das características do dispositivo são arriscadas.", "RISK-FN" => "Nome e sobrenome do cliente contêm combinações de letras improváveis.", "RISK-LN" => "Nome do meio ou o sobrenome do cliente contém combinações de letras improváveis.", "RISK-PIP" => "O endereço IP do proxy é arriscado.", "RISK-SD" => "A inconsistência nos países de cobrança e entrega é arriscado.", "RISK-TB" => "O dia e a hora da ordem associada ao endereço de cobrança é arriscado.", "RISK-TIP" => "O verdadeiro endereço IP é arriscado.", "RISK-TS" => "O dia e a hora da ordem associada ao endereço de entrega é arriscado." }
- INFORMACAO_COMPRADOR =
{ "VEL-ADDR" => "Diferente estados de faturamento e/ou o envio (EUA e Canadá apenas) têm sido usadas várias vezes com o número do cartão de crédito e/ou endereço de email.", "VEL-CC" => "Diferentes números de contas foram usados várias vezes com o mesmo nome ou endereço de email.", "VEL-NAME" => "Diferentes nomes foram usados várias vezes com o número do cartão de crédito e / ou endereço de email.", "VELS-CC" => "O número de conta tem sido utilizado várias vezes durante o intervalo de controle curto.", "VELI-CC" => "O número de conta tem sido utilizado várias vezes durante o intervalo de controle médio.", "VELL-CC" => "O número de conta tem sido utilizado várias vezes durante o intervalo de controle longo.", "VELV-CC" => "O número de conta tem sido utilizado várias vezes durante o intervalo de controle muito longo.", "VELS-EM" => "O endereço de e-mail tem sido utilizado várias vezes durante o intervalo de controle curto.", "VELI-EM" => "O endereço de e-mail tem sido utilizado várias vezes durante o intervalo de controle médio.", "VELL-EM" => "O endereço de e-mail tem sido utilizado várias vezes durante o intervalo de controle longo.", "VELV-EM" => "O endereço de e-mail tem sido utilizado várias vezes durante o intervalo de controle muito longo.", "VELS-FP" => "O device fingerprint tem sido utilizado várias vezes durante um intervalo curto", "VELI-FP" => "O device fingerprint tem sido utilizado várias vezes durante um intervalo médio", "VELL-FP" => "O device fingerprint tem sido utilizado várias vezes durante um intervalo longo", "VELV-FP" => "O device fingerprint tem sido utilizado várias vezes durante um intervalo muito longo", "VELS-IP" => "O endereço IP tem sido utilizado várias vezes durante o intervalo de controle curto.", "VELI-IP" => "O endereço IP tem sido utilizado várias vezes durante o intervalo de controle médio.", "VELL-IP" => "O endereço IP tem sido utilizado várias vezes durante o intervalo de controle longo.", "VELV-IP" => "O endereço IP tem sido utilizado várias vezes durante o intervalo de controle muito longo.", "VELS-SA" => "O endereço de entrega tem sido utilizado várias vezes durante o intervalo de controle curto.", "VELI-SA" => "O endereço de entrega tem sido utilizado várias vezes durante o intervalo de controle médio.", "VELL-SA" => "O endereço de entrega tem sido utilizado várias vezes durante o intervalo de controle longo.", "VELV-SA" => "O endereço de entrega tem sido utilizado várias vezes durante o intervalo de controle muito longo.", "VELS-TIP" => "O endereço IP verdadeiro tem sido utilizado várias vezes durante o intervalo de controle curto.", "VELI-TIP" => "O endereço IP verdadeiro tem sido utilizado várias vezes durante o intervalo de controle médio.", "VELL-TIP" => "O endereço IP verdadeiro tem sido utilizado várias vezes durante o intervalo de controle longo." }
- INFORMACAO_CLIENTE =
{ "CON-POSNEG" => "A ordem disparada bate tanto com a lista positiva e negativa. O resultado da lista positiva sobrescreve a, lista negativa.", "NEG-BA" => "O endereço de cobrança está na lista negativa.", "NEG-BCO" => "O país de cobrança está na lista negativa.", "NEG-BIN" => "O BIN do cartão de crédito (os seis primeiros dígitos do número do cartão) está na lista negativa.", "NEG-BINCO" => "O país em que o cartão de crédito foi emitido está na lista negativa.", "NEG-BZC" => "O código postal de cobrança está, na lista negativa.", "NEG-CC" => "O número de cartão de crédito está na lista negativa.", "NEG-EM" => "O endereço de e-mail está na lista negativa.", "NEG-EMCO" => "O país em que o endereço de e-mail está localizado na lista negativa.", "NEG-EMDOM" => "O domínio de e-mail (por exemplo, mail.example.com) está na lista negativa." , "NEG-FP" => "O device fingerprint está na lista negativa.", "NEG-HIST" => "A transação foi encontrada na lista negativa.", "NEG-ID" => "ID da conta do cliente está na lista negativa.", "NEG-IP" => "O endereço IP (por exemplo, 10.1.27.63) está na lista negativa.", "NEG-IP3" => "O endereço IP de rede (por exemplo, 10.1.27) está na lista negativa. Um endereço de IP da rede inclui até 256 endereços IP.", "NEG-IPCO" => "O país em que o endereço IP está localizado está na lista negativa.", "NEG-PEM" => "Um endereço de e-mail do passageiro está na lista negativa.", "NEG-PH" => "O número do telefone está na lista negativa.", "NEG-PID" => "ID da conta do passageiro está na lista negativa. ", "NEG-PPH" => "O número do telefone do passageiro está na lista negativa.", "NEG-SA" => "O endereço de entrega está na lista negativa. ", "NEG-SCO" => "O país de entrega está na lista negativa. ", "NEG-SZC" => "O código postal de entrega está na lista negativa.", "POS-TEMP" => "O cliente está temporário na lista positiva.", "POS-PERM" => "O cliente está permanente na lista positiva.", "REV-BA" => "O endereço de cobrança esta na lista de revisão.", "REV-BCO" => "O país de cobrança está na lista de revisão.", "REV-BIN" => "O BIN do cartão de crédito (os seis primeiros dígitos do número do cartão) está na lista de revisão.", "REV-BINCO" => "O país em que o cartão de crédito foi emitido está na lista de revisão.", "REV-BZC" => "O código postal de cobrança está na lista de revisão.", "REV-CC" => "O número do cartão de crédito está na lista de revisão.", "REV-EM" => "O endereço de e-mail está na lista de revisão.", "REV-EMCO" => "O país em que o endereço de e-mail está localizado está na lista de revisão.", "REV-EMDOM" => "O domínio de e-mail (por exemplo, mail.example.com) está na lista de revisão.", "REV-FP" => "O device fingerprint está na lista de revisão", "REV-ID" => "ID da conta do cliente está na lista de revisão.", "REV-IP" => "O endereço IP (por exemplo, 10.1.27.63) está na lista de revisão.", "REV-IP3" => "O endereço IP de rede (por exemplo, 10.1.27) está na lista de revisão. Um endereço de IP da rede inclui até 256 endereços IP.", "REV-IPCO" => "O país em que o endereço IP está localizado está na lista de revisão.", "REV-PEM" => "Um endereço de e-mail do passageiro está na lista de revisão.", "REV-PH" => "O número do telefone está na lista de revisão.", "REV-PID" => "ID da conta do passageiro está na lista de revisão.", "REV-PPH" => "O número do telefone do passageiro está na lista de revisão.", "REV-SA" => "O endereço de entrega está na lista de revisão. ", "REV-SCO" => "O país de entrega está na lista de revisão.", "REV-SZC" => "O código postal de entrega está na lista de revisão." }
- INFORMACAO_TELEFONE =
{ "MM-ACBST" => "O número de telefone do cliente não é consistente com o estado no endereço de cobrança.", "RISK-AC" => "O código de área do cliente está associado com risco alto.", "RISK-PH" => "O número de telefone dos U.S. ou do Canadá é incompleta, ou uma ou mais partes do número são arriscadas.", "TF-AC" => "O número do telefone utiliza um código de área toll-free.", "UNV-AC" => "O código de área é inválido.", "UNV-OC" => "O código de área e/ou o prefixo de telefone são/é inválido.", "UNV-PH" => "O número do telefone é inválido." }
- STATUS_REQUISICAO =
{ 0 => "Falha no recebimento da requisição pela Ferramenta de Antifraude", 1 => "Requisição enviada com sucesso para a Ferramenta do Antifraude, e está sendo processada." }
- VERSION =
"0.0.6"- @@config =
Hold the config/braspag.yml contents
nil
Instance Method Summary collapse
-
#config ⇒ Object
Load configuration file.
-
#config? ⇒ Boolean
Check if configuration file exists.
-
#config_file ⇒ Object
The path to the configuration file.
- #developer? ⇒ Boolean
Instance Method Details
#config ⇒ Object
Load configuration file.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/braspag_rails/base.rb', line 18 def config raise MissingConfigurationError, "file not found on #{config_file.inspect}" unless config? # load file if is not loaded yet @@config ||= YAML.load_file(config_file) # raise an exception if the environment hasn't been set # or if file is empty if @@config == false || !@@config[Rails.env] raise MissingEnvironmentError, ":#{Rails.env} environment not set on #{config_file.inspect}" end # retrieve the environment settings @@config[Rails.env] end |
#config? ⇒ Boolean
Check if configuration file exists.
13 14 15 |
# File 'lib/braspag_rails/base.rb', line 13 def config? File.exist?(config_file) end |
#config_file ⇒ Object
The path to the configuration file
8 9 10 |
# File 'lib/braspag_rails/base.rb', line 8 def config_file Dir.pwd + "/config/braspag.yml" end |
#developer? ⇒ Boolean
34 35 36 |
# File 'lib/braspag_rails/base.rb', line 34 def developer? config? && config["developer"] == true end |