Payline 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 É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 en annexe « Erreur ! Source du renvoi introuvable.» recurring.billingLeft Nombre d’échéance Non4 N3 3 par exemple 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 Cet 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. Eché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 » : Pour chaque échéance (billingRecord) : Elément Commentaire Requis Exemple billingRecord.date2 La date de l’échéance AN10 Format : dd/mm/yyyy billingRecord.amount2 Le montant de l’échéance dans la plus petite unité de la devise. N12 billingRecord.status2 Le statut d’une échéance : 0 : échéance à venir. 1 : échéance accepté. 2 : échéance refusé. AN1 billingRecord.result.code2 Le code de retour du traitement de l’échéance 00000 : Transaction approved 01xxx : Transaction refused 02302 : Transaction invalid N5 cf. liste complète en annexe tableau « Liste des codes retours » billingRecord.result.shortMessage2 Message court du résultat de la transaction AN50 billingRecord.result.longMessage2 Message du résultat de la transaction AN255 billingRecord.transaction.Id2 Identifiant unique de la transaction Payline AN50 billingRecord.transaction.isPossibleFraud2 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.isDuplicated2 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.date2 Date et heure de la transaction Payline AN16 Format :dd/mm/yyyy HH24:MI billingRecord.authorization.number2 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.date2 Date et heure de l’autorisation AN16 Format :dd/mm/yyyy HH24:MI Voici un exemple d’extrait de la réponse du web service « getWebPaymentDetails ». 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. 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 : La 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. É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 Principe
Étape 1 : initialiser la demande de paiement Web
Les balises à utiliser dans la requête
Un exemple de demande de paiement
<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 service
Un exemple de lecture du détail de la transaction
<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éance
Un exemple de requête
<impl:getPaymentRecordRequest>
<impl:contractNumber>7891234</impl:contractNumber>
<impl:paymentRecordId>185321</impl:paymentRecordId>
</impl:getPaymentRecordRequest>
Désactiver un dossier de paiement
<impl:disablePaymentRecordRequest>
<impl:contractNumber>7891234</impl:contractNumber>
<impl:paymentRecordId>185531</impl:paymentRecordId>
</impl:disablePaymentRecordRequest>
Modifier une échéance
Les pages Web de paiement