Paramètres

La donnée attendue consiste en un objet Payment sauf que seul l'attribut purchase_amount est requis, le reste des attributs est optionnel.

curl -X POST https://api.getalma.eu/v1/payments/eligibility \
-H "Authorization: Alma-Auth sk_live_<API key>" \
-H "Content-Type: application/json" \
-d '{ "payment": { "purchase_amount": 20000 } }'

Éligibilité pour plusieurs échéanciers

Il est possible de demander l'éligibilité de plusieurs échéanciers en même temps.
Pour cela, il vous suffit de passer la liste des nombres d'échéances dont vous souhaitez vérifier l'éligibilité dans le paramètre installments_count :

curl -X POST https://api.getalma.eu/v1/payments/eligibility \
-H "Authorization: Alma-Auth sk_live_<API key>" \
-H "Content-Type: application/json" \
-d '{ "payment": { "purchase_amount": 20000, "installments_count": [3, 4] } }'

Réponse

Si jamais le compte marchand rattaché à la clef d'API utilisée n'est pas encore activé, cet appel renverra une erreur 400.
Sinon, le code HTTP renvoyé est 200 et la réponse dépend du résultat d'éligibilité.

Achat éligible

Si l'achat est éligible au paiement en plusieurs fois, la réponse contient l'échéancier qui serait appliqué au client (dates d'échéances, montants et frais appliqués au client) :

Champ

Type

Description

eligible

boolean

true

deferred_days

integer

Nombre de jours de décalage pour du paiement différé.

deferred_months

integer

Nombre de mois de décalage pour du paiement différé.

installments_count

integer

Nombre d'échéances dans l'échéancier (3 par défaut).

customer_total_cost_amount

integer

Montant total des frais et intérêts payés par le client en centimes. Les intérêts sont calculés à partir d'un échéancier commençant à la date de l'appel à eligibility.

customer_total_cost_bps

integer

Pourcentage en bps de la part de frais et intérêts payés par le client. Les intérêts sont calculés à partir d'un échéancier commençant à la date de l'appel à eligibility.

Dans le cas du p3x et p4x cela correspond le plus souvent au customer_fee_variable.

Pour du crédit (plus de 4 fois) cette valeur change en fonction du calcul des intérêts et donc de la date de début de l'échéancier. Elle a alors une valeur pédagogique mais n'est pas contractuelle. Il n'est donc pas recommandé de l'afficher dans le parcours de paiement.

payment_plan

object

Liste des échéances pour cet achat :

purchase_amount

integer

Montant de la part de capital remboursé par l'échéance, en centimes.

customer_fee

integer

Éventuels frais de paiement appliqués au client sur cette échéance, en centimes.

customer_interest

integer

Éventuels intérêts appliqués au client sur cette échéance, en centimes. Les intérêts sont calculés à partir d'un échéancier commençant à la date de l'appel à eligibility.

due_date

timestamp

Date à laquelle le paiement de cette échéance est dû.

total_amount

integer

Montant de l'échéance total en centimes. Cela inclus le capital remboursé, les frais et les intérêts de l'échéance.

Exemple de réponse pour un achat éligible :

[
    {
        "customer_total_cost_amount": 0,
        "customer_total_cost_bps": 0,
        "deferred_days": 0,
        "deferred_months": 0,
        "eligible": true,
        "installments_count": 3,
        "payment_plan": [
            {
                "customer_fee": 0,
                "customer_interest": 0,
                "due_date": 1628064041,
                "purchase_amount": 6668,
                "total_amount": 6668
            },
            {
                "customer_fee": 0,
                "customer_interest": 0,
                "due_date": 1630742441,
                "purchase_amount": 6666,
                "total_amount": 6666
            },
            {
                "customer_fee": 0,
                "customer_interest": 0,
                "due_date": 1633334441,
                "purchase_amount": 6666,
                "total_amount": 6666
            }
        ]
    },
    {
        "customer_total_cost_amount": 300,
        "customer_total_cost_bps": 150,
        "deferred_days": 0,
        "deferred_months": 0,
        "eligible": true,
        "installments_count": 4,
        "payment_plan": [
            {
                "customer_fee": 300,
                "customer_interest": 0,
                "due_date": 1628064041,
                "purchase_amount": 5000,
                "total_amount": 5300
            },
            {
                "customer_fee": 0,
                "customer_interest": 0,
                "due_date": 1630742441,
                "purchase_amount": 5000,
                "total_amount": 5000
            },
            {
                "customer_fee": 0,
                "customer_interest": 0,
                "due_date": 1633334441,
                "purchase_amount": 5000,
                "total_amount": 5000
            },
            {
                "customer_fee": 0,
                "customer_interest": 0,
                "due_date": 1636012841,
                "purchase_amount": 5000,
                "total_amount": 5000
            }
        ]
    }
]

Si, dans la requête, installments_count a été passé comme un tableau (même avec un seul élément), alors la réponse est un tableau de ces objets, un par nombre d'échéances, dans le même ordre que la liste fournie en entrée.

Note: il est tout à fait possible que eligible soit true pour certains échéanciers et false pour d'autres. Il convient donc de toujours vérifier la réponse pour chaque échéancier afin de ne présenter à l'utilisateur que les échéanciers auxquels il est éligible.

Achat non éligible

Dans le cas où l'achat n'est pas éligible, la réponse contient :

  • L'attribut qui constitue la cause de l'éligibilité, et la raison
  • Un ensemble de "contraintes" qui peuvent expliquer pourquoi l'attribut n'a pas été accepté

Champ

Type

Description

eligible

boolean

false

installments_count

integer

Nombre d'échéances dans l'échéancier (3 par défaut).

deferred_days

integer

Nombre de jours de décalage pour du paiement différé.

deferred_months

integer

Nombre de mois de décalage pour du paiement différé.

reasons

object

Attributs en cause de l'échec d'éligibilité

reasons.<attribut>

string

Raison du rejet pour l'attribut nommé en clef

constraints

object

Contraintes que l'achat doit respecter :

constraints[purchase_amount]

object

Contraintes sur le montant d'achat

constraints[purchase_amount[minimum]]

integer

Montant minimum éligible, en centimes

constraints[purchase_amount[maximum]]

integer

Montant maximum éligible, en centimes

Exemple de réponse pour un achat non éligible :

{
    "constraints": {
        "purchase_amount": {
            "maximum": 1000000,
            "minimum": 100
        }
    },
    "deferred_days": 0,
    "deferred_months": 0,
    "eligible": false,
    "installments_count": 3,
    "reasons": {
        "purchase_amount": "invalid_value"
    }
}

Si, dans la requête, installments_count a été passé comme un tableau (même avec un seul élément), alors la réponse est un tableau de ces objets, un par nombre d'échéances, dans le même ordre que la liste fournie en entrée.

Language
Authentication
Header