h00dstoker / cielo
Cielo网关集成。
3.3
2018-12-07 16:15 UTC
Requires
- php: >=7.1
- guzzlehttp/guzzle: ~6.3.2
- jms/serializer: ^1.11@dev
- respect/validation: ~1.1.15
Requires (Dev)
- codeclimate/php-test-reporter: ^0.3.0@dev
- phpunit/phpunit: ~7.0.3
This package is auto-updated.
Last update: 2024-09-08 08:39:53 UTC
README
Cielo是一个Cielo Web服务的客户端库。
使用这个类,您的应用程序将能够进行信用卡和借记卡交易。
注意
这个库基于Cielo API的1.5.x版本,但该版本已被弃用。此项目中的更改仅限于错误修复和针对指定版本的改进。如果您正在实施新项目,建议使用API的3.x版本。
- https://developercielo.github.io/
- https://developercielo.github.io/manual/webservice-1-5
- https://developercielo.github.io/tutorial/guia-de-migracao
要求
- PHP 7.1+
- SimpleXML
安装
composer.phar require "mrprompt/cielo"
示例
授权
use GuzzleHttp\Client; use MrPrompt\Cielo\Transacao; use MrPrompt\Cielo\Ambiente\Teste; use MrPrompt\Cielo\Autorizacao; use MrPrompt\Cielo\Cliente; use MrPrompt\Cielo\Idioma\Portugues; /* @var $transacao \MrPrompt\Cielo\Transacao */ $transacao = new Transacao(); $transacao->setTid('10069930691FB8C01001'); $transacao->setAutorizar(2); $transacao->setCapturar(false); $transacao->setDataHora(new DateTime()); $transacao->setDescricao('teste'); $transacao->setMoeda(986); $transacao->setNumero(001); $transacao->setParcelas(1); $transacao->setValor(1.00); /* @var $cielo \MrPrompt\Cielo\Cliente */ $cielo = new Cliente( new Autorizacao(NUMERO_CIELO, CHAVE_CIELO), new Client(), new Portugues(), new Teste() ); try { $requisicao = $cielo->autoriza($transacao); print_r($requisicao); } catch (\InvalidArgumentException $ex) { echo "# ERRO: {$ex->getCode()} - {$ex->getMessage()}" . PHP_EOL; }
持卡人授权
use GuzzleHttp\Client; use MrPrompt\Cielo\Ambiente\Teste; use MrPrompt\Cielo\Autorizacao; use MrPrompt\Cielo\Cliente; use MrPrompt\Cielo\Idioma\Portugues; use MrPrompt\Cielo\Cartao; use MrPrompt\Cielo\Transacao; /* @var $cielo \MrPrompt\Cielo\Cliente */ $cielo = new Cliente( new Autorizacao(NUMERO_CIELO, CHAVE_CIELO), new Client(), new Portugues(), new Teste() ); /* @var $transacao \MrPrompt\Cielo\Transacao */ $transacao = new Transacao(); $transacao->setTid('10069930691FB8C01001'); $transacao->setAutorizar(2); $transacao->setCapturar(false); $transacao->setDataHora(new DateTime()); $transacao->setDescricao('teste'); $transacao->setMoeda(986); $transacao->setNumero(001); $transacao->setParcelas(1); $transacao->setValor(1.00); /* @var $transacao \MrPrompt\Cielo\Cartao */ $cartao = new Cartao(); $cartao->setBandeira('visa'); $cartao->setCartao('4012001037141112'); $cartao->setCodigoSeguranca('123'); $cartao->setIndicador(0); $cartao->setNomePortador('Teste'); $cartao->setValidade('201612'); try { $requisicao = $cielo->autorizaPortador($transacao, $cartao); print_r($requisicao); } catch (\InvalidArgumentException $ex) { echo "# ERRO: {$ex->getCode()} - {$ex->getMessage()}" . PHP_EOL; }
取消
use GuzzleHttp\Client; use MrPrompt\Cielo\Ambiente\Teste; use MrPrompt\Cielo\Autorizacao; use MrPrompt\Cielo\Cliente; use MrPrompt\Cielo\Idioma\Portugues; use MrPrompt\Cielo\Transacao; /* @var $transacao \MrPrompt\Cielo\Transacao */ $transacao = new Transacao(); $transacao->setTid('10069930691FB8C01001'); /* @var $transacao \MrPrompt\Cielo\Cliente */ $cielo = new Cliente( new Autorizacao(NUMERO_CIELO, CHAVE_CIELO), new Client(), new Portugues(), new Teste() ); try { $requisicao = $cielo->cancela($transacao); print_r($requisicao); } catch (\InvalidArgumentException $ex) { echo "# ERRO: {$ex->getCode()} - {$ex->getMessage()}" . PHP_EOL; }
捕获
use GuzzleHttp\Client; use MrPrompt\Cielo\Ambiente\Teste; use MrPrompt\Cielo\Autorizacao; use MrPrompt\Cielo\Cliente; use MrPrompt\Cielo\Idioma\Portugues; use MrPrompt\Cielo\Transacao; /* @var $transacao \MrPrompt\Cielo\Transacao */ $transacao = new Transacao(); $transacao->setTid('10069930691FB8C01001'); /* @var $transacao \MrPrompt\Cielo\Cliente */ $cielo = new Cliente( new Autorizacao(NUMERO_CIELO, CHAVE_CIELO), new Client(), new Portugues(), new Teste() ); try { $requisicao = $cielo->captura($transacao); print_r($requisicao); } catch (\InvalidArgumentException $ex) { echo "# ERRO: {$ex->getCode()} - {$ex->getMessage()}" . PHP_EOL; }
查询
use GuzzleHttp\Client; use MrPrompt\Cielo\Ambiente\Teste; use MrPrompt\Cielo\Autorizacao; use MrPrompt\Cielo\Cliente; use MrPrompt\Cielo\Idioma\Portugues; use MrPrompt\Cielo\Transacao; /* @var $transacao \MrPrompt\Cielo\Transacao */ $transacao = new Transacao(); $transacao->setTid('10069930691FB8C01001'); /* @var $transacao \MrPrompt\Cielo\Cliente */ $cielo = new Cliente( new Autorizacao(NUMERO_CIELO, CHAVE_CIELO), new Client(), new Portugues(), new Teste() ); try { $requisicao = $cielo->consulta($transacao); print_r($requisicao); } catch (\InvalidArgumentException $ex) { echo "# ERRO: {$ex->getCode()} - {$ex->getMessage()}" . PHP_EOL; }
TID
use GuzzleHttp\Client; use MrPrompt\Cielo\Ambiente\Teste; use MrPrompt\Cielo\Autorizacao; use MrPrompt\Cielo\Cliente; use MrPrompt\Cielo\Idioma\Portugues; use MrPrompt\Cielo\Transacao; use MrPrompt\Cielo\Cartao; /* @var $transacao \MrPrompt\Cielo\Cliente */ $cielo = new Cliente( new Autorizacao(NUMERO_CIELO, CHAVE_CIELO), new Client(), new Portugues(), new Teste() ); /* @var $transacao \MrPrompt\Cielo\Transacao */ $transacao = new Transacao(); $transacao->setAutorizar(2); $transacao->setCapturar(false); $transacao->setDataHora(new DateTime()); $transacao->setDescricao('teste'); $transacao->setMoeda(986); $transacao->setNumero(001); $transacao->setParcelas(1); $transacao->setValor(1.00); /* @var $transacao \MrPrompt\Cielo\Cartao */ $cartao = new Cartao(); $cartao->setBandeira('visa'); $cartao->setCartao('4012001037141112'); $cartao->setCodigoSeguranca('123'); $cartao->setIndicador(0); $cartao->setNomePortador('Teste'); $cartao->setValidade('201612'); try { $requisicao = $cielo->tid($transacao, $cartao); print_r($requisicao); } catch (\InvalidArgumentException $ex) { echo "# ERRO: {$ex->getCode()} - {$ex->getMessage()}" . PHP_EOL; }
交易
use GuzzleHttp\Client; use MrPrompt\Cielo\Ambiente\Teste; use MrPrompt\Cielo\Autorizacao; use MrPrompt\Cielo\Cliente; use MrPrompt\Cielo\Idioma\Portugues; use MrPrompt\Cielo\Transacao; use MrPrompt\Cielo\Cartao; /* @var $transacao \MrPrompt\Cielo\Transacao */ $transacao = new Transacao(); $transacao->setTid('10069930691FB8C01001'); $transacao->setAutorizar(2); $transacao->setCapturar(false); $transacao->setDataHora(new DateTime()); $transacao->setDescricao('teste'); $transacao->setMoeda(986); $transacao->setNumero(001); $transacao->setParcelas(1); $transacao->setValor(1.00); /* @var $transacao \MrPrompt\Cielo\Cartao */ $cartao = new Cartao(); $cartao->setBandeira('visa'); $cartao->setCartao('4012001037141112'); $cartao->setCodigoSeguranca('123'); $cartao->setIndicador(0); $cartao->setNomePortador('Teste'); $cartao->setValidade('201612'); /* @var $transacao \MrPrompt\Cielo\Cliente */ $cielo = new Cliente( new Autorizacao(NUMERO_CIELO, CHAVE_CIELO), new Client(), new Portugues(), new Teste() ); try { $requisicao = $cielo->iniciaTransacao($transacao, $cartao, 'http://google.com.br'); print_r($requisicao); } catch (\InvalidArgumentException $ex) { echo "# ERRO: {$ex->getCode()} - {$ex->getMessage()}" . PHP_EOL; }
早期版本
- PHP 5.5 ~ 5.6: 仅2.2版本与PHP 5.5和5.6兼容
- PHP 5.3 ~ 5.4: 直到2.1版本,支持PHP 5.3。