PrincipePayline propose de gérer les échéances, il suffit d'appeler le service doRecurrentWalletPaymentRequest. Étape 1 : Initialiser la demande de paiementLes balises à utiliser dans la requêteÉlément
| Description | Requis | Type | Exemple | payment.mode | Mode de paiement : comptant, différé, N fois, récurrent. | Oui | AN3 | NX : N fois
| recurring.firstAmount | Le montant du premier montant à effectuer. Il doit être formulé dans la plus petite unité de la devise. | Non4 | N12 | pour un montant de 100 €, vous devez mettre la valeur 10000. | recurring.amount | Le montant d’une échéance. Il doit être formulé dans la plus petite unité de la devise. | Oui4 | N12 | pour un montant de 5 €, vous devez mettre la valeur 500. | recurring.billingCycle | Le code de la fréquence des paiements.
| Oui4 | N2 | 40 : mensuel 60 : trimestriel cf. liste complète | recurring.billingLeft | Nombre d’échéance | Non4 | N3 | 3 | recurring.billingDay | Jour où les échéances doivent être traitées. | Non | AN2 | Format à respecter : dd de [01 à 30] | recurring.startDate | La date de la première échéance. Si ce champ n’est pas renseigné, Payline y affecte la date du jour.
| Non4 | AN10 | Format à respecter : dd/mm/yyyy |
Un exemple de demande de paiementCet exemple donne lieu à un paiement en 3 mensualités dont le prélèvement de la première échéance est fait dans un second temps, à l’expédition de votre colis par une demande de validation. Les deuxième et troisième prélèvements seront réalisés tous les « 05 » des mois à venir. Échéances | Type de transaction | LE 10/09/2013 : 500,00 EUR | Autorisation (Débit à l’expédition) | LE 05/10/2013 : 500,00 EUR | Autorisation+Validation (Débit immédiat) | LE 05/11/2013 : 500,00 EUR | Autorisation+Validation (Débit immédiat) |
Étape 2 : Lire le détail de la transactionCette étape est réalisée avec le web service doRecurrentWalletPaymentResponse. Les balises à utiliser dans la réponse du web servicePour chaque échéance (billingRecord) : Élément
| Commentaire | Requis | Exemple | billingRecord.date | La date de l’échéance | AN10 | Format : dd/mm/yyyy | billingRecord.amount | Le montant de l’échéance dans la plus petite unité de la devise. | N12 |
| billingRecord.status | Le statut d’une échéance : 0 : échéance à venir. 1 : échéance accepté. 2 : échéance refusé. | AN1 |
| billingRecord.result.code | Le code de retour du traitement de l’échéance 00000 : Transaction approved 01xxx : Transaction refused 02302 : Transaction invalid | N5 | cf. liste complète | billingRecord.result.shortMessage | Message court du résultat de la transaction | AN50 |
| billingRecord.result.longMessage | Message du résultat de la transaction | AN255 |
| billingRecord.transaction.Id | Identifiant unique de la transaction Payline | AN50 |
| billingRecord.transaction.isPossibleFraud | Cet indicateur est calculé en fonction des critères définis par le commerçant
| AN1 | 1 = Il existe un risque de fraude 0 = Aucun risque de fraude détecté | billingRecord.transaction.isDuplicated | Cet indicateur est retourné par Payline dans le cas de transaction en doublon | AN1 | 1 = Il existe un risque de fraude 0 = Aucun risque de fraude détecté | billingRecord.transaction.date | Date et heure de la transaction Payline | AN16 | Format :dd/mm/yyyy HH24:MI | billingRecord.authorization.number | Numéro d’autorisation délivré par le serveur d’autorisation acquéreur. Ce champ est renseigné si la demande d’autorisation est accordée*.
| N6 | 123456 | billingRecord.authorization.date | Date et heure de l’autorisation | AN16 | Format :dd/mm/yyyy HH24:MI |
Lire le détail du résultat d'une échéance
Suite à la notification d’une échéance, vous devez venir chercher le résultat de la transaction en appelant le web service « getPaymentRecordId » avec l’identifiant du dossier de paiement reçu en paramètre de l’URL de notification. Un exemple de requête Bloc de code |
---|
| <impl:getPaymentRecordRequest>
<impl:contractNumber>7891234</impl:contractNumber>
<impl:paymentRecordId>185321</impl:paymentRecordId>
</impl:getPaymentRecordRequest> |
Désactiver un dossier de paiement
Pour désactiver un dossier de paiement, vous devez réaliser un appel au web service « disablePaymentRecord ». Voici un exemple d’appel à ce web service : Bloc de code |
---|
| <impl:disablePaymentRecordRequest>
<impl:contractNumber>7891234</impl:contractNumber>
<impl:paymentRecordId>185531</impl:paymentRecordId>
</impl:disablePaymentRecordRequest> |
|