Contenu
Plus d'information
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).
Afin de créer le moyen de paiement, en homologation et en production, 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 ».
Ecran de création de moyen de paiement 1/2:
Sélectionnez votre point de vente puis le type de moyen de paiement 3xCB ou 4xCB comme ci-dessous.
Cliquez ensuite sur le bouton « Suivant ».
Ecran 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 Référence Commerçant chez Cofidis . Il s’agit d’un compte de test utilisable uniquement dans l’environnement d’homologation donné par Cofidis.
Centre administration de Payline
Vous devez indiquer l'identifiant Commerçant Cofidis lors de la création du moyen de paiement :
Le code (card_code) du moyen de paiement est : 3XCB ou 4XCB
Le détail de la transaction indique les informations du partenaire :
Comment proposer le paiement Cofidis 3xCB / 4xCB à vos clients ?
Quand le client effectue un paiement avec 3xCB, il est redirigé vers l'étape 2 du processus. Cette page est hébergée sur les serveurs de la plateforme 3xCB et contient tous les détails de paiement soumis par le commerçant.
A l’étape 2 du doWebPayment, le client va être redirigé sur les pages de paiement de 3xCB où il devra entrer ses informations personnelles.
Pour finir, quand le processus de paiement est terminé, le serveur de paiement 3xCB enverra les détails de la transaction à l’url de notification « normal_return_url ».
Si le client annule l’opération, il sera redirigé sur les pages web de Payline (grâce à une l'URL fournie par le commerçant lors de l’appel à la passerelle 3xCB) avec un message d’erreur lui disant que sa transaction n’a pas pu aboutir.
Si le client abandonne l’opération avant sa finalisation le serveur de paiement 3xCB enverra les détails de la transaction à l’url de notification « automatic_return_url » fournie par le commerçant lors de l’appel à la passerelle 3xCB. Il s’agit d’une requête HTTP standard en POST.
Les fonctionnalités de paiement disponibles sont :
- Paiement à la commande : Renseignez le champ payment.mode à CPT et payment.action à 101 avec le service doWebPayment.
- Paiement à l'expédition : Renseignez le champ payment.mode à CPT et payment.action à 100 avec le service doWebPayment.
- Demande d'encaissement : 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 partiel ou totale : Utilisez la fonction doRefund() de l'API WebService avec le code payment.action à 421.
- Demande d'information : Les services transactionsSearch, getWebPaymentDetails et getTransactionDetails sont également disponibles.
L'initialisation d'un paiement
La fonction « doWebPayment » permet d’initialiser une transaction de paiement web.
Vous pouvez préciser si vous souhaitez un paiement à la commande ou à l'expédition.
- 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 ; Pour confirmer le paiement, vous devez réaliser une demande d'encaissement.
Afin de garantir le meilleur taux d'acceptation possible, Cofidis est à même de traiter de nombreux détails relatifs à la commande lors de la demande de paiement.
L'objectif est de pré-renseigner les champs du formulaire de paiement affiché au consommateur.
Ci-dessous la liste des informations que Payline est en mesure de transmettre à Cofidis. Nous nous invitons à vous rapprocher de votre gestionnaire de compte Cofidis pour savoir quelles sont les informations importantes que vous devez renseigner par rapport à votre activité.
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ées | Obligatoire | Nouveau (v21+) |
---|---|---|---|---|
Buyer.title | Civilité MR / MME / MLLE | |||
Buyer.lastName | Nom du client | |||
Buyer.firstName | Prénom du client | |||
Buyer.billingAddress.street1 | Adresse de facturation | |||
Buyer.billingAddress.street2 | Complément d’adresse | |||
Buyer.billingAddress.zipCode | Code postal ville de l’adresse | |||
Buyer.billingAddress.cityName | ville de l’adresse | |||
Buyer.mobilePhone | Numéro de téléphone mobile | |||
payment.amount | Montant de l'opération | |||
payment.currency | Code iso de la devise | |||
buyer.billingAddress.lastname | Nom de la personne pour la facturation | |||
buyer.billingAddress.firstname | Prénom de la personne pour la facturation | |||
buyer.billingAddress.street1 | Adresse pour la facturation | |||
buyer.billingAdress.street2 | Adresse pour la facturation | |||
buyer.billingAddress.zipcode | Adresse pour la facturation | |||
buyer.billingAddress.cityName | Adresse pour la facturation | |||
buyer.billingAddress.country | Adresse pour la facturation | |||
buyer.shippingAdress.lastname | Nom de la personne pour la livraison | |||
buyer.shippingAdress.firstname | Prénom de la personne pour la livraison | |||
buyer.shippingAdress.street1 | Adresse pour la livraison | |||
buyer.shippingAdress.street2 | Adresse pour la livraison | |||
buyer.shippingAdress.zipcode | Adresse pour la livraison | |||
buyer.shippingAdress.cityName | Adresse pour la livraison | |||
buyer.shippingAdress.country | Adresse pour la livraison | |||
buyer.email | Adresse électronique de l'acheteur | |||
buyer.birthDate | Date de naissance de l'acheteur | format date : AAAAMMJJ | ||
miscData | Clé : "preScore", valeur : 7 digits | La règle de construction du prescore est à définir entre le commerçant et Cofidis | ||
order.ref | Référence de la commande | |||
order.orderExtended.riskLevel | Code indiquant le niveau de risque de la commande | |||
order.deliveryCharge | Montant de la livraison | Montant en plus petite unité | ||
order.discountAmount | Montant de la promotion |
| ||
order.deliveryMode | Mode de retrait | |||
order.orderExtended.deliveryProvider | Nom du service de livraison | |||
order.deliveryTime | Type de livraison | |||
subMerchant.subMerchantSIRET | SIRET du sous-marchand | |||
subMerchant.subMerchantName | Nom du sous-marchand | |||
orderDetail.ref | Référence de l''article | |||
orderDetail.quantity | Nombre d'articles | |||
orderDetail.price | Prix des articles | |||
orderDetail.category | Catégorie d'article | Nomenclature Payline (cf. Codes - Category) ou description libre | ||
orderDetail.comment | Commentaire | |||
orderDetail.subcategory1 | Rang 1 sous catégorie | |||
orderDetail.brand | La marque du produit | |||
orderDetail.subcategory2 | Rang 2 sous catégorie | |||
orderDetail.additionalData | Donnée "risk" au format JSON Liste des spécifications "risque" requises pour le moyen de paiement | 0 : Non risqué 1 : Risqué | ||
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 | ||
orderDetail.additionalData | Donnée "discount" au format JSON | 0 : Pas de promotion 1 : Promotion | ||
orderDetail.seller | Nom ou identifiant du vendeur final | |||
orderDetail.sellerType | Type de vendeur | 2 : private seller 1 : professional | ||
media | Canal d'achat utilisé | 1 : Undefined 2 : Computer 3 : Mobile 4 : Tablette 5 : TV 6 : Console | ||
buyer.ip | Adresse IP de l'acheteur | |||
buyerExtendedHistory.orderCount6Months | Nombre de commandes passées par l'acheteur au cours des six derniers mois | |||
buyerExtendedHistory.orderAmount6Months | Montant total des commandes passées au cours des six derniers mois | |||
buyer.accountOrderCount | Le nombre de commandes passées par l'acheteur | |||
buyer.accountAverageAmount | Panier moyen de l'acheteur | |||
buyer.accountCreateDate | Date de création du compte de l'acheteur | Format : dd/mm/yy | ||
buyerExtendedHistory.firstOrderDate | Date de la première commande | Stocké par Payline en JSON : DD/MM/YYYY hh:mm:ss | ||
buyerExtendedHistory.lastOrderDate | Date de la dernière commande | Stocké par Payline en JSON : DD/MM/YYYY hh:mm:ss | ||
buyer.customerId | Identifiant de l'acheteur | |||
buyer.legalStatus | Type d'acheteur | 1 : Person 2 : Business | ||
buyer.legalDocument | Numéro d'identification du document officiel | |||
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 Stocké par Payline en JSON (Contrôler le format à l'export) | ||
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 Stocké par Payline en JSON (Contrôler le format à l'export) | ||
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 | ||
order.orderOTA.countryDestination | Nom du pays de destination Champs au format JSON. | |||
order.orderOTA.travelPurpose | L'objet du voyage Champs au format JSON. | 2 : Business 1 : Leisure 0 : Not Specified or special | ||
order.orderOTA.transport.legList.segment | Type de segment Champs au format JSON. | Nombre de order.orderOTA.transport.legList.segment de type Tn |
L’intégralité des informations de la balise merchantData Cofidis sont retransmises dans les données privées du marchand avec le tag cofidis.merchantData.
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 de session) 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.
Pour les paiements NxCB, Payline retourne les caractéristiques de la carte utilisée par l'acheteur.
Ces données sont récupérées des objets TransactionCard et Transaction3DSecure et retournées dans :
- Payment.method
- Card.number
- Card.type
- ExtendedCard.type
- ExtendedCard.network
- ExtendedCard.product
- Authentication3DSecure.vadsResult
Le traitement des paiements 4XCB est identique à celui des paiements 3XCB.
Le web service getTransactionDetails
Pour toutes les transactions : la référence de commande Cofidis est ajoutée au privateData avec le mot clé PAYLINE.ORDER.ID.COFIDIS
Pour les transactions de validation : le numéro d’autorisation remonté par Cofidis est retourné dans le champ authorization.number.
Transaction en cours de traitement
En cas de problème sur le parcours de paiement, par exemple le ferme le navigateur ou réalise un back navigateur, ou encore lors de l'utilisation du batch de paiement, la transaction peut avoir un état de transaction en cours (In Progress). Après le traitement ces transactions seront annulées ou remboursés, le commerçant peut alors redemander l'état de la transaction.
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.
Le numéro de carte test à utiliser pour la réalisation de vos tests sur Payline :
9898 98XX XXXX XXXX (pour rappel le montant minimum du 3xCB/4xCB est de 100 €)
X étant au choix, mais le numéro de carte doit être différents à chacun de vos tests.
Concernant la date de validité, il faut faire figurer une date de validité supérieure à 3 mois et un cryptogramme à 3 chiffres au hasard.