Passa al contenuto principale
In questa pagina

I pagamenti mensili con interesse sono un'opzione di pagamento che consente ai clienti di dividere il costo di un acquisto in più rate mensili, con interesse applicato al saldo in sospeso.

Con MCI, un cliente paga un tasso di interesse aggiuntivo per la divisione del costo di acquisto in rate mensili.

Quando un cliente sceglie di pagare attraverso pagamenti mensili con interesse, il costo totale dell'acquisto è diviso in rate mensili e i tassi di interesse sono applicati al saldo rimanente in ogni periodo.

Come funziona MCI#

Ecco come funziona un flusso MCI:

  1. Il negozio configura le diverse opzioni di pagamento mensili da PSP nell'Admin DEUNA.
  2. Si tiene conto di quanto segue:
    • Il franchise della carta di credito a cui si applica.
    • L'importo minimo corrispondente per ogni installazione configurata.
    • L'interesse che si applica a ogni franchising.
  3. Il checkout del negozio mostra la disponibilità MCI quando un cliente entra nel BIN di una carta.
  4. Il cliente seleziona il pagamento mensile da un elenco indicato nel checkout.
  5. La transazione viene inviata al PSP per essere elaborata.

Implementazione MCI#

Per utilizzare MSI o MCI, configurare almeno una campagna di installazione.

Per offrire opzioni di installazione:

  1. Generare le opzioni della campagna 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. Abilitare i processori di pagamento del vostro negozio per eseguire transazioni con la bandiera allow_installments: true. Il comportamento della bandiera è il seguente:
    • "MCI" or null: L'importo che va al processore non ha interesse applicato e la transazione deve essere aggiornata dopo essere stata elaborata con l'interesse applicato dal processore. I campi che vengono aggiornati in base alla risposta del processore sono:
      • amount
      • installments_amount
      • installments_rate
    • "MSI": Una transazione senza interesse viene eseguita contro il processore che effettua la transazione. L'importo raggiunge il processore con interesse calcolato. L'importo viene aggiornato prima di effettuare la transazione e viene inviato al processore.

Esempio di creazione del processore

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"
}'

Esempio di aggiornamento del processore

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. Verificare se il negozio può utilizzare le rateizzazione preconfigurate fornite da VTEX.
    • Quando supportato, le rateizzazione ottenute da VTEX devono corrispondere alle opzioni della campagna e devono già includere gli interessi applicabili.
    • In caso contrario, DEUNA costruisce il piano di rateizzazione MCI dalla configurazione della campagna. L'importo dipende da:
      • installments_rate: Si applica direttamente all'importo se non installments_interest_formula è definito.
      • installments_interest_formula: Se specificato, quindi definisce il calcolo degli interessi in base a:
        • amount
        • rate
        • installments
  1. Configurare l'endpoint DEUNA secondo le rate abilitate in VTEX.
    1. Creare un endpoint esterno, specificando che è per MCI.
    2. Se non si configura l'endpoint, viene utilizzato un endpoint predefinito per il 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. Opzioni di installazione.
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. Selezionare un'opzione di installazione.
  2. Fare l'acquisto con l'opzione di installazione.
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}"
            }
        }
    }
}'

Test MCI#

Per creare la campagna è necessario:

  • Sii autenticato come mercante.
  • Configurare i processori che offrono gli installments.
  • I processori devono avere il nome e l'identità dell'ecosistema DEUNA.

Esempio

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

La stessa campagna deve avere le sue opzioni con "installments_type": "MCI".

Esempio

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

Entro la fine del mese card_branch# "name" può essere:

  • visa
  • mastercard
  • amex

Codici di risposta previsti

  • 201: Creazione di campagne di successo.
  • 401: Non autorizzato a creare la campagna.
  • 400: Richiesta non valida.

Per creare processori di pagamento mercantile, è necessario:

  1. Autentiche come mercante.
  2. Avere le credenziali necessarie per eseguire le transazioni di installazione.

Installazioni con VTEX

Verificare la disponibilità di MCI per il negozio VTEX richiesto con il proprio rappresentante DEUNA prima dei test di recupero delle rateizzazione.

Il rappresentante DEUNA confermerà il negozio idoneo, la campagna, le connessioni del processore di pagamento e se i valori di rateizzazione forniti da VTEX o il calcolo della campagna di DEUNA sono autorevoli.

Se avete bisogno di una configurazione aggiuntiva per impostare un endpoint con specifiche credenziali per VTEX, è necessario creare un endpoint esterno.

Codici di risposta previsti

  • 200: Creazione di un punto di fine esterno.
  • 401: Non autorizzato a creare endpoint esterno.
  • 400: Richiesta non valida.

Installazioni di query

Accostare il piano di installazione con la scheda BIN dopo aver creato un ordine.

Codici di risposta previsti

  • 200: Recuperare con successo il piano di rate.
  • 401: Non autorizzato a creare il processore di pagamento mercantile.
  • 400: Richiesta non valida.
  • 404: Nessun processore di pagamento mercantile configurato correttamente.

Carte di prova

Fornire tutti i dati della scheda di prova dal processore.

In generale i dati sono:

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

Codici di risposta previsti

  • 200: transazione di successo.
  • 401: L'utente non autorizzato a effettuare l'acquisto.
  • 400: richiesta non valida, come il commerciante non avendo abilitato i processori di pagamento mercantile.
  • 422: La transazione non poteva essere eseguita perché il processore ha rifiutato.