PrincipePayline propose de gérer les échéances, il suffit d'appeler le service doWebPayment et de lire le résultat avec le service gestWebPayment Details getWebPaymentDetails. Etape 1 : Initialiser la demande de paiement WebLes 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) |
Voici un extrait d’appel au web service « doWebPayment » : Bloc de code |
---|
| <impl:payment>
<obj:amount>150000</obj:amount>
<obj:currency>978</obj:currency>
<obj:action>100</obj:action>
<obj:mode>NX</obj:mode>
<obj:contractNumber>1234567</obj:contractNumber>
<obj:differedActionDate />
</impl:payment>
…
<impl:recurring>
<obj:firstAmount>50000</obj:firstAmount>
<obj:amount>50000</obj:amount>
<obj:billingCycle>40</obj:billingCycle>
<obj:billingLeft>3</obj:billingLeft>
<obj:billingDay>05</obj:billingDay>
<obj:startDate></obj:startDate>
</impl:recurring> |
Etape 2 : Lire le détail de la transaction
Cette étape est réalisée avec le web service « getWebPaymentDetails ». 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 |
Un exemple de lecture du détail de la transactionVoici un exemple d’extrait de la réponse du web service « getWebPaymentDetails ». Bloc de code |
---|
| <billingRecordList>
<billingRecord xmlns="http://obj.ws.payline.experian.com">
<date>10/09/2013</date>
<amount>50000</amount>
<status>1</status>
<result>
<code>00000</code>
<shortMessage>Transaction approved</shortMessage>
<longMessage>Transaction approved</longMessage>
</result>
<transaction>
<id>10910171316416</id>
<date>10/09/2013 17:13</date>
<isDuplicated/>
<isPossibleFraud/>
</transaction>
<authorization>
<number>A55A</number>
<date/>
</authorization>
</billingRecord>
<billingRecord xmlns="http://obj.ws.payline.experian.com">
<date>05/10/2013</date>
<amount>50000</amount>
<status>0</status>
</billingRecord>
<billingRecord xmlns="http://obj.ws.payline.experian.com">
<date>05/11/2013</date>
<amount>50000</amount>
<status>0</status>
</billingRecord>
</billingRecordList> |
Lire le détail du résultat d'une échéanceSuite à la notification d’une échéance, vous devez venir chercher le résultat de la transaction en appelant le web service « getPaymentRecordId » getPaymentRecord» 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 paiementPour désactiver un dossier de paiement, vous devez réaliser un appel au web service « disablePaymentRecord » 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> |
Modifier une échéanceLa modification d’une échéance peut être réalisée sur le centre d’administration. Pour cela, il faut vous rendre dans l’onglet « Paiement récurrent » / « Gestion des dossiers de paiements », rechercher votre dossier de paiement avec son numéro. Dans le détail du dossier de paiement, vous pouvez consultez vos échéances à venir :
En cliquant sur le lien « Modifier » à partir d’une échéance, vous avez accès à cet écran :
Vous pouvez modifier le montant et/ou la date de l’échéance à partir de cet écran.
L'affichage de l'échéancier
La fonction en mode Widget est : Développer |
---|
|
Bloc de code |
---|
language | xml |
---|
theme | Confluence |
---|
| Payline.Underscore.forEach( Payline.Api.getRecurringDetails().schedules, function(key, value) { console.log(value + " " + key) } ); |
|
Le format de l'échéancier : Développer |
---|
|
Bloc de code |
---|
language | xml |
---|
theme | Confluence |
---|
| {
"schedules": {
"24/05/2018": "5,00 EUR",
"31/05/2018": "5,00 EUR",
"07/06/2018": "5,00 EUR",
"14/06/2018": "5,00 EUR",
"21/06/2018": "5,00 EUR",
"28/06/2018": "5,00 EUR",
"05/07/2018": "5,00 EUR",
"12/07/2018": "5,00 EUR",
"19/07/2018": "5,00 EUR",
"26/07/2018": "5,00 EUR",
"02/08/2018": "5,00 EUR",
"09/08/2018": "5,00 EUR",
"16/08/2018": "5,00 EUR",
"23/08/2018": "5,00 EUR",
"30/08/2018": "5,00 EUR",
"06/09/2018": "5,00 EUR",
"13/09/2018": "5,00 EUR",
"20/09/2018": "5,00 EUR",
"27/09/2018": "5,00 EUR",
"04/10/2018": "5,00 EUR"
},
"type": "NX",
"billingNumber": 20,
"firstAmount": "5,00 EUR",
"billingCycle": "Hebdomadaire",
"amount": "5,00 EUR"
} |
|
L'affichage de la page de paiement résume les informations de l'échéancier : en widget |
---|
Développer |
---|
| Image Added |
|
Le ticket de paiement reprend les informations de l'échéancier de paiement : Image Added
Les pages web de paiement (redirection)Étape 1 : je choisis mon moyen de paiement
Étape 2 : je saisis mes données cartes bancaires
Étape 3 : je consulte mon ticket de paiement Image Removed
|