/index.php

https://github.com/marcosbrasil/Locaweb-Cielo · PHP · 117 lines · 31 code · 28 blank · 58 comment · 1 complexity · 367514b634b42fc4de8a1b02ae396fac MD5 · raw file

  1. <?php
  2. /**
  3. * Arquivo de demonstracao
  4. * @AUTOR: Marcos Brasil / markus.prologic@gmail.com
  5. * @DATE: 24/06/2011
  6. * @VERSION: 0.1.1
  7. */
  8. session_start();
  9. ini_set('allow_url_fopen', 1); // - Ativa a diretiva 'allow_url_fopen' do php.ini
  10. include_once 'Cielo.class.php';
  11. $Cielo = new Cielo('0000000','TESTE'); // - Numero de afilizacao junto a locaweb e ambiente 'PRODUCAO' ou 'TESTE'
  12. switch($_GET['acao'])
  13. {
  14. case 'registra':
  15. /**
  16. * Geralmente a primeira acao quando efetuada a compra,
  17. * registra-se a transacao com os valores e redireciona
  18. * para a pagina de pagamentos da cielo (caso esteja
  19. * capturando o cartao no ambiente da cielo)
  20. */
  21. // - Dados do pedido
  22. // - Valor do pedido (usar 100 para 1,00)
  23. // - Numero do pedido gerado pela loja, para controle interno
  24. // - Uma mensagem qualquer de ate 1024 caracteres
  25. $Cielo->setDadosPedido('3200','001','apenas um teste!');
  26. // - Dados do pagamento
  27. // - Bandeira do cartao (visa/mastercard) sempre minusculo
  28. // - Forma de pagamento: 1 (credito a vista)/ 2 (Parcelado loja)/ 3 (Parcelado administradora)/ A (Debito)
  29. // - O numero de parcelas, para transacao a vista ou debito, usar 1
  30. // - Indicador de autorizacao automatica. Utilizar: 0 (nao autorizar) / 1 (autorizar somente se autenticado)
  31. // 2 (autorizar autenticada e nao-autenticada) / 3 (autorizar sem passar por autenticacao - APENAS DEBITO)
  32. // A cielo recomenda para maioria dos casos utilizar valor 2
  33. // - Captura automatica da transacao caso seja autorizada. Usar true ou false. A cielo recomenda false, para
  34. // que todas as transacoes sejam capturadas
  35. // OBS: Utilizar 'true' ou 'false' como string e nao boolean
  36. $Cielo->setDadosPagamento('visa','1','1','2','false');
  37. // - Registra a transacao junto a cielo, seta uma variavel de sessao com o TID da transacao, e retorna a url para
  38. // redirecionamento ao ambiente da cielo
  39. // - $_SESSION['tid'] agora contem o tid da transacao
  40. $return_registro = $Cielo->registraTransacao();
  41. // - redireciona ao ambiente seguro da cielo
  42. Header("Location: ".$return_registro['retorno_url_autenticacao']);
  43. break;
  44. case 'retorno':
  45. /**
  46. * Apos o cliente digitar os dados do cartao na pagina da cielo, é novamente redirecionado de volta a loja.
  47. * O endereco URL-BACK deve ser configurado previamente nas configuracoes do gateway locaweb
  48. */
  49. // - Para confirmar que tudo ocorreu corretamente, deve-se consultar a transacao e verificar os codigos de status
  50. // que vem no manual de integracao
  51. // - Caso nao tenha ocorrido mudanca de dominio $_SESSION['tid'] está setada, se nao for o caso, pode-se usar
  52. // - $Cielo->consultaTransacao($tid); informando diretamente o tid.
  53. $return_consulta = $Cielo->consultaTransacao();
  54. echo $return_consulta['retorno_status']; // - confira os codigos de retorno para trata-los adequadamente
  55. break;
  56. case 'cancela':
  57. /**
  58. * O cancelamento e uma acao opcional para transacoes aprovadas. Este procedimento notifica a VISANET
  59. * para nao emitir a cobranca ao emissor do cartao. O cancelamento deve ser feito em ate 24h apos a
  60. * transacao, passando esse prazo somente podera ser feito junto a operadora
  61. */
  62. // - Caso nao seja fornecido um TID como parametro, sera usado $_SESSION['tid'] caso esse nao esteja setado
  63. // a classe retornara um warning
  64. $return_cancela = $Cielo->cancelaTransacao($_GET['tid']);
  65. echo ($return_cancela['retorno_status'] == 9) ? 'Transacao cancelada com sucesso !' : 'Erro ao cancelar !';
  66. break;
  67. case 'autoriza':
  68. /**
  69. * A autorizacao da transacao é uma operacao que podera ser feita inumera vezes, retornara todos os dados
  70. * referentes a transacao autorizada
  71. */
  72. // - Caso nao seja fornecido um TID como parametro, sera usado $_SESSION['tid'] caso esse nao esteja setado
  73. // a classe retornara um warning
  74. $return_autoriza = $Cielo->autorizaTransacao($_GET['tid']);
  75. echo $return_autoriza['retorno_status']; // - confira os codigos de retorno para trata-los adequadamente
  76. break;
  77. case 'captura':
  78. /**
  79. * Este procedimento libera a VISANET a emitir a cobranca para o emissor do cartao. A captura deve ser feita
  80. * em ate 5 dias (corridos) apos a transacao. Caso isso nao acorra, a transacao sera cancelada automaticamente
  81. * pela operadora
  82. */
  83. // - Caso nao seja fornecido um TID como parametro, sera usado $_SESSION['tid'] caso esse nao esteja setado
  84. // a classe retornara um warning
  85. $return_captura = $Cielo->capturaTransacao($_GET['tid']);
  86. echo $return_captura['retorno_status']; // - confira os codigos de retorno para trata-los adequadamente
  87. break;
  88. }
  89. ?>