O Moip-PHP uma biblioteca que implementa uma camada de abstrao para gerao do XML de instrues do Moip, permitindo que voc integre aos servios de API sem poluir seu cdigo com vrias linhas de XML. Um exemplo rpido:
setEnvironment() Mtodo que define o ambiente em qual o requisio ser processada, test para definir que ser em ambiente de testes Moip o Sandbox, a omisso desse mtodo define que a requisio dever ser processada em ambiente real, de produo Moip.
Importante: ao definir o ambiente certifique-se de que est utilizando a autenticao correspondente ao ambiente, no Moip cada ambiente possui suas prpria chaves de autenticao API.
setCredential() O Moip requer que voc se autentique para que seja possvel processar requisies em sua API, para isso antes de realizar qualquer requisio voc dever informar ao Moip suas credenciais da API formados por um TOKEN e uma KEY.
O parmetro $credencials um array associativo contendo as chaves key e token (ex: array(key=>sua_key,'token=>seu_token)). Se voc ainda no possui estes dados, veja como obt-las atravs em sua conta Sandbox.
Documento de integrao Moip Verso: 1.0 pt-br - 10/09/2012
validate() O mtodo validate() ir realizar a validao dos dados obrigatrios para o tipo de instruo que voc deseja processar, voc pode optar por um dos dois nveis de validao disponveis o Basic e Identification.
Basic : Ir realizar a validao dos dados mnimos de para uma requisio XML ao Moip. Identification : Ir validar os dados necessrios para se processar um XML com identificao Moip, usados geralmente para redirecionar o cliente j no segundo step da pagina de pagamento no checkout Moip ou usar o Moip Transaparente.
validate($validateType) $validateType : String (Basic ou Identification)
$moip->validate('Identification');
setUniqueID() O mtodo setUniqueID() atribui valor a tag <IdProprio> no XML Moip.
<IdProprio>: Seu identificador nico de pedido, essa mesma informao ser enviada para voc em nossos servios de notificaes de alteraes de status para que voc possa tratar e atualizar o status de seu pedido.
setUniqueID($id) $id : String
$moip->setUniqueID('ABC1234');
setValue() O mtodo setValue() atribui valor a tag <Valor> no XML Moip.
<Valor>: Responsvel por definir o valor que dever ser pago.
setValue($value) $value : Numeric
$moip->setValue('100.00');
Documento de integrao Moip Verso: 1.0 pt-br - 10/09/2012 setAdds() O mtodo setAdds() atribui valor a tag <Acrescimo> no XML Moip.
<Acrescimo>: Responsvel por definir o valor adicional que dever ser pago.
setAdds($value) $value : Numeric
$moip->setAdds('15.00');
setDeduct() O mtodo setDeduct() atribui valor a tag <Deducao> no XML Moip.
<Deducao>: Responsvel por definir o valor de desconto que ser subtrado do total a ser pago.
setDeduct($value) $value : Numeric
$moip->setDeduct('15.00');
setReason() O mtodo setReason() atribui valor a tag <Razao> no XML Moip.
<Razao>: Responsvel por definir o motivo do pagamento. Este campo sempre obrigatrio em um instruo de pagamento.
setReason($value) $value : String
$moip->setReason('Pagamento de teste do Moip-PHP');
setPayer() O mtodo setPayer() atribui valores ao nodo <Pagador> no XML Moip.
<Pagador>: Nodo de informaes de quem est realizando o pagamento.
Documento de integrao Moip Verso: 1.0 pt-br - 10/09/2012 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 secundrio do pagador billingAddress : <EnderecoCobranca> : Endereo do pagador address : <Logradouro> : Logradouro do pagador, rua, av, estrada, etc. number : <Numero> : Numero residencial do pagador complement : <Complemento> : Complemento do endereo do pagador city : <Cidade> : Cidade do endereo do pagador neighborhood : <Bairro> : Bairro do endereo do pagador state : <Estado> : Estado do endereo do pagador em formato ISO-CODE (UF) country : <Pais> : Pais do pagador em formato ISO-CODE zipCode : <CEP> : CEP de endereo phone : <TelefoneFixo> : Telefone de contato do pagador
addPaymentWay() O mtodo addPaymentWay() atribui valor a tag <FormaPagamento> do nodo <FormasPagamento> no XML Moip.
<FormaPagamento>: Define quais as formas de pagamento que sero exibidas ao pagador no Checkout Moip. billet : Para disponibilizar a opo Boleto Bancrio como forma de pagamento no checkout Moip. financing : Para disponibilizar a opo Financiamento como forma de pagamento no checkout Moip. debit : Para disponibilizar a opo Debito em conta como forma de pagamento no checkout Moip. creditCard : Para disponibilizar a opo Carto de Crdito como forma de pagamento no checkout Moip.
Documento de integrao Moip Verso: 1.0 pt-br - 10/09/2012 debitCard : Para disponibilizar a opo Carto de dbito como forma de pagamento no checkout Moip.
setBilletConf() O mtodo setBilletConf() atribui valores ao node <Boleto> no XML Moip que responsvel por definir as configuraes adicionais e personalizao do Boleto bancrio.
$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 padro ser dias corridos. $instructions : Mensagem adicionais a ser impresso no boleto, at trs mensagens. $uriLogo : URL de sua logomarca, dimenses mximas 75px largura por 40px altura.
setBilletConf($expiration, $workingDays, $instructions, $uriLogo) $expiration : Int ou Date $workingDays : Boolean $instructions : Array() $uriLogo : String
$moip->addMessage('Seu pedido contem os produtos X,Y e Z.');
setReturnURL() O mtodo setReturnURL() atribui valor a tag <URLRetorno> no XML Moip, responsvel por definir a URL que o comprador ser redirecionado ao finalizar um pagamento atravs do checkout Moip.
setNotificationURL() O mtodo setNotificationURL() atribui valor a tag <URLNotificacao> no XML Moip, responsvel por definir a URL ao qual o Moip dever notificar com o NASP (Notificao de Alterao de Status de Pagamento) as mudana de status.
addComission() O mtodo addComission() atribui valores as tags <Comissoes> no XML Moip, responsvel por atribuir recebedores secundrios a transao.
$reason : Razo/Motivo ao qual o recebedor secundrio receber o valor definido. $receiver: Login Moip do usuario que receber o valor. $value : Valor ao qual ser destinado ao recebedor secundrio. $percentageValue: Caso true define que valor ser calculado em relao ao percentual sobre o valor total da transao. $ratePayer: Caso true define que esse recebedor secundrio ir pagar a Taxa Moip com o valor recebido.
$moip->addComission('Razo do Split', 'recebedor_secundario', '5.00'); $moip->addComission('Razo do Split', 'recebedor_secundario_2', '12.00', true, true);
addParcel() O mtodo addParcel() atribui valores as tags de <Parcelamentos> no XML Moip, responsvel configuras as opes de parcelamento que sero disponveis ao pagador.
$min : Quantidade mnima de parcelas disponvel ao pagador. $max : Quantidade mxima de parcelas disponveis ao pagador. $rate : Valor de juros a.m por parcela. $transfer : Caso true define que o valor de juros padro do Moip ser pago pelo pagador.
addParcel($min, $max, $rate, $transfer) $min : Number $max : Number $rate : Number $transfer : Boolean
setReceiver() O mtodo setReceiver() atribui valor a tag <LoginMoIP> do node <Recebedor> que identifica o usurio Moip que ir receber o pagamento no Moip.
Documento de integrao Moip Verso: 1.0 pt-br - 10/09/2012
getXML() O mtodo getXML() ir retornar o XML gerado com todos os atributos que voc configurou, esse mtodo 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('ABC1234'); $moip->setValue('100.00'); $moip->setReason('Teste do Moip-PHP'); $moip->validate('Basic');
send() O mtodo send() executa o envio da instruo 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');
getAnswer() O mtodo 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. .
queryParcel() O mtodo queryParcel() retorna um Array() contendo as informaes 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: Mximo de parcelar a ser consultado. $rate: Taxa de juros para simulao. $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