Un charge flow permet de débiter un client sans nécessiter de contrat direct avec celui-ci. Le flow définit une séquence de niveaux. À chaque niveau, nous appliquons les mécanismes suivants pour débiter le client :
Nous essayons d’utiliser le token fourni par la transaction pour débiter le client. Si aucun token ou un token non initialisé n’est fourni, cette étape est ignorée.
Si un mode de paiement permettant le débit sans aucune interaction de l’utilisateur (tel qu’un virement bancaire) est configuré, nous utilisons ce mode de paiement pour le débit.
Si aucun des mécanismes ci-dessus ne fonctionne, un lien est envoyé au client. L’e-mail invite le client à cliquer sur le lien pour finaliser le paiement. Le lien pointe vers la page de paiement. Le client peut y sélectionner n’importe quel mode de paiement configuré et finaliser la transaction.
Étant donné qu’un charge flow se compose de plusieurs configurations de niveau de Charge Flow, le processus ci-dessus est répété plusieurs fois. La configuration de niveau permet de spécifier l’intervalle et la manière dont les étapes ci-dessus sont exécutées.
Un space peut contenir plusieurs charge flows. La sélection du charge flow s’effectue de la manière suivante :
Les flows sont ordonnés selon leur priorité
Le flow qui remplit toutes les conditions est sélectionné
Une fois qu’un flow est sélectionné, il n’est plus jamais modifié pour les niveaux de flow suivants.
Un charge flow peut avoir les états suivants :
Lorsque l’état est défini sur Active, ce charge flow sera choisi pour la transaction.
Lorsque l’état est défini sur Inactive, ce charge flow ne sera pas choisi. Toutefois, toutes les informations sont conservées et le charge flow peut être réactivé à tout moment.
Le charge flow est en cours de suppression. Cela peut prendre un certain temps jusqu’à ce que le charge flow soit marqué comme Deleting avant d’être marqué comme Deleted.
Le charge flow est supprimé. Étant donné que le charge flow est lié à des données qui ne peuvent pas être supprimées immédiatement, nous devons conserver le charge flow jusqu’à ce que toutes les données puissent être supprimées.