Pular para o conteúdo principal
Nesta página

A mensalidade com juros é uma opção de pagamento que permite ao seu cliente dividir o custo de uma compra em diversas parcelas mensais, com juros aplicados sobre o saldo devedor.

Com o MCI, o cliente paga uma taxa de juros adicional pela divisão do custo de compra em parcelas mensais.

Quando o cliente opta pelo pagamento Mensal com juros, o custo total da compra é dividido em parcelas mensais e incidem taxas de juros sobre o saldo restante de cada período.

Como funciona o MCI#

Veja como funciona um fluxo MCI:

  1. A loja configura as diferentes opções de pagamento mensal por PSP no DEUNA Admin.
  2. O seguinte é levado em consideração:
    • A franquia de cartão de crédito à qual se aplica.
    • O respectivo valor mínimo para cada parcela configurada.
    • Os juros que se aplicam a cada franquia.
  3. O checkout da loja mostra a disponibilidade do MCI quando um cliente insere o BIN de um cartão.
  4. O cliente seleciona o pagamento mensal em uma lista exibida na finalização da compra.
  5. A transação é enviada ao PSP para ser processada.

Implementar MCI#

Para usar MSI ou MCI, configure pelo menos uma campanha parcelada.

Para oferecer opções de parcelamento:

  1. Gere as opções de campanha installments_type.
curl --location --request POST 'https://apigw.getduna.com/merchants/{merchant_id}/installments/campaigns' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {merchant_auth_token}' \
--data '{
    "name": "new campaign",
    "description": "testing campaign MCI",
    "status": "active",
    "processors": [
        {
            "id": {processor_id},
            "name": {processor_name}
        }
    ],
		// display_label_template is optional; that configuration allows you to 
		// change the format of the field "display_label_amount" of each available 
    	'// option when you generate an installment plan. If you don`t configurate this'
    	'// field, the template will be the default one.'
    "display_label_template": {
        "language": "es",
        "MSI": "{installments} meses sin intereses de ${amount}",
        "MCI": "{installments} meses de ${amount}"
    },
    "options": [
        {
            "installments": 3,
            "installments_type": "MCI",
            "currency": "MXN",
            "card_branch": [
                {
										// minimum amount for installment amount in the plan, this option
										// will be valid to generate installment plan only in that case;
										// For example, with a total amount of $2100; in 3 installments the amount 
										// will be of $700, so $700 >= $500, then the option is valid to
										// generate an installment plan of $2100 (you can offer 3 installments
										// to pay $2100). In the case of having intallments_rate greater than 0, 
										// first the interest is applied to the amount and then it is compared with the min_amount.
                    "amount_min": 500,
										// optional, the same example than amount_min but with the maximum value.
                    "amount_max": 2000,
                    "name": "visa",
										// is the percentage applied to the amount in order to generate the options for the plan.
										"installment_rate": 1.5,
										// use the operators "amount", "rate" and "installments" when calculate the new amount;
										// if it's not specified, the calculation is the default for interests: "amount+(amount*(rate/100))"
										"installments_interest_formula": "amount+((amount*rate*installments)/100)"
                }
            ]
        },
        {
            "installments": 6,
            "installments_type": "MCI",
            "currency": "MXN",
            "card_branch": [
                {
                    "amount_min": 250,
                    "amount_max": 1000,
                    "name": "visa",
                }
            ]
        }
				// you can offer more options, the installments quantity must be divisible by 3.
    ]
}'
  1. Habilite os processadores de pagamento da sua loja para realizar transações com a bandeira allow_installments: true. O comportamento do sinalizador é o seguinte:
    • "MCI" or null: O valor que vai para o processador não tem juros aplicados e a transação deve ser atualizada após ser processada com os juros aplicados pelo processador. Os campos atualizados com base na resposta do processador são:
      • amount
      • installments_amount
      • installments_rate
    • "MSI": Uma transação sem juros é realizada contra o processador que realiza a transação. O valor chega ao processador com juros calculados. O valor é atualizado antes de realizar a transação e ser enviado ao processador.

Exemplo para criar o processador

curl --location --request POST 'https://apigw.getduna.com/merchants/{merchant_id}/stores/{store_code}/processors' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {merchant_auth_token}' \
--data '{
    "name": {processor_name},
    "payment_processor_id": {processor_id},
    "enabled": true,
    "currency_iso3": "MXN",
    "external_merchant_id": "your merchant id in payment processor",
    "public_api_key": "your public key in payment processor",
		"private_api_key": "your private key in payment processor",
    "allow_installments": true,
		"mci_to_psp_as": "MCI"|"MSI"
}'

Exemplo para atualizar o processador

curl --location --request PATCH 'https://apigw.getduna.com/merchants/{merchant_id}/stores/{store_code}/processors/{merchant_payment_processor_id}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {merchant_auth_token}' \
--data '{
    "allow_installments": true,
		"mci_to_psp_as": "MCI"|"MSI"
}'
  1. Verifique se a loja pode utilizar parcelamentos pré-configurados fornecidos pelo VTEX.
    • Quando suportado, os parcelamentos obtidos do VTEX devem corresponder às opções da campanha e já devem incluir os juros aplicáveis.
    • Caso contrário, a DEUNA constrói o plano de parcelamento MCI a partir da configuração da campanha. O valor depende de:
      • installments_rate: Aplica-se diretamente ao valor se não installments_interest_formula está definido.
      • installments_interest_formula: se especificado, define o cálculo de juros com base em:
        • amount
        • rate
        • installments
  1. Configure o endpoint DEUNA de acordo com as parcelas habilitadas na VTEX.
    1. Crie um terminal externo, especificando que é para MCI.
    2. Se você não configurar o terminal, um terminal padrão será usado para o caso.
curl --location 'https://apigw.getduna.com/merchants/{merchant_id}/external-endpoints' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {merchant_auth_token}' \
  --data '{
      "url": "https://middleware.deuna.io/api/v1/merchants/{merchant_id}/transactions/{transaction_id}/installments/mci?bin={bin}&salesChannel=1&paymentProcessors=t1pagos",
      "http_method": "GET",
      "headers": [
          {
              "key": "vtex-key-header",
              "value": "vtex-value-header"
          }
      ],
      "config_type": "MCI"
  }'
  1. Consultar opções de parcelamento.
curl --location --request GET 'https://apigw.getduna.com/merchants/transactions/orders/{orden_token}/installments?bin={card_bin}'
	--header 'x-api-key: {x_api_key}'
	--header 'Authorization: Bearer {merchant_auth_token}'
  1. Selecione uma opção de parcelamento.
  2. Faça a compra com a opção de parcelamento.
curl --location --request POST 'https://api.sandbox.deuna.io/v2/merchants/orders/purchase' \
--header 'x-api-key: {x_api_key}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {user_auth_token}' \
--data-raw '{
    "order_token": "{order_token}",
    "payer_info": {
        "email": "test123@testuser.com"
    },
    "payment_source": {
        "method_type": "credit_card",
        "processor": "{processor_name}",
        "card_info": {
            "expiry_month": "11",
            "expiry_year": "2028",
            "card_holder": "DEUNA Developers",
            "card_holder_dni": "185396924",
            "card_number": "4111111111111111",
            "card_cvv": "123",
            "address1": "Vergara 548",
            "zip": "001100",
            "city": "Santiago",
            "state": "RM",
            "country": "CL",
            "phone": "12345755",
            "installment": {
                "plan_option_id": "{plan_option_id}"
            }
        }
    }
}'

Teste MCI#

Para criar a campanha é necessário:

  • Seja autenticado como comerciante.
  • Configure as processadoras que oferecem parcelamento.
  • Os processadores devem ter o id e nome do ecossistema DEUNA.

Exemplo

JavaScript
{
	"processors": [
		{
			"id": 39,
			"name": "mercadopago"
		}
	]
}

A mesma campanha deve ter suas opções com "installments_type": "MCI".

Exemplo

JavaScript
{
	"options": [
        	{
            	"installments": 3,
            	"installments_type": "MCI",
            	"currency": "MXN",
            	"card_branch": [
                	...
            	]
        	}
	]
}

Dentro card_branch, o "name" pode ser:

  • visa
  • mastercard
  • amex

Códigos de resposta esperados

  • 201: Criação de campanha bem-sucedida.
  • 401: Não autorizado a criar a campanha.
  • 400: Solicitação inválida.

Para criar processadores de pagamento de comerciante, você deve:

  1. Autentique-se como comerciante.
  2. Tenha as credenciais necessárias para realizar transações parceladas.

Parcelamento com VTEX

Verifique a disponibilidade do MCI para a loja VTEX específica com a sua DEUNA TAM antes de testar a recuperação de parcelamentos.

O TAM confirmará a loja elegível, a campanha, as conexões de processador e se os valores de parcelamento do VTEX ou o cálculo da campanha da DEUNA são os autoritativos.

Caso necessite de alguma configuração adicional para configurar um endpoint com credenciais específicas para VTEX, você deverá criar um endpoint externo.

Códigos de resposta esperados

  • 200: Criação bem-sucedida de endpoint externo.
  • 401: Não autorizado a criar endpoint externo.
  • 400: Solicitação inválida.

Consultar parcelas

Consulte o parcelamento com o BIN do cartão após criar um pedido.

Códigos de resposta esperados

  • 200: Recuperação bem-sucedida do parcelamento.
  • 401: Não autorizado a criar processador de pagamentos de comerciante.
  • 400: Solicitação inválida.
  • 404: Nenhum processador de pagamento do comerciante configurado corretamente.

Cartões de teste

Forneça todos os dados do cartão de teste do processador.

Em geral os dados são:

  • "card_number"
  • "card_cvv"
  • "expiry_year"
  • "expiry_month"
  • "card_holder"

Códigos de resposta esperados

  • 200: Transação bem-sucedida.
  • 401: Usuário não autorizado a realizar a compra.
  • 400: Solicitação inválida, como o comerciante não ter habilitado os processadores de pagamento do comerciante.
  • 422: A transação não pôde ser executada porque o processador a recusou.