Skip to main content
Les plugins SoleasPay v4 sont concus pour integrer le paiement dans une application tierce sans gerer OAuth, JWT, intent, execute ou status cote marchand. Vous utilisez simplement votre apikey marchand SoleasPay. Le plugin se charge de charger les services disponibles, d’afficher l’interface de paiement, de collecter les informations client, de soumettre la transaction et de retourner le resultat.
Les plugins v4 sont distincts de l’API gateway serveur a serveur. Pour Checkout v4 et Button v4, l’integration se fait avec une API key, pas avec un access token OAuth.

Choisir le bon plugin

Utilisez Checkout v4 si vous voulez rediriger le client vers une page de paiement complete. Utilisez Button v4 si vous voulez garder le bouton dans votre page produit, panier, facture ou espace client.

Prerequis

Vous avez besoin de:
  • une apikey marchand SoleasPay;
  • un montant et une devise;
  • une reference de commande unique;
  • une URL de succes;
  • une URL d’echec.
Votre apikey identifie le marchand et permet au plugin de charger les moyens de paiement autorises. Ne publiez pas une cle qui donne acces a des actions sensibles hors contexte plugin.

Checkout v4

Checkout v4 affiche une page de paiement hebergee. Votre application soumet les donnees du paiement vers:
Le client choisit son pays, son moyen de paiement, confirme l’operation, puis revient vers successUrl ou failureUrl.

Exemple HTML

Vous pouvez creer un formulaire HTML classique.

Exemple JSON serveur

Si votre backend initie la checkout, envoyez le meme payload.

Champs Checkout v4

Frais plugin

Les plugins peuvent indiquer qui supporte les frais a chaque paiement. Le backend normalise cette valeur puis recalcule les frais cote serveur au moment du collect. Priorite de resolution:
  1. feeBearer dans le payload du collect.
  2. feeBearer dans la query string.
  3. Fallback historique si aucune valeur n’est fournie.
Valeurs canoniques: Les alias booleens customerPaysFees et customer_pays_fees sont acceptes temporairement a la frontiere HTTP puis normalises vers CUSTOMER ou MERCHANT.
Dans Checkout v4, le devis de frais est calcule par le plugin pendant la session de paiement. Votre integration continue d’utiliser apiKey; elle ne doit pas gerer un JWT pour ce calcul.
Le plugin relaie le calcul vers la gateway avec origin: "PLUGIN", le service choisi, le montant, la devise et le contexte feeBearer.
Si vous construisez votre propre backend serveur a serveur hors plugin, utilisez plutot la route gateway POST /transactions/fees/quote avec x-sp-auth-token.

Retour apres paiement

Apres le paiement, Checkout v4 redirige le client vers l’URL appropriee avec les donnees de paiement dans soleaspay_data.
Une fois decode, soleaspay_data contient les informations de transaction.
Votre backend doit mettre a jour la commande avec transaction_reference, status, amount, currency et invoice_reference.

Checkout avec split

Checkout v4 peut recevoir un contexte de repartition.
La somme des rate ne doit pas depasser 100.

Button v4

Button v4 ajoute un bouton SoleasPay dans votre page. Il se charge d’ouvrir l’interface de paiement, de charger les moyens de paiement et de retourner le resultat dans votre JavaScript.

Installation du script

Ajoutez un conteneur pour le bouton, puis chargez le script.
data-lang controle la langue de l’interface. Utilisez par exemple fr ou en.

Initialiser le paiement

Si vous voulez recreer automatiquement le bouton apres chaque tentative de paiement, vous pouvez relancer initButton() dans le finally.

Options Button v4

Modes Button v4

Conservez l’orthographe TIPING si votre integration utilise ce mode, car c’est la valeur attendue par le plugin.

Reponse JavaScript

SopayButton.pay(options) retourne une promesse. En cas de succes, vous recevez un objet exploitable dans votre interface.
Utilisez cette reponse pour afficher un message au client. Pour une commande sensible, votre backend doit aussi verifier la transaction avant de livrer le service.

Bonnes pratiques

  • Utilisez un orderId unique par paiement.
  • Chargez Button v4 une seule fois par page.
  • Ne melangez pas Checkout v4 et Button v4 sur le meme parcours utilisateur.
  • Verifiez que successUrl et failureUrl sont accessibles en HTTPS.
  • Enregistrez transaction_reference des que le plugin la retourne.
  • Ne considerez un paiement comme reussi que si status vaut COMPLETED ou SUCCESS.