<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Business::CPI::Gateway::Moip.pm 

Para efetuar pagamentos moip com perl
** veja exemplo com Business:CPI em pay_business_cpi.sh

use Data::Printer;
use Business::CPI::Buyer::Moip;
use Business::CPI::Cart::Moip;
use Business::CPI::Gateway::Moip;

my $cpi = Business::CPI::Gateway::Moip-&gt;new(
    currency        =&gt; 'BRL',
    sandbox         =&gt; 1,
    token_acesso    =&gt; 'YC110LQX7UQXEMQPLYOPZ1LV9EWA8VKD',
    chave_acesso    =&gt; 'K03JZXJLOKJNX0CNL0NPGGTHTMGBFFSKNX6IUUWV',
    receiver_email  =&gt; 'teste@casajoka.com.br',
    receiver_label  =&gt; 'Casa Joka',
    id_proprio      =&gt; 'ID_INTERNO_'.int rand(int rand(99999999)),

);

my $cart = $cpi-&gt;new_cart({
    buyer =&gt; {
        name               =&gt; 'Mr. Buyer',
        email              =&gt; 'sender@andrewalker.net',
        address_street     =&gt; 'Rua Itagyba Santiago',
        address_number     =&gt; '360',
        address_district   =&gt; 'Vila Mascote',
        address_complement =&gt; 'Ap 35',
        address_city       =&gt; 'SĂŁo Paulo',
        address_state      =&gt; 'SP',
        address_country    =&gt; 'Brazil',
        address_zip_code   =&gt; '04363-040',
        phone              =&gt; '11-9911-0022',
        id_pagador         =&gt; 'O11O22X33X',
    },
    mensagens =&gt; [
        'Produto adquirido no site X',
        'Total pago + frete - PreĂ§o: R$ 144,10',
        'Mensagem linha3',
    ],
    boleto =&gt; {
        expiracao       =&gt; {
            dias =&gt; 7,
            tipo =&gt; 'corridos', #ou uteis
        },
        data_vencimento =&gt; '2012/12/30T24:00:00.0-03:00',
        instrucao1      =&gt; 'Primeira linha de instruĂ§ĂŁo de pagamento do boleto bancĂĄrio',#OPT
        instrucao2      =&gt; 'Segunda linha de instruĂ§ĂŁo de pagamento do boleto bancĂĄrio', #OPT
        instrucao3      =&gt; 'Terceira linha de instruĂ§ĂŁo de pagamento do boleto bancĂĄrio',#OPT
        logo_url        =&gt; 'http://www.nixus.com.br/img/logo_nixus.png',                 #OPT
    },
    formas_pagamento =&gt; [
        'BoletoBancario',
        'CartaoDeCredito',
        'DebitoBancario',
        'CartaoDeDebito',
        'FinanciamentoBancario',
        'CarteiraMoIP',
    ],
    url_retorno =&gt; 'http://www.url_retorno.com.br',
    url_notificacao =&gt; 'http://www.url_notificacao.com.br',
    entrega =&gt; {
        destino =&gt; 'MesmoCobranca',
        calculo_frete =&gt; [
            {
                tipo =&gt; 'proprio', #ou correios
                valor_fixo =&gt; 2.30, #ou valor_percentual
                prazo =&gt; {
                    tipo  =&gt; 'corridos', #ou uteis
                    valor =&gt; 2,
                }
            },
            {
                tipo             =&gt; 'correios',
                valor_percentual =&gt; 12.30,
                prazo =&gt; {
                    tipo    =&gt; 'corridos',#ou uteis
                    valor   =&gt; 2,
                },
                correios =&gt; {
                    peso_total          =&gt; 12.00,
                    forma_entrega       =&gt; 'Sedex10', #ou sedex sedexacobrar sedexhoje
                    mao_propria         =&gt; 'PagadorEscolhe', #ou SIM ou NAO
                    valor_declarado     =&gt; 'PagadorEscolhe', #ou SIM ou NAO
                    aviso_recebimento   =&gt; 'PagadorEscolhe', # ou SIM ou NAO
                    cep_origem          =&gt; '01230-000',
                },
            },
            {
                tipo =&gt; 'correios',
                valor_percentual =&gt; 12.30,
                prazo =&gt; {
                    tipo    =&gt; 'corridos',#ou uteis
                    valor   =&gt; 2,
                },
                correios =&gt; {
                    peso_total          =&gt; 12.00,
                    forma_entrega       =&gt; 'Sedex10', #ou sedex sedexacobrar sedexhoje
                    mao_propria         =&gt; 'PagadorEscolhe', #ou SIM ou NAO
                    valor_declarado     =&gt; 'PagadorEscolhe', #ou SIM ou NAO
                    aviso_recebimento   =&gt; 'PagadorEscolhe', # ou SIM ou NAO
                    cep_origem          =&gt; '01230-000',
                },
            },
        ]
    }
},
);

my $item = $cart-&gt;add_item({
    id          =&gt; 2,
    quantity    =&gt; 1,
    price       =&gt; 222,
    description =&gt; 'produto2',
});

my $item = $cart-&gt;add_item({
    id          =&gt; 1,
    quantity    =&gt; 2,
    price       =&gt; 111,
    description =&gt; 'produto1',
});

my $res = $cpi-&gt;make_xml_transaction( $cart );
\{
    code    "SUCCESS",
    id      201301231157322850000001500872,
    token   "C2R0A1V3K0P132J3Q1C1S5M7R3N2P2N8B5L0Q0M0J05070U1W5K0P018D7T2"
}

Return on success:
    {
        code    "SUCCESS",
        id      201301231157322850000001500872,
        token   "C2R0A1V3K0P132J3Q1C1S5M7R3N2P2N8B5L0Q0M0J05070U1W5K0P018D7T2"
    }

Return on error:
    {
        code    "ERROR",
        raw_error   "&lt;ns1:EnviarInstrucaoUnicaResponse xmlns:ns1="http://www.moip.com.br/ws/alpha/"&gt;&lt;Resposta&gt;&lt;ID&gt;201301231158069350000001500908&lt;/ID&gt;&lt;Status&gt;Falha&lt;/Status&gt;&lt;Erro Codigo="2"&gt;O valor do pagamento deverĂĄ ser enviado obrigator
    iamente&lt;/Erro&gt;&lt;/Resposta&gt;&lt;/ns1:EnviarInstrucaoUnicaResponse&gt;"
    }
</pre></body></html>