En production · accès API sur demande

Chaque framework d’agents dispose d’un outil de recherche web. Aucun n’a d’outil pour payer une vraie personne dans un marché que les réseaux de cartes n’atteignent pas.

Storspay est l’outil de paiement des agents IA : un seul appel d’outil MCP envoie un vrai paiement — le jour même, vers l’Afrique, l’Amérique latine et l’Asie — dans les limites qu’un humain fixe à l’avance.

Disponible dès aujourd’hui. Demandez l’accès et nous vous enverrons vos clés et la documentation une fois votre entreprise validée au KYB.

Merci. Votre demande est enregistrée. Les clés et la documentation arriveront à cette adresse dès la validation KYB.
Hmm, ça n’est pas passé. Réessayez ou écrivez à info@storsapp.com.

Nous l’utiliserons uniquement pour vous aider à démarrer avec Storspay.

Pas de spam · Nous vous écrivons au sujet de vos clés, rien d’autre

Paiements par agents · MCP En production

Laissez un agent IA payer de vraies personnes.

Un seul appel d’outil MCP envoie un paiement dans le cadre d’un mandat qu’un humain a défini à l’avance. Pour les créateurs d’agents et les équipes natives IA.

Essayez le simulateur de mandat ↓
API Plateforme & Place de marché · REST En production

Intégrez les paiements dans votre propre parcours de paiement.

Paiements instantanés pour les plateformes de gig, de créateurs et d’externalisation. Séquestre (retenue & libération) pour les places de marché. Webhooks, clés sandbox, partage de revenus.

Voir les endpoints & lancer le simulateur de paiement ↓
Comptes, Cartes & Collectes · REST Sandbox

Des comptes et des cartes pour les personnes que vous payez. Des paiements entrants depuis l’Afrique, l’Amérique latine et l’Asie.

Ouvrez un compte USD pour n’importe quel vendeur ou travailleur, émettez une carte qui dépense depuis ce compte, encaissez auprès d’acheteurs en Afrique et payez en USD, GBP ou EUR. Les mêmes clés.

Voir les quatre surfaces ↓
Interface en production · v1
// The agent's toolbelt already has search.
// This adds payouts.
await storspay.createPayout({
  mandate_id: "mnd_...",       // permission a human granted
  recipient_id: "rcp_...",     // must be on the approved list
  amount_usd: 300,
  idempotency_key: "..."       // safe to retry
});

Fixez les limites. Puis essayez de les dépasser.

Ce simulateur s’exécute entièrement dans votre navigateur. Définissez un mandat à gauche, puis lancez des scénarios à droite — les résultats dépendent de vos réglages, parce que c’est précisément le produit.

Démo simulée · aucun argent réel ne circule · l’API en production se comporte de la même manière

Fixez les limites de l’agent

Utilisé ce mois-ci : $0 sur $50,000
// Essayez un scénario →

Ce refus, c’est le produit.

Chaque blocage est consigné, chaque limite est fixée par un humain, et aucun agent ne peut élargir ses propres permissions.

Demander l’accès à l’API →

Pourquoi une équipe finance acceptera vraiment qu’un agent paie des gens.

Un agent capable de déplacer de l’argent n’est déployable que si l’argent ne peut pas sortir des lignes tracées par un humain. Chaque paiement s’exécute dans le cadre d’un mandat :

01

Personnes approuvées uniquement

L’agent ne paie que les bénéficiaires qu’un humain a placés sur une liste approuvée. Tout autre est refusé, consigné et laissé à un humain pour ajout.

02

Plafonné par paiement et par mois

Des plafonds stricts sur chaque paiement individuel et sur le total du mois. Quand le plafond est atteint, l’agent s’arrête — il ne peut pas relever sa propre limite.

03

Pays autorisés uniquement

Les paiements ne partent que vers les corridors activés par l’humain. Tout le reste est refusé au niveau du corridor, avant que le moindre argent ne soit touché.

04

Les gros paiements attendent un humain

Tout ce qui dépasse le seuil d’approbation s’arrête et attend. Une personne nommément désignée l’approuve avant tout mouvement — aucune exception, aucun indicateur de contournement.

05

Pause instantanée

Un humain peut mettre en pause instantanément tous les agents du compte. En pause veut dire en pause : les exécutions en attente sont gelées et rien de nouveau ne s’exécute.


Pas de SDK propriétaire. Rien à installer.

L’interface repose sur les standards que les frameworks d’agents parlent déjà : appeler Storspay ne diffère en rien d’appeler n’importe quel autre outil.

MCP — Model Context Protocol

La surface d’outils est un serveur MCP. Tous les grands frameworks d’agents prennent en charge MCP : n’importe quel agent peut donc déclencher des paiements Storspay sans développement spécifique, d’un côté comme de l’autre.

Mandats de type AP2

La structure de mandat s’inspire du schéma intention / panier / paiement d’AP2 : l’humain accorde à l’avance une permission signée et limitée, et chaque paiement est vérifié par rapport à celle-ci.

Agent card pour la découverte

Une carte d’agent lisible par machine à l’adresse /.well-known/agent.json décrit les capacités et le modèle d’autorisation, afin que les agents et les annuaires puissent découvrir le service.


Aujourd’hui, les paiements d’agents se résument à des agents qui achètent des choses.

La vague des paiements par agents, jusqu’ici, c’est des agents qui achètent auprès de marchands — passage en caisse, paniers, cartes. Presque personne ne construit pour les agents qui paient des personnes : les annotateurs, contributeurs, vendeurs et équipes de livraison que les plateformes doivent payer chaque semaine. Et les infrastructures de paiement sortant qui existent s’arrêtent à une poignée de pays. Pas les nôtres : elles atteignent les corridors où cette main-d’œuvre se trouve réellement, en Afrique et en Amérique latine.


Intégrez une seule fois. Chaque fournisseur, travailleur et vendeur est payé via votre propre tunnel de paiement.

Une API REST pour les plateformes et places de marché qui doivent de l’argent à des personnes en Afrique, en Amérique latine et en Asie. Créez un destinataire, créez un paiement, recevez un webhook quand il arrive — 2 à 5 minutes plus tard, en devise locale. Payez instantanément, ou conservez les fonds sous séquestre jusqu’à confirmation de la livraison. Des clés sandbox pour développer, des clés de production après la vérification KYB.

2–5 min
de l’appel API à l’argent sur le compte bancaire ou le portefeuille mobile du bénéficiaire
30 corridors
une seule intégration, tous les pays — Nigeria et Ghana compris
sk_test_ · sk_live_
clés sandbox et production · authentification Bearer · 100 req/min
Gagnez sur le volume
partage de revenus sur chaque paiement plus une réduction à vie sur le taux

Trois appels. C’est toute l’intégration.

Tout se trouve sous /api/v1/ et s’authentifie avec votre clé API en tant que jeton Bearer. Développez avec des clés sk_test_ dans le sandbox — rien ne bouge — puis passez au préfixe sk_live_ une fois la vérification KYB validée.

  1. Créez un bénéficiaire une seule fois — nom, pays, devise et coordonnées bancaires ou mobile money. Vous recevez un recipientId à réutiliser indéfiniment.
  2. Créez un paiement en USD avec votre propre référence. La réponse indique les frais, le taux de change et le montant local exact avant tout règlement.
  3. Écoutez le webhook — payout.completed arrive quand l’argent est livré, généralement en 2 à 5 minutes.
Plateformes gig & freelanceAnnotation de données IAPaiements créateurs & royaltiesOutsourcing & BPOPlaces de marché transfrontalières
POST /api/v1/recipientscurl
curl https://app.storspay.com/api/v1/recipients \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Amara Okafor",
    "email": "amara@example.com",
    "country": "NG",
    "currency": "NGN",
    "bankAccount": { "bankCode": "058", "accountNumber": "0123456789" }
  }'

// 201 Created
{ "recipientId": "rcp_8f2k…", "status": "verified" }
POST /api/v1/payoutsinstantané · par défaut
curl https://app.storspay.com/api/v1/payouts \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -d '{ "recipientId": "rcp_8f2k…", "amountUsd": 250,
        "reference": "order_10492" }'

// 201 Created
{ "payoutId": "pay_3n7q…", "status": "processing",
  "fee": 5.00, "exchangeRate": 1329.17,
  "localAmount": 325647.00, "currency": "NGN",
  "estimatedDelivery": "2–5 minutes" }

Paiements instantanés. L’argent arrive en 2 à 5 minutes.

Le mode par défaut. Votre plateforme appelle POST /api/v1/payouts, les fonds quittent immédiatement votre portefeuille Storspay et arrivent sur le compte bancaire ou le portefeuille mobile money du destinataire, en devise locale. La même infrastructure de paiement que notre produit de paie — déclenchée par votre code plutôt que par une personne.

créé
votre appel d’API
en cours
secondes
terminé
2–5 min · webhook

Conçu pour les plateformes qui paient à date fixe ou à la demande : revenus hebdomadaires de la gig economy, paiements à la tâche pour l’annotation de données, revenus des créateurs, factures mensuelles de prestataires. Groupez autant d’appels que nécessaire — la limite est de 100 requêtes par minute et par clé, et chaque paiement porte votre propre référence : la réconciliation devient une simple jointure, pas une chasse au trésor.

Si un paiement échoue — un numéro de compte erroné, par exemple — les fonds reviennent automatiquement dans votre portefeuille et vous recevez payout.failed avec le motif. Les bénéficiaires n’ouvrent jamais de compte, n’installent aucune application et ne voient rien d’autre que leur devise locale.

GET /api/v1/payouts/pay_3n7q…statut
{
  "payoutId": "pay_3n7q…",
  "reference": "order_10492",
  "status": "completed",
  "amountUsd": 250.00,
  "fee": 5.00,
  "exchangeRate": 1329.17,
  "localAmount": 325647.00,
  "currency": "NGN",
  "recipient": { "recipientId": "rcp_8f2k…", "country": "NG" },
  "createdAt": "2026-09-06T14:02:11Z",
  "completedAt": "2026-09-06T14:05:48Z"
}
GET /api/v1/payouts?status=completed&from=2026-09-01liste · filtres
{ "data": [ …47 payouts… ], "hasMore": false,
  "totals": { "amountUsd": 11840.00, "fees": 236.80 } }

Séquestre. Blocage au paiement, libération à la livraison.

Conçu pour les places de marché. Créez le paiement avec "escrow": true : les fonds sont sécurisés depuis votre portefeuille mais pas décaissés — le paiement reste en statut held. Votre acheteur voit « Paiement sécurisé ». Une fois la livraison confirmée, appelez POST /api/v1/payouts/:id/release et le vendeur est payé dans les 2 à 5 minutes habituelles.

créé
paiement
retenu
fonds sécurisés
libéré
vous confirmez la livraison
terminé
vendeur payé
  1. Vue acheteur : Paiement sécurisé → Fonds bloqués → Livré. Vue vendeur : Paiement en attente → Paiement libéré → Fonds reçus. L’affichage vous appartient — nous envoyons les changements d’état.
  2. Annulez un paiement en attente à tout moment avec POST /api/v1/payouts/:id/cancel — les fonds reviennent instantanément dans votre portefeuille et vous recevez payout.refunded.
  3. Filet de sécurité de 14 jours : un paiement encore retenu après 14 jours est automatiquement remboursé sur votre portefeuille, avec un webhook payout.refunded. Aucun argent ne reste jamais bloqué.
Places de marché de biens physiquesPlaces de marché de servicesSourcing & matières premièresMissions freelance par jalons
POST /api/v1/payoutsescrow
{ "recipientId": "rcp_8f2k…", "amountUsd": 1200,
  "reference": "order_20817", "escrow": true }

// 201 Created — funds secured, nothing disbursed yet
{ "payoutId": "pay_9k2e…", "status": "held",
  "fee": 24.00, "localAmount": 1563103.00, "currency": "NGN",
  "holdExpiresAt": "2026-09-20T14:02:11Z" }
POST /api/v1/payouts/pay_9k2e…/releaselivraison confirmée
// 200 OK — disbursing to the vendor now
{ "payoutId": "pay_9k2e…", "status": "processing",
  "releasedAt": "2026-09-09T09:41:03Z",
  "estimatedDelivery": "2–5 minutes" }
POST /api/v1/payouts/pay_9k2e…/cancelou remboursement
{ "payoutId": "pay_9k2e…", "status": "refunded",
  "refundedToWallet": 1224.00 }

Webhooks. Chaque changement d’état, signé et relancé en cas d’échec.

Enregistrez une URL de webhook à la création de votre compte partenaire (ou remplacez-la pour chaque paiement avec callbackUrl). Nous envoyons un POST à chaque changement d’état du paiement, avec votre reference jointe, signons chaque livraison en HMAC-SHA256 avec votre secret de webhook et réessayons trois fois les livraisons échouées — après 30 secondes, 2 minutes et 10 minutes.

payout.createdpaiement accepté
payout.processingfonds en transit
payout.completedargent arrivé
payout.failedretourné au portefeuille
payout.heldséquestre sécurisé
payout.releasedescrow libéré
payout.refundedannulé ou expiration au bout de 14 jours

Vérifiez la signature en calculant un HMAC-SHA256 sur le corps brut avec votre secret et en le comparant à l’en-tête Storspay-Signature. Traitez les événements comme idempotents — le même payoutId et le même statut peuvent arriver deux fois si une nouvelle tentative se chevauche.

Demander des clés sandbox →
POST https://yourplatform.com/webhooks/storspaypayout.completed
Storspay-Signature: t=1757167548,v1=5f1e9a…
Content-Type: application/json

{
  "event": "payout.completed",
  "payoutId": "pay_3n7q…",
  "reference": "order_10492",
  "status": "completed",
  "amountUsd": 250.00,
  "localAmount": 325647.00,
  "currency": "NGN",
  "recipient": { "recipientId": "rcp_8f2k…", "name": "Amara Okafor" },
  "timestamp": "2026-09-06T14:05:48Z"
}
verify · nodeHMAC-SHA256
const sig = crypto.createHmac('sha256', WEBHOOK_SECRET)
  .update(rawBody).digest('hex');
if (sig !== headerV1) return res.status(400).end();
// respond 2xx within 10s — otherwise we retry (30s → 2m → 10m)

Chaque endpoint, sur un seul écran.

Toutes les routes se trouvent sous https://app.storspay.com/api/v1/, requièrent Authorization: Bearer <key>, renvoient du JSON et suivent OpenAPI 3.0. Les schémas complets de requête/réponse sont livrés avec vos clés.

MéthodeCheminCe qu’il fait
Bénéficiaires
POST/recipientsCréez un bénéficiaire — nom, e-mail, pays, devise, coordonnées bancaires ou mobile money. payoutMethod facultatif : local_currency (par défaut), usd_ach, gbp_fp, eur_sepa ou storspay_account. Renvoie recipientId.
GET/recipientsLister tous les bénéficiaires de votre plateforme.
GET/recipients/:idRécupérer un bénéficiaire.
Paiements
POST/payoutsCréez un paiement : recipientId, amountUsd, reference, callbackUrl facultatif, escrow facultatif (false par défaut). Renvoie payoutId, status, fee, exchangeRate, localAmount, estimatedDelivery.
GET/payouts/:idStatut et détails du paiement.
GET/payoutsLister les paiements — filtrer par statut, période, bénéficiaire.
POST/payouts/:id/releaseLibérez un paiement sous séquestre (statut held → décaissé en 2 à 5 min).
POST/payouts/:id/cancelAnnulez un paiement en attente — les fonds reviennent dans votre portefeuille.
Données de compte & de marché
GET/balanceLe solde actuel de votre portefeuille.
GET/earningsPart de revenus accumulée et versement des gains en attente.
GET/corridorsTous les corridors actifs avec les taux, les limites et les canaux disponibles (banque / mobile money) du moment.
GET/rates/:corridorTaux de change actuel pour un corridor.

Authentification : clé API Bearer (sk_test_ sandbox · sk_live_ production) · Limite de 100 requêtes/min par clé · Les clés sont générées, renouvelées et révoquées par Storspay ; l’administrateur de votre plateforme consulte les statistiques d’utilisation.

Demander des clés sandbox →

Vous intégrez une fois. Vous gagnez sur chaque paiement.

Les plateformes partenaires paient le même taux tout compris et transparent que tout le monde — 2% par paiement, couvrant la conversion, le règlement et la livraison locale, sans frais d’API ni minimum mensuel. Puis deux avantages réservés aux partenaires API :

Taux
2%
tout compris par paiement, selon le corridor. Aucune marge sur le change, aucuns frais d’API.
Partage de revenus
≈0.1–0.2%
de votre volume de paiements, crédité sur votre registre de gains à chaque paiement effectué.
Réduction à vie
Défini à l’inscription
une réduction permanente de votre taux pour l’intégration — convenue par partenaire, sans expiration.

Les gains s’accumulent à chaque paiement et sont consultables à tout moment via GET /api/v1/earnings ou votre tableau de bord partenaire. Nous versons les gains accumulés chaque mois sur votre compte bancaire ou votre portefeuille Storspay.

Parlez-nous des conditions partenaires →
// exemple concret · un paiement de $1,000 · Nigeria frais facturés $20.00 (2% tout compris) votre réduction à vie −$2.00 (p. ex. 10% de réduction sur les frais) vous payez $18.00 votre part de revenus +$1.50 (part de notre marge) ────────────────────────────────────────── coût net du paiement $16.50 → 1.65% tout compris même paiement par SWIFT ~$60.00 (~6%) + 3 à 5 jours // GET /api/v1/earnings { "totalEarnings": 4218.40, "pendingPayout": 612.75, "lastPayoutAt": "2026-09-01T00:00:00Z" }

Chiffres à titre indicatif. Votre réduction et votre pourcentage de partage des revenus sont fixés dans votre accord partenaire.

Lancez un paiement de place de marché. Regardez l’argent circuler.

Ce simulateur s’exécute entièrement dans votre navigateur. Choisissez instantané ou escrow, lancez les appels API à droite, et regardez les écrans de l’acheteur et du vendeur se mettre à jour à gauche — exactement les états que recevra votre gestionnaire de webhooks.

Démo simulée · aucun argent réel ne bouge · le sandbox se comporte de la même façon
Votre portefeuille plateforme$25,000.00
L’acheteur voitorder_20817 · $1,200
·
En attente de la commandeRien ne s’est encore passé
Le vendeur voitAmara Okafor · Lagos
·
Aucun paiement pour l’instantEn attente de la plateforme
Votre partage de revenus sur cette session$0.00
// Commencez par créer un bénéficiaire →

C’est tout le flux de paiement des vendeurs.

Votre checkout appelle un seul endpoint, le vendeur est payé en devise locale en quelques minutes, et chaque changement d’état arrive sur votre webhook — signé. Demandez des clés sandbox et construisez cela sur de vrais endpoints dès aujourd’hui.

Demander des clés sandbox →

Mêmes clés, quatre surfaces de plus. Comptes, cartes, encaissements, transferts.

Ouvrez un compte en USD (avec des coordonnées en GBP et en EUR) pour n’importe quel vendeur, travailleur ou organisation. Émettez-lui une carte qui dépense depuis ce compte. Encaissez les acheteurs en Afrique par virement bancaire ou mobile money. Déplacez l’argent entre comptes instantanément, avec séquestre en option. Le tout sous /api/v1/, avec les mêmes clés Bearer et la même enveloppe de webhook. Développez dès aujourd’hui sur le sandbox ; la production suit la vérification de votre entreprise et de chaque titulaire de compte.

Comptes
/virtual-accounts · compte USD au nom du titulaire, coordonnées GBP + EUR en parallèle, après vérification hébergée
Cartes
/cards · virtuelle en quelques secondes, physique par courrier ; contrôles de dépenses ; PAN jamais renvoyé — jeton de révélation de 60 secondes
Collectes
/collections · demandes de paiement depuis 26 corridors ; banque ou mobile money ; USD crédités à l’arrivée
Transferts
/transfers · de compte à compte, instantané ; séquestre avec libération / annulation ; retrait vers n’importe quelle destination

Un compte USD pour toute personne que vous payez. Un seul appel.

Transmettez le titulaire — une personne, une entreprise ou une organisation — et vous recevez un compte en attente ainsi qu’un lien de vérification hébergé. Une fois la vérification réussie, le compte s’active avec un numéro de routage et un numéro de compte américains à son nom, plus un sort code britannique et un IBAN en euros. Les dépôts arrivent par le même chemin de webhook que votre portefeuille plateforme.

  1. Créez le titulaire avec un externalRef issu de votre système — la même référence envoyée deux fois renvoie le même compte, jamais un doublon.
  2. Envoyez-leur le kycUrl — un parcours hébergé à votre nom. Dans le sandbox, les titulaires nommés "Test Approved" sont approuvés instantanément.
  3. Réglez-y vos ventes avec POST /transfers pour 0.5% — instantané, sans rail — ou laissez acheteurs et employeurs payer directement sur les coordonnées bancaires.
Vendeurs de places de marchéPrestataires payés depuis l’étrangerDélégations & organisationsCréateurs & agences
POST /api/v1/virtual-accountscurl
curl https://app.storspay.com/api/v1/virtual-accounts \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -d '{
    "holder": { "externalRef": "seller_4471", "type": "individual",
                "displayName": "Amara Okafor", "email": "amara@example.com",
                "phone": "+2348012345678", "country": "NG",
                "dateOfBirth": "1991-04-12" },
    "currency": "USD"
  }'

// 201 Created
{ "virtualAccountId": "va_9k2m…", "holderId": "hld_2f7a…",
  "status": "pending_kyc", "kycUrl": "https://verify.storspay.com/…" }
webhook · virtual_account.kyc_updatedpuis GET /virtual-accounts/:id
{ "virtualAccountId": "va_9k2m…", "status": "active",
  "usd": { "routingNumber": "0210…", "accountNumber": "9876…",
           "bankName": "…", "accountHolderName": "Amara Okafor" },
  "gbp": { "sortCode": "04-00-…", "accountNumber": "3310…" },
  "eur": { "iban": "IE…4471", "bic": "…" },
  "balanceUsd": 0.00 }

Une carte qui dépense depuis le solde.

Émettez une carte Storspay virtuelle dès qu’un compte est actif, ou une carte physique expédiée à son titulaire. Chaque autorisation est vérifiée en temps réel par rapport au solde et refusée en termes clairs lorsqu’elle ne peut pas passer. Les contrôles — plafonds par transaction, quotidiens et mensuels, pays autorisés, catégories de commerçants bloquées, activation des retraits et des paiements en ligne — sont entre vos mains, celles du titulaire ou celles d’un gestionnaire d’organisation pour les cartes déléguées.

  1. Émettre — POST /cards (virtuelle, instantanée) ou POST /cards/physical (expédiée ; activée avec les 4 derniers chiffres + la date de naissance).
  2. Contrôle — PATCH /cards/:id pour geler, définir des plafonds de dépenses, déclarer une perte. validFrom / validUntil pour les cartes de voyage.
  3. Révélez en toute sécurité — le PAN n’apparaît jamais dans une réponse API. POST /cards/:id/reveal-token renvoie un jeton à usage unique valable 60 secondes, que votre application échange dans la session du titulaire.

Trois cartes actives par personne, vingt-cinq par organisation. Les cartes virtuelles sont gratuites ; les cartes physiques coûtent 10 $. Aucuns frais sur les achats en USD ; 1,5 % dans les autres devises.

POST /api/v1/cardsvirtuelle · instantanée
curl https://app.storspay.com/api/v1/cards \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -d '{ "virtualAccountId": "va_9k2m…",
        "cardholderName": "Amara Okafor",
        "spendControls": { "perTxnUsd": 500, "monthlyUsd": 3000,
                           "allowedCountries": ["NG","US","GB"],
                           "atm": false, "online": true } }'

// 201 Created
{ "cardId": "crd_7t3p…", "form": "virtual", "last4": "4471",
  "expiry": "09/29", "status": "active" }
webhook · card.declinedmotif en langage clair
{ "event": "card.declined", "data": {
    "cardId": "crd_7t3p…", "amountUsd": 640.00,
    "merchant": { "name": "…", "mcc": "5732", "country": "US" },
    "declineReason": "per_transaction_limit",
    "message": "Above this card's $500 per-purchase limit" } }

Les paiements, dans l’autre sens.

Une collecte est une demande de paiement : vous indiquez qui paie, depuis quel pays, par banque ou mobile money, et quel montant — dans sa devise ou en USD. Vous recevez en retour des instructions de paiement locales et une référence à lui communiquer. Lorsqu’il paie, les fonds sont convertis et crédités sur le compte que vous avez désigné — votre portefeuille de plateforme ou le compte d’un titulaire — et collection.credited se déclenche. 2% tout compris, taux moyen du marché à l’arrivée.

  1. Créez avec creditTo, country, method, le montant et les coordonnées du payeur. Les montants supérieurs au plafond d’un canal renvoient plusieurs références dans un même encaissement.
  2. Affichez les instructions — les coordonnées bancaires ou paybill présentées comme celles de Storspay, plus la référence et un compte à rebours d’expiration.
  3. Gérez les états — pending → received → converting → credited. Les paiements en retard ou non concordants sont crédités et signalés, jamais perdus. Au-delà de 25 000 $, un état de revue s’intercale avant credited.
Acheteurs en Afrique, en Amérique latine & en Asie → vendeurs de la diasporaFrais de scolarité & frais médicauxExportateurs & distributeursRapatriement
POST /api/v1/collectionscurl
curl https://app.storspay.com/api/v1/collections \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -d '{ "creditTo": { "virtualAccountId": "va_9k2m…" },
        "country": "KE", "currency": "KES", "amountUsd": 980,
        "method": "bank_transfer",
        "payer": { "name": "Riverside Medical Group",
                   "source": { "accountType": "bank", "accountNumber": "…" } },
        "reference": "inv_2026_0147", "expiresInMinutes": 1440 }'

// 201 Created
{ "collectionId": "col_5r8w…", "status": "pending",
  "quotedRate": 129.44, "amountLocal": 129437, "feeUsd": 20.00,
  "expectedUsd": 980.00, "expiresAt": "2026-09-10T14:02:00Z",
  "paymentInstructions": [{ "reference": "STORS-KE-4K7P2Q",
     "bankName": "…", "accountNumber": "…", "amountLocal": 129437 }] }
webhook · collection.creditedévénement terminal uniquement
{ "event": "collection.credited", "data": {
    "collectionId": "col_5r8w…", "receivedLocal": 129437,
    "effectiveRate": 129.41, "creditedUsd": 980.22,
    "creditTo": { "virtualAccountId": "va_9k2m…" } } }

Transférez de l’argent entre comptes. Ou vers l’extérieur en USD, GBP, EUR.

POST /transfers déplace des dollars depuis votre portefeuille de plateforme ou le compte d’un titulaire vers un autre compte (instantané, gratuit entre titulaires, 0.5% depuis une plateforme), ou vers n’importe quelle destination — une banque locale ou un portefeuille mobile money via le routage au moindre coût, ou un compte bancaire américain, canadien, britannique ou européen à partir de 5 $, 4 £ ou 4,50 €. Le séquestre fonctionne ici aussi : escrow:true bloque les fonds jusqu’à ce que vous les libériez ou annuliez, avec remboursement automatique au bout de 14 jours.

Les paiements en USD, GBP et EUR ont la même forme sur /payouts : créez le bénéficiaire avec payoutMethod: usd_ach | cad_eft | gbp_fp | eur_sepa et ses coordonnées bancaires (routing ABA, institution + transit canadiens, sort code ou IBAN — avec validation de la somme de contrôle), et le paiement livre le montant exact sans conversion : 0.75% avec un minimum de 5 $, 4 £ ou 4,50 €, ou 5 $ CA fixes. Ou payoutMethod: storspay_account pour le créditer instantanément sur leur compte Storspay.

Règlement des vendeursRetraitPrestataires en USDFournisseurs au Royaume-Uni & dans l’UEOrganisation → délégué
POST /api/v1/transfersplateforme → compte vendeur
curl https://app.storspay.com/api/v1/transfers \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -d '{ "from": { "kind": "partner_wallet" },
        "to": { "virtualAccountId": "va_9k2m…" },
        "amountUsd": 1200, "reference": "order_10492",
        "escrow": false }'

// 201 Created
{ "transferId": "trf_2c9x…", "status": "completed",
  "feeUsd": 6.00, "arrival": "instant" }
POST /api/v1/payoutsBénéficiaire en USD · GBP · EUR
curl https://app.storspay.com/api/v1/payouts \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -d '{ "recipientId": "rcp_gbp_71…",   // payoutMethod: gbp_fp
        "amountUsd": 1000, "reference": "inv_884" }'

// 201 Created
{ "payoutId": "pay_8d1k…", "status": "processing",
  "channel": "gbp_fp", "exchangeRate": 0.7385,
  "localAmount": 738.45, "feeGbp": 4.00,
  "estimatedDelivery": "within hours" }

Les quatre surfaces, sur un seul écran.

Même URL de base, même authentification, même pagination et même enveloppe d’erreur que l’API Plateforme. Les ressources appartenant à un autre partenaire renvoient 404, jamais 403. Nouveaux codes d’erreur : kyc_not_approved, holder_frozen, limit_exceeded, card_limit_reached, balance_not_zero, collections_unavailable.

MéthodeCheminCe qu’il fait
Comptes Storspay
POST/virtual-accountsOuvrez un compte pour un titulaire (ou un holderId existant). Renvoie pending_kyc + kycUrl ; s’active avec des coordonnées USD, GBP et EUR.
GET/virtual-accounts · /:id · /:id/transactionsListez, récupérez et lisez le grand livre — dépôts, encaissements, virements entrants/sortants, règlements de cartes, frais.
POST/virtual-accounts/:id/kyc-linkRégénérer le lien de vérification hébergé.
DELETE/virtual-accounts/:idFermer un compte — le solde doit être à zéro.
Cartes Storspay
POST/cards · /cards/physicalÉmettez une carte virtuelle instantanément, ou une carte physique vers une adresse de livraison.
GET/cards · /:id · /:id/transactionsLister les cartes, en récupérer une, lire les autorisations, règlements, annulations et remboursements.
PATCH/cards/:idGeler / dégeler, mettre à jour spendControls, activer une carte physique, déclarer une perte.
POST/cards/:id/reveal-tokenJeton à usage unique valable 60 secondes pour afficher le PAN et le CVV dans la session du titulaire. Jamais renvoyé par l’API elle-même.
DELETE/cards/:idAnnulez une carte.
Encaissements — « Recevoir un paiement »
POST/collectionsCréez une demande de paiement : creditTo, country, currency, amountLocal ou amountUsd, method, payer, reference, expiresInMinutes. Renvoie les instructions, le taux coté, les frais et le montant attendu en USD.
GET/collections · /:idLister et récupérer — statut pending / received / converting / credited / expired / cancelled / failed.
POST/collections/:id/cancelAnnuler une demande en attente.
Transferts
POST/transfersfrom portefeuille ou compte partenaire → to compte, @handle ou destination de paiement (locale, USD·ACH, GBP, EUR). escrow facultatif.
GET/transfers · /:idLister et récupérer ; les sept statuts de paiement réutilisés.
PATCH/transfers/:id{ "action": "release" | "cancel" } pour les transferts sous séquestre ; remboursement automatique après 14 jours sinon.

Webhooks : virtual_account.*, card.*, collection.*, transfer.* — même enveloppe et même en-tête Storspay-Signature que pour les paiements sortants, nouvelles tentatives à 30 s / 2 min / 10 min. Sandbox : titulaires nommés « Test Approved » / « Test Rejected » ; endpoints de simulation de dépôt, d’encaissement reçu et d’achat par carte.

Demander des clés sandbox →

L’Afrique, l’Amérique latine et l’Asie, disponibles dès maintenant.

L’infrastructure de paiement sous cette API est en production aujourd’hui et fait circuler la paie internationale B2B. Trente corridors, enrichis chaque trimestre.

Afrique de l’Ouest & centrale

Dix corridors actifs
🇳🇬 Nigeria
🇬🇭 Ghana
🇨🇮 Côte d’Ivoire
🇸🇳 Sénégal
🇨🇲 Cameroun
🇹🇬 Togo
🇧🇯 Bénin
🇧🇫 Burkina Faso
🇬🇦 Gabon
🇨🇬 Congo-Brazzaville

Afrique de l’Est & australe

Neuf corridors actifs
🇰🇪 Kenya
🇺🇬 Ouganda
🇹🇿 Tanzanie
🇷🇼 Rwanda
🇿🇲 Zambie
🇲🇼 Malawi
🇪🇹 Éthiopie
🇧🇼 Botswana
🇿🇦 Afrique du Sud

Amérique latine & Asie

Onze corridors en production
🇲🇽 Mexique
🇧🇷 Brésil
🇨🇴 Colombie
🇦🇷 Argentine
🇪🇨 Équateur
Asie
🇰🇭 Cambodge
🇱🇰 Sri Lanka
🇮🇳 Inde
🇮🇩 Indonésie
🇵🇭 Philippines
🇹🇭 Thaïlande

Mêmes tarifs que le reste de Storspay. Aucuns frais d’API.

2% tout compris par paiement, selon le corridor — le même taux que pour toute autre utilisation de Storspay. Ce taux unique couvre la conversion, le règlement et la livraison locale. Pas de frais d’API séparés, pas de marge de change cachée, pas de minimum mensuel.


Où nous en sommes, honnêtement.

Maintenant · En production

Infrastructure appelable par des agents + API Plateforme

L’infrastructure de paiement est en production et fait tourner des paies dès aujourd’hui. L’outil MCP pour agents et l’API REST Plateformes & Places de marché (paiements instantanés, séquestre, webhooks) reposent tous deux dessus. Les entreprises vérifiées obtiennent leurs clés sur demande. Les volets Comptes, Cartes & Encaissements sont en sandbox sur les mêmes clés ; la production s’ouvre entreprise par entreprise après vérification.

SDK pour frameworks

Des intégrations packagées pour les frameworks d’agents que les gens utilisent réellement, guidées par ce que la liste d’accès nous apprend de leurs projets.

2027

Clés en libre-service

Clés instantanées après vérification KYB automatisée, sans intervention humaine de notre côté. D’ici là, une personne examine chaque demande d’accès.


Les questions que vous taperiez dans un moteur de recherche.

L’interface d’outils est MCP — le Model Context Protocol — que tous les grands frameworks d’agents prennent déjà en charge. Tout agent capable d’appeler un outil MCP peut appeler les paiements Storspay sans aucun travail d’intégration spécifique de part et d’autre. Il n’y a ni SDK propriétaire ni rien à installer.
Chaque agent opère dans le cadre d’un mandat défini à l’avance par un humain : un plafond par paiement, un plafond mensuel, une liste de bénéficiaires approuvés, une liste de pays autorisés et un seuil au-delà duquel les paiements s’arrêtent en attendant une approbation humaine. L’agent ne peut élargir aucune de ses propres limites, et un humain peut mettre chaque agent en pause instantanément.
Non. Les destinataires reçoivent la devise locale directement sur le compte bancaire ou le portefeuille mobile money qu’ils possèdent déjà. Ils n’ont jamais à s’inscrire, à installer une application ni à toucher à la crypto.
Trente corridors sont actifs aujourd’hui : Nigeria, Ghana, Côte d’Ivoire, Sénégal, Cameroun, Togo, Bénin, Burkina Faso, Gabon, Congo-Brazzaville, Kenya, Ouganda, Tanzanie, Rwanda, Zambie, Malawi, Éthiopie, Botswana, Afrique du Sud, Mexique, Brésil, Colombie, Argentine, Équateur, Cambodge, Sri Lanka, Inde, Indonésie, Philippines et Thaïlande — devise locale livrée le jour ouvrable même. De nouveaux corridors sont ajoutés chaque trimestre.
L’API est en production. Demandez l’accès sur cette page ; une fois la vérification KYB de votre entreprise terminée, nous émettons les clés et la documentation, généralement en quelques jours ouvrables.
Le même que pour le reste de Storspay : 2% tout compris par paiement, sans frais d’API distincts, sans marge cachée sur le change et sans minimum mensuel. Le tarif couvre la conversion, le règlement et la livraison locale.
Même infrastructure, deux portes d’entrée. L’API de paiements pour agents est un outil MCP pour les agents IA, encadré par des limites de mandat fixées par un humain. L’API Plateformes & Places de marché est une API REST classique (/api/v1/, clés Bearer, webhooks) pour les plateformes qui veulent intégrer les paiements dans leur propre parcours de commande ou de paiement des vendeurs — en paiement instantané ou sous séquestre.
Créez le paiement avec "escrow": true. Les fonds sont sécurisés depuis votre portefeuille mais pas décaissés — le paiement reste en statut "held" et votre acheteur voit « Paiement sécurisé ». Une fois la livraison confirmée, vous appelez l’endpoint de libération et le vendeur est payé en devise locale en 2 à 5 minutes. Vous pouvez annuler un paiement retenu à tout moment, et tout ce qui est encore retenu après 14 jours est automatiquement remboursé sur votre portefeuille. Chaque étape arrive sur votre webhook.
Oui. Les clés sandbox (préfixe sk_test_) vous permettent de développer et de tester chaque endpoint et webhook sans déplacer d’argent. Les clés de production (sk_live_) sont émises une fois que votre entreprise a passé la vérification KYB. Les requêtes sont limitées à 100 par minute et par clé.
Oui. Les plateformes partenaires reçoivent une part des revenus sur chaque paiement effectué — environ 0,1 à 0,2 % du volume payé, créditée sur un registre de gains consultable via GET /api/v1/earnings et versée chaque mois — plus une réduction à vie sur votre taux, convenue à l’inscription.
Oui. POST /virtual-accounts ouvre un compte USD (avec des coordonnées GBP et EUR) au nom du vendeur après une vérification hébergée ; POST /cards émet une carte Storspay virtuelle ou physique qui dépense depuis ce compte. Réglez vos ventes sur ce compte avec POST /transfers pour 0,5 %. Votre page de paiement affiche « Powered by Storspay » et rien d’autre.
Oui. POST /collections crée une demande de paiement avec des instructions bancaires ou mobile money locales et une référence. Lorsque l’acheteur paie, les USD sont crédités sur votre portefeuille ou sur le compte du vendeur, et collection.credited se déclenche. 2% tout compris au taux moyen du marché à la réception ; les montants importants sont automatiquement fractionnés sous les plafonds locaux.
Oui. Créez le bénéficiaire avec payoutMethod: usd_ach, gbp_fp ou eur_sepa et ses coordonnées bancaires. Le paiement livre le montant exact, sans conversion, à partir de 5 $, 5 $ CA, 4 £ ou 4,50 € (0.75% dans la même devise ; frais fixes pour le Canada) — dans le même lot que vos paiements en devise locale.

Prêt à payer de vraies personnes — depuis votre plateforme ou votre agent ?

Demandez l’accès et dites-nous ce que vous construisez : une place de marché, une plateforme de paiements, un agent IA. Clés sandbox, clés de production et documentation suivent la vérification KYB, et votre réponse oriente ce que nous livrons ensuite.

Merci. Votre demande est enregistrée. Les clés et la documentation arriveront à cette adresse dès la validation KYB.
Hmm, ça n’est pas passé. Réessayez ou écrivez à info@storsapp.com.

Nous l’utiliserons uniquement pour vous aider à démarrer avec Storspay.

Entreprises uniquement · Vérification KYB requise · Aucun transfert personnel

Investisseur ? Découvrez la thèse d’investissement →