valterjrdev / moip-php
Biblioteca de integração com o MoIP
This package's canonical repository appears to be gone and the package has been frozen as a result.
Requires
- php: >=5.3.3
- ext-curl: *
- lib-curl: *
- lib-libxml: *
- lib-openssl: *
- electrolinux/phpquery: ^0.9.6
This package is not auto-updated.
Last update: 2021-01-23 00:29:34 UTC
README
O Moip-PHP � uma biblioteca que implementa uma camada de abstra��o para gera��o do XML de instru��es do Moip, permitindo que voc� integre aos servi�os de API sem poluir seu c�digo com v�rias linhas de XML. Um exemplo r�pido:
include __DIR__ . '/vendor/autoload.php';
use Moip\Moip;
$moip = new Moip();
$moip->setEnvironment('test');
$moip->setCredential(array(
'key' => 'ABABABABABABABABABABABABABABABABABABABAB',
'token' => '01010101010101010101010101010101'
));
$moip->setUniqueID(false);
$moip->setValue('100.00');
$moip->setReason('Teste do Moip-PHP');
$moip->validate('Basic');
print_r($moip->send());
O Moip-PHP utiliza o padr�o Fluent Interfaces, portanto, voc� pode fazer o exemplo acima da seguinte forma:
include __DIR__ . '/vendor/autoload.php';
use Moip\Moip;
$moip = new Moip();
print_r($moip->setEnvironment('test')
->setCredential(array(
'key' => 'ABABABABABABABABABABABABABABABABABABABAB',
'token' => '01010101010101010101010101010101'
))->setUniqueID(false)
->setValue('100.00')
->setReason('Teste do Moip-PHP')
->validate('Basic')
->send());
M�todos dispon�veis
Veja baixo rela��o e detalhes dos m�todos dispon�veis que voc� poder� utilizar com o Moip-PHP.
Moip()
M�todo construtor.
Moip()
$moip = new Moip();
setEnvironment()
M�todo que define o ambiente em qual o requisi��o ser� processada, 'test' para definir que ser� em ambiente de testes Moip o Sandbox, a omiss�o desse m�todo define que a requisi��o dever� ser processada em ambiente real, de produ��o Moip.
Importante: ao definir o ambiente certifique-se de que est� utilizando a autentica��o correspondente ao ambiente, no Moip cada ambiente possui suas pr�pria chaves de autentica��o API.
setEnvironment($environment) $environment : String ('test')
$moip->setEnvironment('test');
setCredential()
O Moip requer que voc� se autentique para que seja possivel processar requisi��es em sua API, para isso antes de realizar qualquer requisi��o voc� dever� informar ao Moip suas credenciais da API formados por um TOKEN e uma KEY.
O par�metro $credencials � um array associativo contendo as chaves key e token (ex: array('key'=>'sua_key','token'=>'seu_token')). Se voc� ainda n�o possui estes dados, veja como obtelas tarv�s em sua conta Sandbox.
setCredential($credential)
$credential : Array('key','token')
$moip->setCredential(array(
'key' => 'SUA_KEY',
'token' => 'SEU_TOKEN'
));
validate()
O m�todo validate() ir� realizar a valida��o dos dados obrigat�rios para o tipo de instru��o que voc� deseja processar, voc� pode optar por um dos dois n�veis de valida��o dispon�veis o 'Basic' e 'Identification'.
- Basic : Ir� realizar a valida��o dos dados m�nimos de para uma requisi��o XML ao Moip.
- Identification : Ir� validar os dados necess�rios para se processar um XML com identifica��o Moip, usados geralmente para redirecionar o cliente j� no segundo step da pagina de pagamento no checkout Moip ou usar o Moip Transparente.
validate($validateType)
$validateType : String ('Basic' ou 'Identification')
$moip->validate('Identification');
setUniqueID()
O m�todo setUniqueID() atribui valor a tag "<IdProprio>" no XML Moip.
- <IdProprio>: Seu identificador �nico de pedido, essa mesma informa��es ser� enviada para voc� em nossas notifica��es de altera��es de status para que voc� possa identificar o pedido e tratar seu status.
setUniqueID($id)
$id : String
$moip->setUniqueID('ABCD123456789');
setValue()
O m�todo setValue() atribui valor a tag "<Valor>" no XML Moip.
- <Valor>: Respons�vel por definir o valor que dever� ser pago.
setValue($value)
$value : Numeric
$moip->setValue('100.00');
setAdds()
O m�todo setAdds() atribui valor a tag "<Acrescimo>" no XML Moip.
- <Acrescimo>: Respons�vel por definir o valor adicional que dever� ser pago.
setAdds($value)
$value : Numeric
$moip->setAdds('15.00');
setDeduct()
O m�todo setDeduct() atribui valor a tag "<Deducao>" no XML Moip.
- <Deducao>: Respons�vel por definir o valor de desconto que ser� subtra�do do total a ser pago.
setDeduct($value)
$value : Numeric
$moip->setDeduct('15.00');
setReason()
O m�todo setReason() atribui valor a tag "<Razao>" no XML Moip.
- <Razao>: Respons�vel por definir o motivo do pagamento.
- Este campo � sempre obrigat�rio em um instru��o de pagamento.
setReason($value)
$value : String
$moip->setReason('Pagamento de teste do Moip-PHP');
setPayer()
O m�todo setPayer() atribui valores ao nodo "<Pagador>" no XML Moip.
- <Pagador>: Nodo de informa��es de quem est� realizando o pagamento.
- name : <Nome> : Nome completo do pagador
- email : <Email> : E-mail do pagador
- payerId : <IdPagador> : Identificados unico do pagador
- identity : <Identidade> : Identidade do pagador (CPF)
- phone : <TelefoneCelular> : Telefone de contato secund�rio do pagador
- billingAddress : <EnderecoCobranca> : Endere�o do pagador
- address : <Logradouro> : Logradouro do pagador, rua, av, estrada, etc.
- number : <Numero> : Numero residencial do pagador
- complement : <Complemento> : Complemento do endere�o do pagador
- city : <Cidade> : Cidade do endere�o do pagador
- neighborhood : <Bairro> : Bairro do endere�o do pagador
- state : <Estado> : Estado do endere�o do pagador em formato ISO-CODE (UF)
- country : <Pais> : Pais do pagador em formato ISO-CODE
- zipCode : <CEP> : CEP de endere�o
- phone : <TelefoneFixo> : Telefone de contato do pagador
setPayer($value)
$value : Array ('name','email','payerId','identity', 'phone','billingAddress' => Array('address','number','complement','city','neighborhood','state','country','zipCode','phone'))
$moip->setPayer(array('name' => 'Nome Sobrenome',
'email' => 'email@cliente.com.br',
'payerId' => 'id_usuario',
'billingAddress' => array('address' => 'Rua do Z�zinho Cora��o',
'number' => '45',
'complement' => 'z',
'city' => 'S�o Paulo',
'neighborhood' => 'Palha�o J�o',
'state' => 'SP',
'country' => 'BRA',
'zipCode' => '01230-000',
'phone' => '(11)8888-8888')));
addPaymentWay()
O m�todo addPaymentWay() atribui valor a tag "<FormaPagamento>" do nodo "<FormasPagamento>" no XML Moip.
<FormaPagamento>: Define quais as formas de pagamento que ser�o exibidas ao pagador no Checkout Moip.
- billet : Para disponibilizar a op��o "Boleto Banc�rio" como forma de pagamento no checkout Moip.
- financing : Para disponibilizar a op��o "Financiamento" como forma de pagamento no checkout Moip.
- debit : Para disponibilizar a op��o "Debito em conta" como forma de pagamento no checkout Moip.
- creditCard : Para disponibilizar a op��o "Cart�o de Cr�dito" como forma de pagamento no checkout Moip.
- debitCard : Para disponibilizar a op��o "Cart�o de d�bito" como forma de pagamento no checkout Moip.
addPaymentWay($way)
$way : String ('billet','financing','debit','creditCard','debitCard')
$moip->addPaymentWay('creditCard');
$moip->addPaymentWay('billet');
$moip->addPaymentWay('financing');
$moip->addPaymentWay('debit');
$moip->addPaymentWay('debitCard');
setBilletConf()
O m�todo setBilletConf() atribui valores ao node "<Boleto>" no XML Moip que � respons�vel por definir as configura��es adicionais e personaliza��o do Boleto banc�rio.
- $expiration : Data em formato "AAAA-MM-DD" ou quantidade de dias.
- $workingDays : Caso "$expiration" seja quantidade de dias voc� pode definir com "true" para que seja contado em dias úteis, o padr�o ser� dias corridos.
- $instructions : Mensagem adicionais a ser impresso no boleto, at� tr�s mensagens.
- $uriLogo : URL de sua logomarca, dimensões m�ximas 75px largura por 40px altura.
setBilletConf($expiration, $workingDays, $instructions, $uriLogo)
$expiration : Int ou Date
$workingDays : Boolean
$instructions : Array()
$uriLogo : String
$moip->setBilletConf("2011-04-06",
false,
array("Primeira linha",
"Segunda linha",
"Terceira linha"),
"http://seusite.com.br/logo.gif");
addMessage()
O m�todo addMessage() atribui valor a tag "<Mensagem>" do node "<Mensagens>" no XML Moip.
- <Mensagens>: Node com "<Mensagens>".
- <Mensagem>: TAG que define mensagem adicional a ser exibida no checkout Moip.
addMessage($msg)
$msg : String
$moip->addMessage('Seu pedido contem os produtos X,Y e Z.');
setReturnURL()
O m�todo setReturnURL() atribui valor a tag "<URLRetorno>" no XML Moip, respons�vel por definir a URL que o comprador ser� redirecionado ao finalizar um pagamento atrav�s do checkout Moip.
setReturnURL($url)
$url : String
$moip->setReturnURL('https://meusite.com.br/cliente/pedido/bemvindodevolta');
setNotificationURL()
O m�todo setNotificationURL() atribui valor a tag "<URLNotificacao>" no XML Moip, respons�vel por definir a URL ao qual o Moip dever� notificar com o NASP (Notifica��o de Altera��o de Status de Pagamento) as mudan�a de status.
setNotificationURL($url)
$url : String
$moip->setNotificationURL('https://meusite.com.br/nasp/');
addComission()
O m�todo addComission() atribui valores as tags "<Comissoes>" no XML Moip, respons�vel por atribuir recebedores secund�rios a transa��o.
- $reason : Raz�o/Motivo ao qual o recebedor secund�rio receber� o valor definido.
- $receiver: Login Moip do usuario que receber� o valor.
- $value : Valor ao qual ser� destinado ao recebedor secund�rio.
- $percentageValue: Caso "true" define que valor ser� calculado em rela��o ao percentual sobre o valor total da transa��o.
- $ratePayer: Caso "true" define que esse recebedor secund�rio ir� pagar a Taxa Moip com o valor recebido.
addComission($reason, $receiver, $value, $percentageValue, $ratePayer)
$reason : String
$receiver : String
$value : Number
$percentageValue: Boolean
$ratePayer : Boolean
$moip->addComission('Raz�o do Split',
'recebedor_secundario',
'5.00');
$moip->addComission('Raz�o do Split',
'recebedor_secundario_2',
'12.00',
true,
true);
addParcel()
O m�todo addParcel() atribui valores as tags de "<Parcelamentos>" no XML Moip, respons�vel configuras as op��es de parcelamento que ser�o disponíveis ao pagador.
- $min : Quantidade mínima de parcelas disponível ao pagador.
- $max : Quantidade m�xima de parcelas disponíveis ao pagador.
- $rate : Valor de juros a.m por parcela.
- $transfer : Caso "true" define que o valor de juros padr�o do Moip ser� pago pelo pagador.
addParcel($min, $max, $rate, $transfer)
$min : Number
$max : Number
$rate : Number
$transfer : Boolean
$moip->addParcel('2', '4');
$moip->addParcel('5', '7', '1.00');
$moip->addParcel('8', '12', null, true);
setReceiver()
O m�todo setReceiver() atribui valor a tag "<LoginMoIP>" do node "<Recebedor>" que identifica o usu�rio Moip que ir� receber o pagamento no Moip.
- $receiver : Login Moip do recebedor primario.
setReceiver($receiver)
$receiver : String
$moip->setReceiver('integracao@labs.moip.com.br');
getXML()
O m�todo getXML() ir� retornar o XML gerado com todos os atributos que voc� configurou, esse m�todo pode ajudar a saber exatamente o XML que voc� ir� enviar ao Moip.
getXML()
$moip = new Moip();
$moip->setEnvironment('test');
$moip->setCredential(array(
'key' => 'ABABABABABABABABABABABABABABABABABABABAB',
'token' => '01010101010101010101010101010101'
));
$moip->setUniqueID(false);
$moip->setValue('100.00');
$moip->setReason('Teste do Moip-PHP');
$moip->validate('Basic');
print_r($moip->getXML());
//IR�? IMPRIMIR
<?xml version="1.0" encoding="utf-8"?>
<EnviarInstrucao>
<InstrucaoUnica>
<IdProprio></IdProprio>
<Razao>Teste do Moip-PHP</Razao>
<Valores>
<Valor moeda="BRL">100.00</Valor>
</Valores>
</InstrucaoUnica>
</EnviarInstrucao>
send()
O m�todo send() executa o envio da instru��o ao Moip, e retorna os dados de resposta obtidos do Moip.
- response : "true" para o caso de sucesso e "false" para quando ocorre algum erro.
- error : Retorna sempre uma mensagem quando "response" � "false".
- xml: Retorna sempre o XML de resposta Moip quando "response" � "true".
send()
$moip = new Moip();
$moip->setEnvironment('test');
$moip->setCredential(array(
'key' => 'ABABABABABABABABABABABABABABABABABABABAB',
'token' => '01010101010101010101010101010101'
));
$moip->setUniqueID(false);
$moip->setValue('100.00');
$moip->setReason('Teste do Moip-PHP');
$moip->validate('Basic');
print_r($moip->send());
//IR�? IMPRIMIR
stdClass Object
(
[response] => 1
[error] =>
[xml] => <ns1:EnviarInstrucaoUnicaResponse xmlns:ns1="http://www.moip.com.br/ws/alpha/"><Resposta><ID>201209042007216380000000989104</ID><Status>Sucesso</Status><Token>M2C031R2Q0Z9W0Y4Q2S0H0W7E2G1Z6P3E8C0C0W050T01070Y9Y8V9G1F0F4</Token></Resposta></ns1:EnviarInstrucaoUnicaResponse>
)
getAnswer()
O m�todo getAnswer() retorna os dados de resposta do Moip em forma de objeto.
- response : "true" para o caso onde o "<Status>" Moip retornou "Sucesso" e "false" para quando retornou "Falha".
- error : Retorna sempre uma mensagem quando "response" � "false".
- token: Retorna o TOKEN de pagamento gerado para quando "response" � "true".
- payment_url : Retorna a URL de checkout Moip preparada para redirecionar o cliente com o TOKEN de pagamento para quando "response" � "true".
getAnswer()
$moip = new Moip();
$moip->setEnvironment('test');
$moip->setCredential(array(
'key' => 'ABABABABABABABABABABABABABABABABABABABAB',
'token' => '01010101010101010101010101010101'
));
$moip->setUniqueID(false);
$moip->setValue('100.00');
$moip->setReason('Teste do Moip-PHP');
$moip->validate('Basic');
$moip->send();
print_r($moip->getAnswer());
//IR�? IMPRIMIR
stdClass Object
(
[response] => 1
[error] =>
[token] => 92D091R2I0Y9X0E4T2K034L2H2V4H2J6L9R0S0T0K0N0L0T0Y9H879H144O8
[payment_url] => https://desenvolvedor.moip.com.br/sandbox/Instrucao.do?token=92D091R2I0Y9X0E4T2K034L2H2V4H2J6L9R0S0T0K0N0L0T0Y9H879H144O8
)
queryParcel()
O m�todo queryParcel() retorna um Array() contendo as informa��es de parcelas e seus respectivos valores cobrados por parcela e o valor total a ser pago referente a taxa de juros simulada..
-
REQUEST
-
$login: Login Moip do usuario.
-
$maxParcel: M�ximo de parcelar a ser consultado.
-
$rate: Taxa de juros para simula��o.
-
$simulatedValue: Valor pago ao qual ser� simulado.
-
RESPONSE
-
response : "true" em caso de resposta Moip com "<Status>" "Sucesso" e "false" em caso de "Falha"
-
installment: Numero de parcela correspondente aos valores.
-
total : Total a ser pago.
-
rate: Taxa de juros atribuido.
-
value: Valor por parcela.
queryParcel($login, $maxParcel, $rate, $simulatedValue)
$login : String
$maxParcel : Number
$rate : Number
$simulatedValue: Number
$moip = new Moip();
$moip->setEnvironment('test');
$moip->setCredential(array(
'key' => 'ABABABABABABABABABABABABABABABABABABABAB',
'token' => '01010101010101010101010101010101'
));
print_r($moip->queryParcel('integracao@labs.moip.com.br', '4', '1.99', '100.00'));
//IR�? IMPRIMIR
Array
(
[response] => 1
[installment] => Array
(
[1] => Array
(
[total] => 100.00
[rate] => 1.99
[value] => 100.00
)
[2] => Array
(
[total] => 103.00
[rate] => 1.99
[value] => 51.50
)
[3] => Array
(
[total] => 104.01
[rate] => 1.99
[value] => 34.67
)
[4] => Array
(
[total] => 105.04
[rate] => 1.99
[value] => 26.26
)
)
)