Skip to main content
Avant de lancer un paiement, votre backend doit connaitre trois choses:
  • le pays actif;
  • le service de paiement a utiliser;
  • le statut operationnel du provider.
Les pays sont identifies en ISO alpha-3. Utilisez par exemple CMR, pas CM.
Les codes de services utilises dans les payloads de transaction suivent le format provider_country_code, par exemple mtn_cmr ou orange_cmr.

Verifier un numero mobile

Avant d’envoyer un wallet telephone dans une collection ou un disbursement, vous pouvez verifier le numero via la gateway publique:
Cette route utilise votre API key marchand SoleasPay et retourne le pays detecte, le type de numero, l’operateur mobile si disponible et le provider_wallet, c’est-a-dire le numero national sans indicatif international attendu par les providers.
Formats acceptes pour un numero camerounais:
Envoyez toujours country pour les numeros sans prefixe international + ou 00. Mysoleas garde les pays en alpha-3 (CMR, CIV, SEN, etc.). L’alpha-2 peut apparaitre dans la reponse pour faciliter l’interoperabilite, mais il ne remplace pas le code alpha-3.
Voir la reference complete: Verifier un numero de telephone.

Lister les pays

Un pays utilisable doit avoir active: true.

Pays d’exercice principal

Le pays d’exercice principal est porte par la relation TenantCountry.isPrimary. Il sert de contexte par defaut pour router les paiements et calculer les frais lorsqu’aucun pays explicite fiable n’est fourni.
Pour le modifier, utilisez l’identifiant de la relation TenantCountry, pas seulement le code pays.
Le changement est applique cote User Service de maniere transactionnelle: l’ancien pays primaire est desactive et le nouveau devient l’unique primaire du tenant. Si aucun pays primaire n’est configure sur un ancien compte, les flux de paiement conservent le fallback historique.

Lister les services

Un service de paiement retourne les capacites dont votre integration a besoin.

Lister les frais

La gateway retourne les frais du pays demande uniquement si votre token donne acces a ce pays. Sinon, l’API retourne 403 access_denied. Vous pouvez filtrer par service_code, ou separer le sens avec incoming_service_code et outgoing_service_code. Ajoutez operation et user_tier pour obtenir les frais d’un cas precis.

Obtenir un devis de frais

Avant d’initialiser une transaction, votre backend peut demander le montant des frais calcule cote serveur.
Pour une application API directe, feeBearer vient de la configuration de l’application. Pour un plugin, envoyez feeBearer dans le payload ou la query string; le payload est prioritaire.
Les transactions stockent ensuite un snapshot immuable dans metadata.fees avec le montant, la devise, le porteur des frais, la source, le pays, le tier et la version de calcul.

Lister les providers

Le statut d’un provider se lit dans is_active.

Choisir correctement

Pour une collection:
  1. Verifiez que le pays est actif.
  2. Filtrez les services par country et currency.
  3. Gardez les services avec is_active: true et is_can_collect: true.
  4. Si is_need_otp vaut true, demandez l’OTP au client avant execute.
  5. Envoyez service.code dans le champ provider.
Pour un disbursement:
  1. Verifiez que le pays est actif.
  2. Filtrez les services par country et currency.
  3. Gardez les services avec is_active: true et is_can_disburse: true.
  4. Verifiez votre solde avant de lancer de gros volumes.
  5. Envoyez service.code dans le champ provider.

Provider inactif

Si is_active vaut false, masquez le moyen de paiement dans votre checkout. Si un provider devient indisponible apres la selection du client, affichez un message clair et proposez un autre service actif du meme pays.