Page tree
Skip to end of metadata
Go to start of metadata

Contenu


Comment configurer votre compte ?


Vous devez vous rapprocher de votre responsable de compte partenaire Cofidis pour obtenir les informations nécessaires permettant de configurer votre compte sur Payline (login du compte et  mot de passe).
Ensuite veuillez adresser un email à notre équipe support avec les informations, afin qu'ils puissent procéder au paramétrage dans votre compte marchand Payline en indiquant l’ID Marchand et le nom de l’alias du contrat partenaire à créer.
Vous devez réaliser des transactions 'pilote' pour valider le bon fonctionnement en production.

Contactez le support Payline.


Payline se charge de se connecter à l’interface Cofidis afin que l’acheteur puisse réaliser la demande de crédit.

Bancaire

Vous avez souscrit un compte commerçant Cofidis Pay Crédit auprès de Cofidis.
Cette étape vous permet de créer un compte Cofidis Pay chez Cofidis. Cette démarche est réalisation en ligne via le site cofidis-retail. Suivez les instructions qui vous y sont données.

A la fin du processus d’inscription, vous devez disposer de :

  • votre identifiant commerçant Cofidis Pay. Il permet votre identification lors des échanges entre Payline et Cofidis. Celui-ci vous sera demandé lors de votre création de contrat Cofidis Pay Crédit (1EURO.COM SE) sur Payline.
  • un certificat de sécurité pour la connexion à l’API de Cofidis Pay. Ce certificat doit également être communiqué à Payline.

Commercial

Vous avez déclaré votre société au registre du commerce, possédez un n° de SIRET et une adresse email valide.
Vous avez souscrit au produit Payline avec l’option Cofidis Pay (1EURO.COM SE).

Payline

Vous devez communiquer à l’équipe support Payline votre identifiant commerçant Cofids Pay (1EURO.COM SE), ainsi que le certificat de sécurité qui vous a été communiqué par Cofidis.
Afin de créer un contrat Cofidis Pay (1EURO.COM SE) sur Payline, en homologation, rendez-vous sur le centre d’administration dans l’onglet « Configuration » puis « Vos moyens de paiement ». Un écran de recherche s’affiche, cliquez sur le bouton « Nouveau moyen de paiement ».


Écran de création de moyen de paiement  1/2:

Sélectionnez votre point de vente puis le type de moyen de paiement 1EURO.COM SE comme ci-dessous.
Cliquez ensuite sur le bouton « Suivant ».


Écran de création de moyen de paiement  2/2:

Renseigner un libellé, un numéro de contrat de votre choix puis sélectionner votre devise. Cliquez sur le statut « Actif » et renseigner la valeur du champ ID Commerçant 1Euro.com SE. Il s’agit d’un compte de test utilisable uniquement dans l’environnement d’homologation.


Comment proposer le paiement Cofidis 1Euro SE+ à vos clients ?

Une fois le moyen de paiement activé, il vous suffit d'utiliser l'API Webpayment et les fonctions doWebPayment() et getWebPaymentDetails() avec une version 8 ou supérieure.
Les API DirectPayment, Ajax, Batch et TPEV ne sont pas disponibles.

Les fonctionnalités de paiement disponibles sont :

  • Paiement à la commande : Renseignez le champ payment.mode à CPT et payment.action à 101
  • Paiement à l'expédition : Renseignez le champ payment.mode à CPT et payment.action à 100
  • Demande d'encaissement différé : Utilisez la fonction doCapture() de l'API WebService.
  • Demande d'annulation d'une autorisation non encaissée : Utilisez la fonction doReset() de l'API WebService.
  • Demande de remboursement : Utilisez la fonction doRefund() de l'API WebService avec le code payment.action à 421.


L’appel de l’interface de paiement web se fait via notre web service doWebPayment. Le résultat d’un paiement web est connu en appelant notre web service getWebPaymentDetails :

Le web service doWebPayment

La fonction « doWebPayment » permet d’initialiser une transaction de paiement web avant de rediriger votre client sur les pages de paiement Payline.
Le paiement Cofidis se fait exclusivement en paiement à la commande. Pour cela, renseignez les champs « payment.Action » avec le code action, « payment.Mode » à CPT et « payment.ContractNumber » avec le numéro de votre contrat Cofidis dans Payline.
Payline réalise une demande d’autorisation auprès de Cofidis et dans le cas d’un accord, Cofidis valide automatiquement le paiement.

Le web service getWebPaymentdetails

Pour réaliser une demande de résultat de la transaction de paiement, Payline met à votre disposition ce web service. Vous devez transmettre le jeton d’authentification (token) délivré par Payline lors de la demande d’initialisation (résultat de la fonction doWebPayment) pour obtenir un résultat détaillé du paiement.

Note : Les autres fonctions de l'API ne sont pas disponibles pour ce moyen de paiement : annulation partielle ou multiple, débit, crédit, différé, paiement en n fois ou récurrent.

Les champs obligatoires


 Liste des champs..

Le tableau ci-dessous donne la liste des informations dossier que peut fournir Payline s’ils sont donnés par le commerçant..

Champs Payline
Description
valeurs préconiséesObligatoire

Nouveau

(v21+)

Buyer.titleCivilité MR / MME / MLLE
(tick)
Buyer.lastNameNom du client
(tick)
Buyer.firstNamePrénom du client
(tick)
Buyer.billingAddress.street1Adresse de facturation
(tick)
Buyer.billingAddress.street2Complément d’adresse
(tick)
Buyer.billingAddress.zipCodeCode postal ville de l’adresse
(tick)
Buyer.billingAddress.cityName ville de l’adresse
(tick)
Buyer.mobilePhoneNuméro de téléphone mobile
(tick)
payment.amountMontant de l'opération

(tick)
payment.currencyCode iso de la devise 

(tick)
buyer.billingAddress.lastnameNom de la personne pour la facturation

(tick)
buyer.billingAddress.firstnamePrénom de la personne pour la facturation

(tick)
buyer.billingAddress.street1Adresse pour la facturation

(tick)
buyer.billingAdress.street2Adresse pour la facturation

(tick)
buyer.billingAddress.zipcodeAdresse pour la facturation

(tick)

buyer.billingAddress.cityName

Adresse pour la facturation

(tick)
buyer.billingAddress.countryAdresse pour la facturation

(tick)
buyer.shippingAdress.lastnameNom de la personne pour la livraison

(tick)
buyer.shippingAdress.firstnamePrénom de la personne pour la livraison

(tick)
buyer.shippingAdress.street1Adresse pour la livraison

(tick)
buyer.shippingAdress.street2Adresse pour la livraison

(tick)
buyer.shippingAdress.zipcodeAdresse pour la livraison

(tick)
buyer.shippingAdress.cityNameAdresse pour la livraison

(tick)
buyer.shippingAdress.countryAdresse pour la livraison

(tick)
buyer.emailAdresse électronique de l'acheteur

(tick)
buyer.birthDateDate de naissance de l'acheteurformat date :  AAAAMMJJ
(tick)
miscData

Clé : "preScore", valeur : 7 digits

La règle de construction du prescore est à définir entre le commerçant et Cofidis
(tick)
order.refRéférence de la commande

(tick)
order.orderExtended.riskLevel Code indiquant le niveau de risque de la commande

(tick)
order.deliveryChargeMontant de la livraisonMontant en plus petite unité
(tick)
order.discountAmountMontant de la promotion

 


(tick)
order.deliveryModeMode de retrait

Cf. Values for deliveryMode


(tick)
order.orderExtended.deliveryProviderNom du service de livraison

(tick)
order.deliveryTimeType de livraison

Cf. Values for deliveryTime


(tick)
subMerchant.subMerchantSIRETSIRET du sous-marchand



(tick)
subMerchant.subMerchantNameNom du sous-marchand

(tick)
orderDetail.refRéférence de l''article

(tick)
orderDetail.quantity

Nombre d'articles



(tick)
orderDetail.pricePrix des articles

(tick)
orderDetail.categoryCatégorie d'articleNomenclature Payline (cf. Codes - Category) ou description libre
(tick)
orderDetail.commentCommentaire

(tick)
orderDetail.subcategory1Rang 1 sous catégorie

(tick)
orderDetail.brandLa marque du produit

(tick)
orderDetail.subcategory2Rang 2 sous catégorie

(tick)
orderDetail.additionalData 

Donnée "risk" au format JSON

Liste des spécifications "risque" requises pour le moyen de paiement

0 : Non risqué

1 : Risqué


(tick)
orderDetail.additionalData

Donnée "status" au format JSON

Liste des spécifications "statuts" requises pour le moyen de paiement

1 : Neuf

2 : Reconditionné

3 : Occasion

4 : Autre


(tick)
orderDetail.additionalData

Donnée "discount" au format JSON

0 : Pas de promotion

1 : Promotion


(tick)
orderDetail.sellerNom ou identifiant du vendeur final

(tick)
orderDetail.sellerTypeType de vendeur

2 : private seller

1 : professional


(tick)
mediaCanal d'achat utilisé

1 : Undefined

2 : Computer

3 : Mobile

4 : Tablette

5 : TV

6 : Console


(tick)
buyer.ipAdresse IP de l'acheteur

(tick)
buyerExtendedHistory.orderCount6MonthsNombre de commandes passées par l'acheteur au cours des six derniers mois

(tick)
buyerExtendedHistory.orderAmount6MonthsMontant total des commandes passées au cours des six derniers mois

(tick)
buyer.accountOrderCountLe nombre de commandes passées par l'acheteur

(tick)

buyer.accountAverageAmount

Panier moyen de l'acheteur



(tick)
buyer.accountCreateDateDate de création du compte de l'acheteur

Format : dd/mm/yy


(tick)
buyerExtendedHistory.firstOrderDateDate de la première commande

Stocké par Payline en JSON : DD/MM/YYYY hh:mm:ss


(tick)
buyerExtendedHistory.lastOrderDateDate de la dernière commande

Stocké par Payline en JSON : DD/MM/YYYY hh:mm:ss


(tick)
buyer.customerIdIdentifiant de l'acheteur

(tick)
buyer.legalStatusType d'acheteur

1 : Person

2 : Business


(tick)
buyer.legalDocumentNuméro d'identification du document officiel

(tick)

order.orderOTA.transport.legList.segment

order.orderOTA.transport.legList.departureDate

order.orderOTA.carRental.pickUpDate

order.orderOTA.accomodation.checkInDate

Type de Leg

Date de départ

Date de ramassage

Date d'arrivée

Champs au format JSON.

Par ordre de priorité décroissante basé sur le premier passager : 

order.orderOTA.transport.legList.departureDate
        (Where 
 order.orderOTA.transport.legList.segment = O)
OU  order.orderOTA.carRental.pickUpDate
OU  order.orderOTA.accomodation.checkInDate

Stocké par Payline en JSON (Contrôler le format à l'export)


(tick)

order.orderOTA.transport.legList.segment

order.orderOTA.transport.legList.arrivalDate

order.orderOTA.carRental.returnDate

order.orderOTA.accomodation.checkOutDate

Type de Leg

Date d'arrivée

Date de retour

Date de départ

Champs au format JSON.

Par ordre de priorité décroissante basé sur le premier passager : 

order.orderOTA.transport.legList.arrivalDate 
       (Where  order.orderOTA.transport.legList.segment = R)
OU order.orderOTA.carRental.returnDate
OU  order.orderOTA.accomodation.checkOutDate

Stocké par Payline en JSON (Contrôler le format à l'export)


(tick)
order.OTAPackageType

Type d'offre d'hébergement

Champs au format JSON.

99 : Not specified or Other 

1 : Journey only 

2 : Journey + accomodation 

3 : Accomodation only 


(tick)
order.orderOTA.countryDestination

Nom du pays de destination

Champs au format JSON.



(tick)
order.orderOTA.travelPurpose

L'objet du voyage

Champs au format JSON.

2 : Business

1 : Leisure

0 : Not Specified or special


(tick)
order.orderOTA.transport.legList.segment

Type de segment 

Champs au format JSON.

Nombre de order.orderOTA.transport.legList.segment de type Tn
(tick)

Retour de Cofidis

Le champ orderProductCode indique le produit amortissable suite à la demande de paiement avec en entrée productCode valorisé à ‘CDT’ par Payline pour Cofidis.
En réponse de la demande de financement.
Dans la réponse getTransactionDetail, la balise privatedata.cofidis_orderProductCode est renseignée.

Les valeurs possibles sont :

  • ‘RNV’ si crédit renouvelable : réservé d'argent => le commerçant pourra pousser de nouvelles promotion.
  • ‘AMO’ si crédit amortissable.

Reprise sur mise en attente de la commande

Lors de l’initialisation d’une transaction sur le produit Cofidis Pay (produit CDT chez Cofidis) plusieurs cinématiques sont possibles. La cinématique est en mode asynchrone, lors d’un paiement mis en attente par Cofidis pour un montant supérieur à 1000 €.

Les étapes sont les suivantes :

  1. Payline redirige le consommateur pour l'initialisation de la transaction sur les pages Cofidis.
  2. Après finalisation du dossier :
    1. Payline met en attente le paiement après la notification de Cofidis (code 46 de Cofidis) dans l’état ONHOLD_PARTNER avec le code de retour 02016 'Transaction hold on partner, please wait for payment method return'.
    2. Payline retourne un ticket à l’acheteur indiquant que la demande de paiement est en cours de traitement.
    3. Payline notifie le commerçant et l’acheteur de l’état de la transaction.

Sur réception de la notification de Cofidis après l'analyse de la demande de souscription au crédit :

  1. Si la réponse est acceptée (code 00 de Cofidis) alors Payline réalise les mêmes traitements qu’en mode synchrone (autorisation, envoi du financement, …) avec le code retour=00000.
  2. Si la réponse est refusée (code 57 de Cofidis) alors Payline enregistre la transaction en refusé avec le code retour=22114,'Abandon de la demande'.
  3. Payline notifie alors le commerçant et l’acheteur de l’état final de la transaction.

Cofidis ne permet pas de réaliser une annulation pour un dossier en rétention. L’appel au web Service DoReset sur une commande Cofidis Pay renvoie l’erreur suivante : 02301,  ERROR, Transaction ID  is invalid.

Reprise sur Non Réponse

Si le partenaire de paiement ne répond pas ou Payline reçoit en retour une erreur de la connexion, Payline effectue de nouvelles tentatives. Lorsque la dernière tentative revient en échec, le moyen de paiement est dit inaccessible.

Dans ce cas, Payline retourne les codes retour ci dessous selon l'état de la transaction :

  • Sur un init : code retour  02102 ‘Payment partner unreachable’ (ERROR).
  • Sur un getTransactionStatus : code retour  02013 ‘To be cancelled’ (ERROR).
  • Sur captureTransaction : code retour  02013 ‘To be cancelled’ (ERROR).

Reprise sur l'absence de mise à jour

Si Payline ne peut pas connaitre l'état final de la transaction au bout d’un temps donné, faute notification du partenaire suite à l’analyse de la demande de financement.
Ces transactions basculent dans l’état ERROR avec code retour 02015 : transaction delegated to partner.

Reprise sur erreur

Demande d’autorisation, d’autorisation+validation ou une demande de validation (financement)

Lorsque Payline ne reçoit pas de réponse de Cofidis à une demande d’autorisation, d’autorisation+validation ou une demande de validation (financement).

  1. Payline retourne une réponse de refus à l’acheteur et au commerçant. Le code retour envoyé au commerçant est ‘02003’ , Refused, ‘transaction to be reversed’.
  2. Payline reprend la transaction pour l'annuler auprès de Cofidis pour le cas où elle aurait été acceptée.

Le traitement des transactions sur réception de la réponse Cofidis à la demande d’annulation :

  1. Payline enregistre la transaction d’annulation en la liant à la transaction annulée.
  2. Payline modifie le code retour de la transaction : ‘02004’, Cancelled, ‘Reversed after technical error’.

Demande de remboursement

En cas d'absence de confirmation par Cofidis pour une demande de remboursement par Payline, il est nécessaire de consulter le centre administration de Cofidis pour connaitre l’état de traitement de la demande de remboursement.

Comment réaliser des tests ?

Il vous faut obtenir un compte de test auprès de Cofidis.
Les données de tests vous seront communiquées par Cofidis avec votre compte de tests.
Dans un premier temps Payline vous proposera un compte de test provisoire afin de démarrer le projet en attendant le compte de test définitif fourni par Cofidis.

Validez votre intégration

Cette étape vous permet de contrôler que votre intégration est correcte :

  • Réalisez un paiement complet avec votre contrat Payline Cofidis Pay (1EURO.COM SE).
  • Consultez le centre d’administration commerçant et validez le bon enregistrement de vos transactions de paiement.

Les codes de retour

Avec l'API WebPayment, Payline vous informe du résultat d'un paiement via le ShortMessage des services getWebPaymentDetails.
Lorsque le paiement est accepté, Payline renvoie le ShortMessage = ACCEPTED.
Pour un paiement refusé, le code varie en fonction du motif de refus (Par exemple : 04xxx pour une suspicion de fraude).

Les codes spécifiques au moyen de paiement sont listés ici.