Page tree

Contenu


Présentation

En mode Widget, 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

Cette étape est réalisée avec le web service  doWebPayment.

É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

<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.

Pour chaque échéance (billingRecord) : 

Élément

Commentaire

Format

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

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.

<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.

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

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


Le format de l'échéancier : 

{
  "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 : 

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