A maxiPago! oferece 2 possibilidades de uma recorrência ser editada:
- Quando o cliente quer alterar um dado a qualquer momento;
- Quando uma cobrança é declinada o cliente pode optar por:
- Pular a parcela declinada e dar continuidade as próximas cobranças;
- Cancelar a Recorrência;
- Pausar a Recorrência;
Para realizar uma alteração a qualquer momento, siga as instruções abaixo:
- Para a utilização desse método o comando “modify-recurring” deve ser informado em uma requisição.
- Para que a alteração seja feita, a recorrência deve inicialmente ser pausada com o comando: “disable“;
- Para que a alteração realizada tenha efeito, a recorrência deve ser ativada novamente com o comando: “enable“
Editando a Recorrência – URLs Para Envio dos Dados
SANDBOX: https://testapi.maxipago.net/UniversalAPI/postAPI
PRODUÇÃO: https://api.maxipago.net/UniversalAPI/postAPI
Editando a Recorrência – Exemplo de Requisição
<?xml version="1.0" encoding="UTF-8"?> <api-request> <verification> <merchantId>store-id</merchantId> <merchantKey>store-key</merchantKey> </verification> <command>modify-recurring</command> <request> <orderID>C0A86327:0151B6814FA1:50F7:50212C05</orderID> <paymentInfo> <cardInfo> <creditCardNumber>4716870704643843</creditCardNumber> <expirationMonth>07</expirationMonth> <expirationYear>2018</expirationYear> </cardInfo> <chargeTotal>50.00</chargeTotal> </paymentInfo> <recurring> <processorID>1</processorID> <action>enable</action> <installments>10</installments> <nextFireDate>2017-11-05</nextFireDate> <fireDay>20</fireDay> <period>quarterly</period> <lastDate>2018-11-05</lastDate> <lastAmount>105.00</lastAmount> </recurring> <billingInfo> <name>BILLING REC UPD</name> <address1>R BILLING STREET, 123</address1> <address2>7 ANDAR</address2> <city>SAMPA</city> <zip>01312000</zip> <country>BR</country> <email>billing@maxipago.com</email> <phone>1132890900</phone> </billingInfo> <shippingInfo> <name>BILLING REC UPD</name> <address1>R BILLING STREET, 123</address1> <address2>7 ANDAR</address2> <city>SAMPA</city> <zip>01312000</zip> <country>BR</country> <email>billing@maxipago.com</email> <phone>1132890900</phone> </shippingInfo> </request> </api-request>
Editando a Recorrência – Exemplo de Retorno em Caso de Sucesso
<?xml version="1.0" encoding="UTF-8"?> <api-response> <errorCode>0</errorCode> <errorMessage></errorMessage> <command>modify-recurring</command> <time>1509460190738</time> <result></result> </api-response>
Editando a Recorrência – Exemplo de Retorno em de Erro
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <api-error> <errorCode>1</errorCode> <errorMsg> <![CDATA[java.lang.Exception: empty element detected in setPsInParams for field=merchant_id]]> </errorMsg> </api-error>
Editando as Parcelas da Recorrência
Sempre considerar o número de parcelas da criação da recorrência como base; lembrando que não é possível colocar um número de parcelas inferior aos pagamentos já realizados.
No exemplo a seguir, a cobrança inicial era de 10 parcelas e houve a necessidade de cobrar apenas mais 1. Então considerando que já foram pagas 8 parcelas, o novo número de installments será 9.
<api-request> <version>3.1.1.15</version> <verification> <merchantId>store-id</merchantId> <merchantKey>store-key</merchantKey> </verification> <command>modify-recurring</command> <request> <orderID>C0A86327:0151B6814FA1:50F7:50212C05</orderID> <paymentInfo> <cardInfo> <creditCardNumber>4716870704643843</creditCardNumber> <expirationMonth>07</expirationMonth> <expirationYear>2022</expirationYear> </cardInfo> </paymentInfo> <recurring> <action>enable</action> <installments>9</installments> </recurring> </request> </api-request>
Editando a Recorrência – Tabela de Parâmetros
Nome |
Obrigatório |
Tamanho |
Descrição |
version |
Sim |
11 |
Versão da API |
merchantId |
Sim |
20 |
Id de Loja que identifica o estabelecimento |
merchantKey |
Sim |
80 |
Chave associada ao ID da Loja |
command |
Sim |
– – – |
modify-recurring |
orderID |
Sim |
128 |
ID do pedido, gerado pela maxiPago! |
processorID |
Não |
2 |
Código da adquirente que irá processar a transação: |
action |
Sim |
– – – |
Sempre será enable ou disable |
installments |
Sim |
16 |
De 1 a 999 ou “infinite”
Número de cobranças a serem efetuadas. Exemplo: Se “installments” = 5, então serão feitas 5 cobranças seguindo o intervalo definido acima, a partir da data de início.
A maxipago, permite a criação de recorrências com cobranças infinitas. Para tanto, utilize: <installments>infinite</installments>
É importante que ao escolher criar uma recorrência infinita, os parâmetros: <lastAmount> e <lastDate>, NÃO deverão ser enviados. |
nextFireDate |
Não |
12 |
Próxima data de cobranças da recorrência. Formato AAAA-MM-DD |
fireDay |
Não |
2 |
Nova data de cobrança DD. |
period |
Sim |
10 |
Intervalo de tempo entre cobranças: |
lastDate |
Não |
12 |
Data da última cobrança |
lastAmount |
Não |
14.2 |
Valor a ser cobrado na última parcela da recorrência. |
billingInfo/name shippingInfo/name |
Sim |
64 |
Nome do cliente |
billingInfo/address shippingInfo/address |
Sim |
128 |
Logradouro de cobrança da transação (sem acentos e caracteres especiais). |
billingInfo/address2 shippingInfo/address2 |
Não |
128 |
Complemento do logradouro de cobrança da transação (sem acentos e caracteres especiais). |
billingInfo/distric shippingInfo/distric |
Sim |
64 |
Bairro (sem acentos e caracteres especiais). |
billingInfo/city shippingInfo/city |
Sim |
64 |
Cidade (sem acentos e caracteres especiais). |
billingInfo/state shippingInfo/state |
Sim |
32 |
Estado (enviado com 2 dígitos (UF)). |
billingInfo/postalcode shippingInfo/postalcode |
Sim |
16 |
CEP de cobrança. |
billingInfo/country shippingInfo/country |
Sim |
64 |
País (abreviação de 2 dígitos). |
billingInfo/email shippingInfo/email |
Sim |
128 |
Utilização obrigatória de “@”. |
billingInfo/country shippingInfo/country |
Sim |
64 |
País (abreviação de 2 dígitos). |
billingInfo/companyName |
Sim |
64 |
Biling: Nome da empresa vendedora. |
number |
Sim |
19 |
Número do cartão de crédito do cliente |
expMonth |
Sim |
2 |
Mês de vencimento do cartão com 2 dígitos. Exemplo: Janeiro = 01 |
expYear |
Sim |
4 |
Ano de vencimento do cartão com 4 dígitos |
chargeTotal | Sim | 14.2 | Valor do pedido. Os decimais devem ser separados por ponto (.) |
currencyCode |
Não |
3 |
Código da moeda da transação no formato ISO 4217 |