PW - Paiement N fois

S’abonner


Contenu




Principe

Payline propose de gérer les échéances, il suffit d'appeler le service doWebPayment et de lire le résultat avec le service getWebPaymentDetails.

Etape 1 : Initialiser la demande de paiement Web

Les 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 paiement

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.

É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 » :

<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

Pour 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 transaction

Voici un exemple d’extrait de la réponse du web service « getWebPaymentDetails ».

<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

Suite à la notification d’une échéance, vous devez venir chercher le résultat de la transaction en appelant le web service « getPaymentRecord» avec l’identifiant du dossier de paiement reçu en paramètre de l’URL de notification.

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

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 :

<impl:disablePaymentRecordRequest>
     <impl:contractNumber>7891234</impl:contractNumber>
     <impl:paymentRecordId>185531</impl:paymentRecordId>
</impl:disablePaymentRecordRequest>

Modifier une échéance

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.



L'affichage de l'échéancier


La fonction  en mode Widget est :  

Exemple..
Payline.Underscore.forEach( Payline.Api.getRecurringDetails().schedules, function(key, value) { console.log(value + " " + key) } );




Le format de l'échéancier : 

Exemple..
{
  "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


Exemple




Le ticket  de paiement reprend les informations de l'échéancier de paiement : 








Vous avez d’autres questions ? Envoyer une demande

Commentaires

Réalisé par Zendesk