Contenu
Activer Klarna sur mon compte
Vous devez vous rapprocher de votre responsable de compte ou d'un commercial pour la création de ce moyen de paiement.
Monext Online réalise toute la configuration.
Contactez le support Monext Online.
Une fois votre le nom de l’alias du numéro de contrat créé alors le moyen de paiement est disponible.
Vous devez réaliser des transactions 'pilote' pour valider le bon fonctionnement en production.
Le code (card_code) du moyen de paiement est : KLARNA_MNXT
L'écran de configuration :
Proposer le paiement Klarna à vos acheteurs
Les principes d'utilisation
Une fois le moyen de paiement activé, il est utilisable au travers des fonctions Monext Online en indiquant le contrat du moyen de paiement Contrat_Number.
Le mode d'intégration est disponible avec l'API WebPayment : services doWebPayment et getWebPaymentDetails.
Les web services en mode Web
Interfaces de paiement : API WebPayment.
Paiement à la commande : en utilisant le service doWebPayment avec payment.mode à CPT et code Action à 101.
- Mode de paiement : sélectionner votre mode de paiement : comptant avec le code Mode = CPT.
- Demande d'annulation d'une autorisation non encaissée : utilisez la fonction doReset permet au marchand de demander l’annulation totale ou partielle de la commande.
- Demande de remboursement d'une transaction remisée : utilisez la fonction doRefund pour rembourser la commande.
- Réponse de paiement : consulter la réponse du service getWebPaymentDetails pour obtenir les informations du moyen de paiement et de l'acheteur.
Libellé sur le ticket de paiement
Vous pouvez choisir d'alimenter un libellé sur le ticket de paiement avec le champ payment.softDescriptor du service doWebPayment.
S'il est vide alors le nom d'enseigne du moyen de paiement dans le centre administration sera sélectionné.
Et si ce dernier est vide alors le nom d'enseigne du compte commerçant dans le centre administration sera sélectionné.
Les champs obligatoires
Les champs obligatoires doivent être renseignés lors de la demande de paiement, dans le cas contraire la demande sera refusée.
Les balises ci-dessous sont obligatoires dans la trame SOAP Payline lors de la demande de paiement.
Services SOAP | Services REST | Obligatoire | Description |
---|---|---|---|
payment.amount | payment.amount | ||
payment.currency | Code de la devise du paiement. | ||
buyer.title | buyer.title | Titre de l'acheteur. | |
buyer.lastName | buyer.lastName | Nom de l’acheteur. | |
buyer.firstName | buyer.firstName | Prénom de l’acheteur. | |
buyer.birthDate | buyer.birthDate | Date de naissance de l'acheteur. | |
buyer.legalDocument | buyer.legalDocument | Numéro d'identification du document officiel. | |
buyer.shipping | buyer.billingAddress | Adresse de livraison | |
buyer.shippingAddress.title | |||
buyer.shippingAdress.lastName | |||
buyer.shippingAdress.phone | |||
buyer.shippingAdress.email | |||
buyer.shippingAdress.street1 | |||
buyer.shippingAddress.street2 | |||
buyer.shippingAdress.cityName | |||
buyer.shippingAdress.zipCode | |||
buyer.shippingAdress.country | Pays de la livraison (ISO 3166-1). | ||
buyer.shippingAdress.phone | |||
buyer.billing | delivery.address | Adresse de facturation. | |
buyer.billingAddress.title | |||
buyer.billingAddress.firstName | |||
buyer.billingAddress.lastName | |||
buyer.billingAddress.phone | |||
buyer.billingAddress.email | |||
buyer.billingAdress.street1 | |||
buyer.billingAddress.street2 | |||
buyer.billingAdress.cityName | |||
buyer.billingAdress.zipCode | |||
buyer.billingAdress.country | Pays de la facturation (ISO 3166-1). | ||
languageCode | Code de la langue (ISO 639-1). | ||
order.ref | order.reference | Référence de la commande donnée par le commerçant. | |
order.taxes | order.taxes | Montant taxes TTC. Taux de TVA appliqué à l'article. Pour information : une TVA > 100% est interdite. | |
order.country | order.country | Pays de la commande. | |
order.deliveryCharge | delivery.charge | Frais de transport. RELEASE 24.9 | |
order.discountAmount | order.discount | Somme des discount tag=total_discount_amount de additionalData. RELEASE 24.9 | |
order.details | items | Détail d'une commande. |
La liste des balises ci-dessous présente le détail des articles d'une commande KLARNA y compris les frais de transport et les frais de manutention :
Services SOAP | Services REST | Obligatoire | Description |
---|---|---|---|
orderDetail.comment | items.comment | Description d'un article. | |
orderDetail.price | items.price | Prix unitaire TTC avec TVA comprise dans le prix de l'article. | |
orderDetail.quantity | items.quanbtity | Quantité de l'article. | |
orderDetail.additionalData avec la clé "total_discount_amount" | items.miscellanneous.total_discount_amout | Taux de réduction. Par exemple 20,00 € : <obj:additionalData>total_discount_amount=2000</obj:additionalData> | |
orderDetails.additionalData avec la clé "imageURL" | items.miscellanneous.imageURL | URL de l'image de l'article. | |
orderDetail.additionnalData avec la clé "GTIN" | items.miscellanneous.GTIN | Numéro d'article : The product's Global Trade Item Number (GTIN). | |
orderDetail.additionnalData avec la clé "MPN" | items.miscellanneous.MPN | Numéro du fabricant : The product's Manufacturer Part Number (MPN). | |
orderDetail.additionnalData avec la clé "productUrl" | items.miscellanneous.productUrl | URL du produit : URL to the product that can be later used in communications between Klarna and the customer. | |
orderDetail.additionnalData avec la clé "KlarnaMerchantData1" | items.miscellanneous.KlarnaMerchantData1 | API SOAP : KlarnaMerchantData1=Data1;KlarnaMerchantData2=Data2; API REST : "miscellaneous":{"KlarnaMerchantData1":"Data1"} | |
orderDetail.taxRate | items.taxRate | Taux de la taxe. | |
orderDetail.ref | items.reference | Référence. | |
orderDetails.brand | items.brand | Marque. | |
orderDetails.category | items.category | Catégorie. |
Release 24.9
Calcul des avoirs et des frais de livraison
Actuellement Monext vous propose de rajouter les frais de livraison dans un article. La prochaine version vous permettra de le rajouter dans une balise.
Les avoirs ne sont pas possibles dans cette version.
Calculs des montants RELEASE 24.9
Si les règles ci dessous ne sont pas respectées, le moyen de paiement ne sera pas affiché sur le formulaire de paiement.
- Le montant de la transaction doit être égale au montant de la commande : payment.amount
- Le montant de chaque article est indiqué TTC, n'inclut pas les avoirs et sans frais de livraison : order.details.details.price
- Le montant des taxes est la somme des taxes des articles : order.taxes
Pour chaque article le total_tax_amount_article = (article_amount/( 100+(tax_rate_acticle/100) )*(tax_rate_acticle/100)) avec arrondi - Le montant de la commande order.amount doivent être égale à la somme du détails de la commande :
- du prix unitaire TTC de chaque article x nombre d'article.
- du montant des frais de livraison.
- du montant des avoirs utilisés.
- Le montant des frais de transport : order.deliveryCharge
Si les frais de transport sont envoyés sur un orderDetails alors order.taxes inclut les taxes des frais de livraison.
Si les frais de transport sont envoyés via le champ deliveryCharge, alors order.taxes n'inclut pas les taxes des frais.
Les devises et les pays déclarés dans la commande, l'adresse de livraison, l'adresse de facturation et d'adresse de l'acheteur doivent correspondre au même pays, ainsi que la langue déclarée dans la balise languageCode.
Pour plus d’information concernant les formats et champs attendus coté Klarna, veuillez consulter la page suivante: docs.klarna.com/customer-data-requirements
Exemple de panier
- 1 article à 90 € avec une taxe 10 % et une réduction de 15 €
- 2 article à 6 € chacun avec une taxe de 15% et avec une réduction de 10 €
API SOAP | API REST | Version 24.8 | Version 24.9 |
---|---|---|---|
Payment.amount | 20000 | 20000 | |
Order.taxes | order.taxes | 2177 | 2177 |
Order.amount | order.amount | 20000 | 18500 |
Order.discount | discount.amount | 2500 | |
Order.deliveryCharge | delivery.charge | 1500 | |
Article 1 | |||
Order.Details.price | order.items.price | 9000 | 9000 |
Order.Details.quantity | order.items.quantity | 1 | 1 |
Order.Details.taxRate | order.items.taxeRate | 1000 | 1000 |
Order.Details.additionalData avec "total_discount_amount" | order.items.total_discount_amount | 1500 | 1500 |
total amount |
| 7500 | 7500 |
total_tax_amount |
| 682 | 682 |
Article 2 | |||
Order.Details.price | order.items.price | 600 | 600 |
Order.Details.quantity | order.items.quantity | 2 | 2 |
Order.Details.taxRate | order.items.taxeRate | 1500 | 1500 |
Order.Details.additionalData avec "total_discount_amount" | order.items.total_discount_amount | 1000 | 1000 |
total amount | 11000 | 11000 | |
total_tax_amount | 1435 | 1435 |
Exemples RELEASE 24.9
Réaliser des tests
Sur l'environnement d'homologation (Test), vous êtes connecté à un simulateur vous proposant directement sur l'interface avec deux options :
- Paiement accepté avec un code retour = ACCEPTED - 0000
- toutes les cartes sont acceptées.
- Paiement abandonné avec un code retour = CANCELLED - 02008
Lors du paiement une page du simulateur vous propose deux boutons sur l'environnement d'homologation (TEST) : un succès (MAKE A PAYMENT) et un abandon (ABORT).
Les codes de retour
Monext Online vous informe du résultat d’un paiement via le ShortMessage, selon le mode d'intégration proposé par le moyen de paiement. Les états retournés : La gestion des états et des codes retour sont listés ici.