NAV
shell

Introduction

Avec Soan, vous pouvez désormais proposer à vos clients une expérience de paiement en ligne sur-mesure, sécurisée et totalement personnalisée. Notre solution a été spécialement conçue pour optimiser votre processus de paiement, renforcer la confiance de vos clients et accélérer vos revenus.

Comment fonctionne l’API Soan Pay ?

Que vous ayez une boutique en ligne ou un site marchand, facilitez votre processus de paiement avec notre API Soan Pay :

Offres produit

Les moyens de paiement

Paiement par carte bancaire

Virement par IBAN

Les modes de paiement Soan

Paiement échelonné

Paiement récurrent

La génération de facture

Simplifiez vos processus, optimisez votre trésorerie et offrez une expérience unique à vos clients grâce à notre plateforme de facturation :

Integration

Guide d'intégration de l’API

Configuration générale

navigation

developer_tab

key-generation

Authentification

Pour authentifier vos appels à l’API, il vous faut une clé d’API, que vous avez récupéré sur votre Espace Soan Pay.

⚠️ Votre clé d’API est secrète.Tous les appels authentifiés doivent être effectués depuis vos serveurs, afin d’assurer la sécurité de la clé d’API et éviter la fraude. Si vous pensez que votre clé d’API est compromise, vous pouvez en générer une nouvelle

Créer une demande de paiement

Exemple de réponse : code 200 success

{
  "status":"success",
  "payment":"lien-de-paiement.com",
  "message":"Le paiement a été généré avec succès."
}

Cas d'usage 1 : Paiement en 1 fois

Ex : Paiement d’un produit à 500€ Hors Taxe avec 20% de TVA

envoyer JSON structuré comme ceci :

{
   "callbackUrl":"https://monsite.com",
   "product":{
      "name":"Mon produit phare",
      "amountTaxeExcluded":"500",  // 500 HT
      "taxeRate":"20"              // TVA : 20%
   }
}

Cas d'usage 2 : Paiement en plusieurs fois

Ex : Paiement d’un produit à 500€ échelonné en 5 échéances prélevées tous les 2 mois

envoyer JSON structuré comme ceci :

{
   "callbackUrl":"https://monsite.com",
   "product":{
      "name":"Mon produit phare",
      "amountTaxeExcluded":"500",
      "taxeRate":"20",
      "quantity":"1"
   },
   "recurringInfos":{
      "type":"SPLITTED",
      "occurrenceQty":"5",
      "occurrenceType":"MONTH",
      "occurrenceInterval":"2"
   }
}

Cas d'usage 3 : Paiement récurrent

Ex : Paiement récurent d’un abonnement à 10€ HT prélevé tous les mois jusqu’au 01/10/2024

envoyer JSON structuré comme ceci :

{
   "callbackUrl":"https://monsite.com",
   "product":{
      "name":"Mon produit phare",
      "amountTaxeExcluded":"10",
      "taxeRate":"20",
      "quantity":"1"
   },
   "recurringInfos":{
      "type":"RECURRING",
      "endingDate":"01-12-2025",
      "occurrenceQty":"1",
      "occurrenceType":"MONTH",
      "occurrenceInterval":"1"
   }
}

Cas d'usage 4 : Paiement en 1 fois avec facturation

Lorsque j'affecte le paramètre isInvoiceNeeded = 1, je renseigne l’objet customer , alors une facture est générée.

envoyer JSON structuré comme ceci :

{
   "callbackUrl":"https://monsite.com",
   "isInvoiceNeeded":"1",
   "product":{
      "name":"Mon produit phare",
      "amountTaxeExcluded":"500",
      "taxeRate":"20",
      "quantity":"1"
   },
   "customer":{
      "name":"Mon Client",
      "email":"mon@client.fr",
      "address":"2 rue des Lys",
      "city":"Bordeaux",
      "postalCode":"33000",
      "country":"FR",
      "addressExtension":"Résidence Fleur"
   }
}

HTTP Request

POST https://app.soan-solutions.io/soan_api/payment?apiKey={apiKey}

apiKey = Clé d'API générée avec le compte Expert

Paramètres /payment

Paramètre Type Requis Description
callbackUrl string oui URL de retour au site marchand (doit être une url valide)
product object oui Le produit vendu
isInvoiceNeeded bool non 0 par défaut, 1 pour générer une facture suite au paiement
userCompanyName string non Si non renseigné, l'entreprise par défaut est utilisée
recurringInfos object non Peut être null si le paiement n’est pas récurrent / échelonné
customer object non Peut être null si pas besoin de facture (obligatoire si “isInvoiceNeeded” est à 1)

Paramètres de l'objet : product

Paramètre Type Requis Description
name string oui Nom du produit
amountTaxeExcluded string oui Montant unitaire hors taxe
taxeRate string oui Taux de TVA en %
quantity integer non Quantité du produit, 1 par défaut
description string non Description du produit qui s’affichera sur la facture

Paramètres de l'objet : customer

Paramètre Type Requis Description
name string oui Nom du client
email string non Email du client (doit être un email valide)
address string non Adresse du client
city string non Ville du client
postalCode string non Code postal du client
country string non Pays du client au format ISO 3166-1 alpha-2 (ex: FR pour France)
addressExtension string non Pays du client

Paramètres de l'objet : recurringInfos

Paramètre Type Requis Description
type string oui Options possibles : "RECURRING" pour un paiement récurrent ou "SPLITTED" pour un paiement échelonné
occurrenceType string oui options possibles : "DAY", "MONTH", "WEEK" ou "YEAR", l’unité de délais
occurrenceQty integer positive not null oui Nombre d’occurrences
endingDate string non Date format dd-mm-yyyy, date de fin d’un paiement récurrent
occurrenceInterval integer positive not null non Nombre d’unité de délais entre deux occurrences

Errors

L'API Soan utilise les codes d'erreur suivants :

Code d'erreur Signification
400 Bad Request -- Votre demande n'est pas valide.
403 Forbidden -- Accès interdit.