A maxiPago! oferece aos seus clientes a possibilidade de agendar cobranças recorrentes de cartão de crédito. Nesta modalidade o número e a data de vencimento do cartão são guardados em nossos servidores seguros, junto com o intervalo de cobrança. A maxiPago! ficará encarregada de cobrar o seu cliente quando chegar a hora.

A estrutura do XML de uma transação recorrente é muito similar a de uma requisição de Venda Direta. O nó <recurring/> deve ser utilizado para determinar o intervalo de cobrança do pedido, e o nome do elemento da transação é <recurringPayments/>.

Criando a Recorrência – URLs Para Envio dos Dados

SANDBOX: https://testapi.maxipago.net/UniversalAPI/postXML

PRODUÇÃO: https://api.maxipago.net/UniversalAPI/postXML

Criando a Recorrência – Exemplo de Requisição

O exemplo abaixo possuí todos os parâmetros disponíveis, mas nem todos são obrigatórios.

<transaction-request>
    <version>3.1.1.15</version>
    <verification>
        <merchantId>store-id</merchantId>
        <merchantKey>store-key</merchantKey>
    </verification>
    <order>
        <recurringPayment>
            <processorID>1</processorID>
            <referenceNum>TestTransaction123344</referenceNum>
            <ipAddress>123.123.123.123</ipAddress>
            <customerIdExt>123.123.123-12</customerIdExt>
            <billing>
                <name>Fulano de Tal</name>
                <address>Av. Republica Livre, 230</address>
                <address2>16 Andar</address2>
                <district>Centro</district>
                <city>Sao Paulo</city>
                <state>SP</state>
                <postalcode>08021310</postalcode>
                <country>BR</country>
                <phone>1132890900</phone>
                <email>billing@maxipago.com</email>
                <companyName>Empresa X</companyName>
            </billing>
            <shipping>
                <name>Fulano de Tal</name>
                <address>Av. Republica Livre, 230</address>
                <address2>16 Andar</address2>
                <district>Centro</district>
                <city>Sao Paulo</city>
                <state>SP</state>
                <postalcode>08021310</postalcode>
                <country>BR</country>
                <phone>1132890900</phone>
                <email>shipping@maxipago.com</email>
            </shipping>
            <transactionDetail>
                <payType>
                    <creditCard>
                        <number>3550464082005915</number>
                        <expMonth>12</expMonth>
                        <expYear>2029</expYear>
                        <cvvNumber>954</cvvNumber>
                    </creditCard>
                </payType>
            </transactionDetail>
            <payment>
                <chargeTotal>10.00</chargeTotal>
                <currencyCode>BRL</currencyCode>
            </payment>
            <recurring>
                <action>new</action>
                <startDate>2021-12-01</startDate>
                <period>monthly</period>
                <frequency>1</frequency>
                <installments>12</installments>
                <firstAmount>22.00</firstAmount>
                <lastAmount>22.00</lastAmount>
                <lastDate>2022-12-30</lastDate>
                <failureThreshold>15</failureThreshold>
                <onFailureAction>skip</onFailureAction>
            </recurring>
        </recurringPayment>
    </order>
</transaction-request>

Criando a Recorrência – Exemplo de Retorno em Caso de Sucesso

<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
    <authCode>123456</authCode>
    <orderID>0A0115AF:017C77202440:B185:5F0F20B1</orderID>
    <referenceNum>TestTransaction123344</referenceNum>
    <transactionID>417853565</transactionID>
    <transactionTimestamp>1634086167</transactionTimestamp>
    <responseCode>0</responseCode>
    <responseMessage>CAPTURED</responseMessage>
    <avsResponseCode>YYY</avsResponseCode>
    <cvvResponseCode>M</cvvResponseCode>
    <processorCode>A</processorCode>
    <processorMessage>APPROVED</processorMessage>
    <processorName>SIMULATOR</processorName>
    <errorMessage/>
    <processorTransactionID>948380</processorTransactionID>
    <processorReferenceNumber>138541</processorReferenceNumber>
    <creditCardCountry>US</creditCardCountry>
    <creditCardScheme>JCB</creditCardScheme>
</transaction-response>

Criando a Recorrência – Exemplo de Retorno em de Erro

<?xml version="1.0" encoding="UTF-8"?>
<transaction-response>
    <authCode/>
    <orderID/>
    <referenceNum/>
    <transactionID/>
    <transactionTimestamp>1634086666896</transactionTimestamp>
    <responseCode>1024</responseCode>
    <responseMessage>INVALID REQUEST</responseMessage>
    <avsResponseCode/>
    <cvvResponseCode/>
    <processorCode/>
    <processorMessage/>
    <processorName>SIMULATOR</processorName>
    <creditCardBin>355046</creditCardBin>
    <creditCardLast4>5915</creditCardLast4>
    <errorMessage>Recurring Payment StartDate must be greater than today.</errorMessage>
    <creditCardScheme>JCB</creditCardScheme>
</transaction-response>

Criando a Recorrência – Tabela de Parâmetros

Cenários de Teste -Sandbox