Testez toujours checkout_url. Quand elle est non vide, votre client ne recevra AUCUNE demande sur son téléphone : vous devez le rediriger vers cette URL, sinon le paiement n’aura jamais lieu.Ce n’est pas un cas marginal — c’est le fonctionnement normal de Wave, Orange Money, Djamo et des cartes bancaires. Un même réseau peut d’ailleurs basculer d’un mode à l’autre sans préavis, selon la route choisie par notre moteur de routage.
const res = await fetch('https://api.alphapay.me/api/v1/payments/softpay/', { /* … */ })const { data } = await res.json()if (data.checkout_url) { // Le paiement se règle sur une page hébergée : redirigez le client. window.location.href = data.checkout_url} else { // Push direct : une demande arrive sur son téléphone, affichez `instructions` // et sondez GET /payments/{id}/ jusqu'au statut final.}
return_url sert précisément à ce cas : après paiement sur la page hébergée, votre client y est ramené automatiquement. Sans lui, il reste sur la page du fournisseur.Optionnel pour la quasi-totalité des réseaux (push USSD, pas de page hébergée). Obligatoire pour card/crypto — sans lui, 422 immédiat (return_url manquant), aucun paiement initié. Ces deux réseaux n’ont que la page hébergée, jamais de push : sans URL de retour, votre client n’aurait aucun moyen de revenir chez vous après avoir payé.
Le header Idempotency-Key est optionnel : sans lui, chaque appel crée un paiement — un simple retry réseau en pousse donc un second sur le téléphone du client. Avec lui, renvoyer la même clé après un timeout vous renvoie la réponse d’origine au lieu de rejouer l’opération.Un timeout n’est jamais la preuve qu’une requête a échoué : elle a pu aboutir côté serveur. C’est précisément ce cas que la clé couvre.
Générez une clé par intention (un UUID convient), et réutilisez-la pour chaque retry de cette même tentative. Réutiliser une clé avec un corps différent renvoie 409. Détails : Idempotence.
Identifiant unique que vous générez pour cette tentative (un UUID par exemple). Optionnel : sans lui, chaque appel est traité comme une nouvelle demande. Avec lui, si vous renvoyez la même clé — après un timeout ou une coupure réseau — AlphaPay renvoie la réponse d'origine au lieu de créer un second paiement. Réutilisez la même clé pour les retrys d'une même tentative, changez-en pour toute nouvelle intention. La même clé avec un corps de requête différent renvoie une erreur 409. Voir Idempotence.
UUID du marchand visé. Ignoré pour une clé API (toujours vous-même) ; pour un token dashboard gérant plusieurs marchands, résout la boutique visée si le header X-Merchant-Id n'est pas fourni.
ADD_ON : les frais s'ajoutent au montant débité au client. DEDUCTED : les frais sont déduits du montant net reversé au marchand. Défaut : configuration du marchand.
OTP PRÉ-paiement, uniquement pour les réseaux qui l'exigent (Orange Money Côte d'Ivoire et Burkina Faso : le client compose un code USSD AVANT de payer, cf. GET /pricing/my-rates/). Sans lui sur un réseau qui l'exige : 422 prepayment_otp_missing. À ne pas confondre avec l'OTP reçu par SMS APRÈS le push (Coris Bénin, Wizall Sénégal), qui passe par /payments/{id}/confirm-otp/.
Response
Paiement poussé avec succès
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"AlphaPay","colors":{"primary":"#2563eb","light":"#2563eb","dark":"#2563eb"},"logo":{"light":"https://mintcdn.com/alphapay/Tw2HIGYSgf2WV5ej/logo/light.svg?fit=max\u0026auto=format\u0026n=Tw2HIGYSgf2WV5ej\u0026q=85\u0026s=646197078fcc38abde555ee1414140a1","dark":"https://mintcdn.com/alphapay/Tw2HIGYSgf2WV5ej/logo/dark.svg?fit=max\u0026auto=format\u0026n=Tw2HIGYSgf2WV5ej\u0026q=85\u0026s=3472578099a35f138fe8060f6296f7bd"},"favicon":"https://mintcdn.com/alphapay/pS32XZxYxKvhmus0/favicon.svg?fit=max\u0026auto=format\u0026n=pS32XZxYxKvhmus0\u0026q=85\u0026s=22355448471cc154a08a9e6f87a5e37c","navbar":{"links":[{"href":"https://app.alphapay.me/support","label":"Support"}],"primary":{"type":"button","label":"Tableau de bord","href":"https://app.alphapay.me"}},"footer":{"socials":{}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Tableau de bord","icon":"browser","href":"https://app.alphapay.me"},{"anchor":"Support","icon":"headset","href":"https://app.alphapay.me/support"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"alphapay","hasAudioNarration":false,"actualSubdomain":"alphapay","customDomains":["docs.alphapay.me"],"gitSource":{"type":"github","owner":"alphaconnect-technology","repo":"alphapaydocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6addf0feb128bc39b5e5fc1e","collectionId":"088b103b-ca6a-4e15-ac7c-977b354bc337","liveDeploymentHistoryId":"6addf0feb128bc39b5e5fc1e","schemaVersion":"v3"},"entitlements":{},"buildId":"6addf0feb128bc39b5e5fc1e","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API","count":51},{"language":"default","tag":"Encaisser","count":10},{"language":"default","tag":"Guides","count":9},{"language":"default","tag":"Transactions","count":9},{"language":"default","tag":"Liens de paiement","count":7},{"language":"default","tag":"Référentiels","count":7},{"language":"default","tag":"Solde \u0026 taux de change","count":7},{"language":"default","tag":"Webhooks","count":7},{"language":"default","tag":"SDKs \u0026 Intégration","count":6},{"language":"default","tag":"Prise en main","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/payments/softpay","slug":"/api-reference/payments/softpay","pageMetadata":{"title":"Initier un paiement softpay","description":"Push sur le téléphone du client, ou redirection vers une page de paiement selon l'opérateur","openapi":"api-reference/openapi.json POST /payments/softpay/","href":"/api-reference/payments/softpay"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Push sur le téléphone du client, ou redirection vers une page de paiement selon l’opérateur\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`Testez toujours `,_jsx(_components.code,{children:`checkout_url`}),`.`]}),` Quand elle est non vide, votre client ne recevra AUCUNE demande sur son téléphone : vous devez le rediriger vers cette URL, sinon le paiement n’aura jamais lieu.`]}),_jsx(_components.p,{children:`Ce n’est pas un cas marginal — c’est le fonctionnement normal de Wave, Orange Money, Djamo et des cartes bancaires. Un même réseau peut d’ailleurs basculer d’un mode à l’autre sans préavis, selon la route choisie par notre moteur de routage.`})]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` res`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` fetch`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'https://api.alphapay.me/api/v1/payments/softpay/'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, { `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`/* … */`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`checkout_url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Le paiement se règle sur une page hébergée : redirigez le client.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` window`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`location`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`href`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`checkout_url`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`} `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`else`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" // Push direct : une demande arrive sur son téléphone, affichez `instructions`\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // et sondez GET /payments/{id}/ jusqu'au statut final.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`return_url`}),` sert précisément à ce cas : après paiement sur la page hébergée, votre client y est ramené automatiquement. Sans lui, il reste sur la page du fournisseur.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Optionnel`}),` pour la quasi-totalité des réseaux (push USSD, pas de page hébergée). `,_jsx(_components.strong,{children:`Obligatoire`}),` pour `,_jsx(_components.code,{children:`card`}),`/`,_jsx(_components.code,{children:`crypto`}),` — sans lui, `,_jsx(_components.code,{children:`422`}),` immédiat (`,_jsx(_components.code,{children:`return_url`}),` manquant), aucun paiement initié. Ces deux réseaux n’ont `,_jsx(_components.em,{children:`que`}),` la page hébergée, jamais de push : sans URL de retour, votre client n’aurait aucun moyen de revenir chez vous après avoir payé.`]})]}),`\n`,_jsxs(_components.p,{children:[`Voir `,_jsx(_components.a,{href:`/api-reference/reference/formats`,children:`Pays, réseaux et format du téléphone`}),` pour la liste des codes `,_jsx(_components.code,{children:`network`}),` valides par pays et le format attendu de `,_jsx(_components.code,{children:`customer.phone`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`éviter-un-doublon-en-cas-de-coupure-réseau`,children:`Éviter un doublon en cas de coupure réseau`}),`\n`,_jsxs(_components.p,{children:[`Le header `,_jsx(_components.code,{children:`Idempotency-Key`}),` est `,_jsx(_components.strong,{children:`optionnel`}),` : sans lui, chaque appel crée un paiement — un simple retry réseau en pousse donc un second sur le téléphone du client. Avec lui, renvoyer la même clé après un timeout vous renvoie la réponse d’origine au lieu de rejouer l’opération.`]}),`\n`,_jsx(_components.p,{children:`Un timeout n’est jamais la preuve qu’une requête a échoué : elle a pu aboutir côté serveur. C’est précisément ce cas que la clé couvre.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.alphapay.me/api/v1/payments/softpay/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer sk_live_...\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Idempotency-Key: 3fa85f64-5717-4562-b3fc-2c963f66afa6\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ ... }'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Générez une clé `,_jsx(_components.strong,{children:`par intention`}),` (un UUID convient), et réutilisez-la pour chaque retry de cette même tentative. Réutiliser une clé avec un corps différent renvoie `,_jsx(_components.code,{children:`409`}),`. Détails : `,_jsx(_components.a,{href:`/api-reference/introduction#idempotence`,children:`Idempotence`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Initier un paiement softpay","description":"Push sur le téléphone du client, ou redirection vers une page de paiement selon l'opérateur","openapi":"api-reference/openapi.json POST /payments/softpay/","href":"/api-reference/payments/softpay"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Éviter un doublon en cas de coupure réseau","slug":"éviter-un-doublon-en-cas-de-coupure-réseau","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Paiements"],"summary":"Initier un paiement softpay","description":"Push sur le téléphone du client, ou redirection vers une page de paiement selon l'opérateur","requestBody":"1b0fedae-3dde-4c06-99a2-0a9445df50ab","responses":{"201":"07626d54-8e34-4204-8b55-ed5292b77105","403":"75a0673f-d460-4e58-9f51-4d1ed6972377","422":"bfb7cf68-5342-476a-957b-37f244867b7c"},"parameters":["9ad7fc29-8975-4637-af0f-772e4bebaf05"],"method":"post","type":"path","servers":["b19353dd-21f2-40ba-aea5-aa89c55a0b6e"],"security":["c148d465-63f6-4b9f-9fe1-4b1089306f66"],"path":"/payments/softpay/","baseUrlOptions":["https://api.alphapay.me/api/v1"],"title":"Initier un paiement softpay","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"9ad7fc29-8975-4637-af0f-772e4bebaf05":{"name":"Idempotency-Key","in":"header","required":false,"description":"Identifiant unique que **vous** générez pour cette tentative (un UUID par exemple). Optionnel : sans lui, chaque appel est traité comme une nouvelle demande. Avec lui, si vous renvoyez la même clé — après un timeout ou une coupure réseau — AlphaPay renvoie la réponse d'origine au lieu de créer un second paiement. Réutilisez la même clé pour les retrys d'une même tentative, changez-en pour toute nouvelle intention. La même clé avec un corps de requête différent renvoie une erreur `409`. Voir [Idempotence](/api-reference/introduction#idempotence).","schema":{"type":"string","maxLength":255,"isRequired":false,"description":"Identifiant unique que **vous** générez pour cette tentative (un UUID par exemple). Optionnel : sans lui, chaque appel est traité comme une nouvelle demande. Avec lui, si vous renvoyez la même clé — après un timeout ou une coupure réseau — AlphaPay renvoie la réponse d'origine au lieu de créer un second paiement. Réutilisez la même clé pour les retrys d'une même tentative, changez-en pour toute nouvelle intention. La même clé avec un corps de requête différent renvoie une erreur `409`. Voir [Idempotence](/api-reference/introduction#idempotence).","uniqueKey":"","typeLabel":"string"},"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount","currency","country","customer","network"],"properties":{"amount":{"type":"string","format":"decimal","example":"2500.00","isRequired":true,"uniqueKey":"amount","typeLabel":"string\u003cdecimal>"},"currency":{"type":"string","minLength":3,"maxLength":3,"example":"XOF","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"country":{"type":"string","minLength":2,"maxLength":2,"example":"BJ","isRequired":true,"uniqueKey":"country","typeLabel":"string"},"customer":{"type":"object","required":["email","first_name","last_name","phone"],"properties":{"email":{"type":"string","format":"email","example":"client@example.com","isRequired":true,"uniqueKey":"customer.email","typeLabel":"string\u003cemail>"},"first_name":{"type":"string","example":"Awa","isRequired":true,"uniqueKey":"customer.first_name","typeLabel":"string"},"last_name":{"type":"string","example":"Sossou","isRequired":true,"uniqueKey":"customer.last_name","typeLabel":"string"},"phone":{"type":"string","example":"+22997505050","isRequired":true,"uniqueKey":"customer.phone","typeLabel":"string"}},"isRequired":true,"uniqueKey":"customer","typeLabel":"object"},"network":{"type":"string","description":"Code réseau, cf. référentiel pays/réseaux","example":"mtn_bj","isRequired":true,"uniqueKey":"network","typeLabel":"string"},"merchant":{"type":"string","format":"uuid","description":"UUID du marchand visé. Ignoré pour une clé API (toujours vous-même) ; pour un token dashboard gérant plusieurs marchands, résout la boutique visée si le header X-Merchant-Id n'est pas fourni.","uniqueKey":"merchant","typeLabel":"string\u003cuuid>"},"description":{"type":"string","example":"Abonnement mensuel","uniqueKey":"description","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"uniqueKey":"metadata","typeLabel":"object"},"fee_charge_mode":{"oneOf":[{"type":"string","enum":["ADD_ON","DEDUCTED"],"description":"ADD_ON : les frais s'ajoutent au montant débité au client. DEDUCTED : les frais sont déduits du montant net reversé au marchand. Défaut : configuration du marchand.","uniqueKey":"fee_charge_mode.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["ADD_ON","DEDUCTED"],"description":"ADD_ON : les frais s'ajoutent au montant débité au client. DEDUCTED : les frais sont déduits du montant net reversé au marchand. Défaut : configuration du marchand.","uniqueKey":"fee_charge_mode.oneOf.1","typeLabel":"null"}],"uniqueKey":"fee_charge_mode","typeLabel":"enum\u003cstring> | null"},"preferred_gateway":{"type":"string","description":"Code gateway à privilégier si plusieurs sont éligibles pour ce réseau","uniqueKey":"preferred_gateway","typeLabel":"string"},"otp":{"type":"string","description":"OTP PRÉ-paiement, uniquement pour les réseaux qui l'exigent (Orange Money Côte d'Ivoire et Burkina Faso : le client compose un code USSD AVANT de payer, cf. GET /pricing/my-rates/). Sans lui sur un réseau qui l'exige : 422 prepayment_otp_missing. À ne pas confondre avec l'OTP reçu par SMS APRÈS le push (Coris Bénin, Wizall Sénégal), qui passe par /payments/{id}/confirm-otp/.","uniqueKey":"otp","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"amount":"2500.00","currency":"XOF","country":"BJ","description":"Abonnement mensuel","customer":{"email":"client@example.com","first_name":"Awa","last_name":"Sossou","phone":"+22997505050"},"network":"mtn_bj"},"examples":{"Example":{"title":"Example","value":{"amount":"2500.00","currency":"XOF","country":"BJ","description":"Abonnement mensuel","customer":{"email":"client@example.com","first_name":"Awa","last_name":"Sossou","phone":"+22997505050"},"network":"mtn_bj"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"07626d54-8e34-4204-8b55-ed5292b77105":{"description":"Paiement poussé avec succès","content":{"application/json":{"example":{"message":"Payment pushed successfully","id":"9c3f2a10-4b7e-4f1a-9d2e-9b6a7c1e4a02","status":"PENDING","checkout_url":""},"examples":{"Example":{"title":"Example","value":{"message":"Payment pushed successfully","id":"9c3f2a10-4b7e-4f1a-9d2e-9b6a7c1e4a02","status":"PENDING","checkout_url":""}}},"exampleType":"examples"}},"exampleType":"examples"},"75a0673f-d460-4e58-9f51-4d1ed6972377":{"description":"Scope de clé API insuffisant (PAYIN requis)","content":{"application/json":{"example":{"message":"Cette clé API n'est pas autorisée pour les opérations payin (scope actuel : Payout).","code":"api_key_scope_forbidden"},"examples":{"Example":{"title":"Example","value":{"message":"Cette clé API n'est pas autorisée pour les opérations payin (scope actuel : Payout).","code":"api_key_scope_forbidden"}}},"exampleType":"examples"}},"exampleType":"examples"},"bfb7cf68-5342-476a-957b-37f244867b7c":{"description":"Requête valide mais impossible à router. Codes possibles : `missing_method`, `invalid_country`, `no_exchange_rate`, `invalid_customer`, `invalid_method`, `prepayment_otp_missing`, `no_route_available`.","content":{"application/json":{"example":{"message":"Réseau inconnu ou inactif : 'mtn_xx'.","code":"invalid_method"},"examples":{"Example":{"title":"Example","value":{"message":"Réseau inconnu ou inactif : 'mtn_xx'.","code":"invalid_method"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"c148d465-63f6-4b9f-9fe1-4b1089306f66":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"sk_live_... / sk_test_...","description":"Clé API secrète du marchand — header Authorization: Bearer sk_live_xxx (ou sk_test_xxx en environnement de test).","scopes":[]}}},"servers":{"b19353dd-21f2-40ba-aea5-aa89c55a0b6e":{"url":"https://api.alphapay.me/api/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"sk_live_... / sk_test_...","description":"Clé API secrète du marchand — header Authorization: Bearer sk_live_xxx (ou sk_test_xxx en environnement de test).","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Clé API secrète du marchand — header Authorization: Bearer sk_live_xxx (ou sk_test_xxx en environnement de test).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"alphapay","siteName":"AlphaPay","title":"Initier un paiement softpay - AlphaPay","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-09T17:19:26.808Z","originalFileLocation":"api-reference/payments/softpay.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Push sur le téléphone du client, ou redirection vers une page de paiement selon l\u0026#x27;opérateur\">\u003cmeta data-mint-head name=\"application-name\" content=\"AlphaPay\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Initier un paiement softpay - AlphaPay\">\u003cmeta data-mint-head property=\"og:description\" content=\"Push sur le téléphone du client, ou redirection vers une page de paiement selon l\u0026#x27;opérateur\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AlphaPay\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.alphapay.me/api-reference/payments/softpay\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://alphapay.mintlify.app/_mintlify/api/og/v2?division=Encaisser\u0026amp;title=Initier+un+paiement+softpay\u0026amp;description=Push+sur+le+t%C3%A9l%C3%A9phone+du+client%2C+ou+redirection+vers+une+page+de+paiement+selon+l%27op%C3%A9rateur\u0026amp;theme=7b414481c8ca8eb6796b104f\u0026amp;signature=312a56a7fe748f1a02b82c445c72af39484db8999b4dd32fbb66f418b236f35d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Initier un paiement softpay - AlphaPay\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Push sur le téléphone du client, ou redirection vers une page de paiement selon l\u0026#x27;opérateur\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://alphapay.mintlify.app/_mintlify/api/og/v2?division=Encaisser\u0026amp;title=Initier+un+paiement+softpay\u0026amp;description=Push+sur+le+t%C3%A9l%C3%A9phone+du+client%2C+ou+redirection+vers+une+page+de+paiement+selon+l%27op%C3%A9rateur\u0026amp;theme=7b414481c8ca8eb6796b104f\u0026amp;signature=312a56a7fe748f1a02b82c445c72af39484db8999b4dd32fbb66f418b236f35d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/alphapay/Th8-_sq5pGXezoVi/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AlphaPay\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563eb\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.alphapay.me/api-reference/payments/softpay\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/payments/softpay.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.alphapay.me/#organization\",\"name\":\"AlphaPay\",\"url\":\"https://docs.alphapay.me\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/alphapay/Tw2HIGYSgf2WV5ej/logo/light.svg?fit=max\u0026auto=format\u0026n=Tw2HIGYSgf2WV5ej\u0026q=85\u0026s=646197078fcc38abde555ee1414140a1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.alphapay.me#website\",\"name\":\"AlphaPay\",\"url\":\"https://docs.alphapay.me\",\"publisher\":{\"@id\":\"https://docs.alphapay.me/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.alphapay.me/api-reference/payments/softpay#webpage\",\"url\":\"https://docs.alphapay.me/api-reference/payments/softpay\",\"name\":\"Initier un paiement softpay\",\"description\":\"Push sur le téléphone du client, ou redirection vers une page de paiement selon l'opérateur\",\"dateModified\":\"2026-09-09T17:19:26.808Z\",\"isPartOf\":{\"@id\":\"https://docs.alphapay.me#website\"},\"breadcrumb\":{\"@id\":\"https://docs.alphapay.me/api-reference/payments/softpay#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.alphapay.me/api-reference/payments/softpay#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Encaisser\",\"item\":\"https://docs.alphapay.me/api-reference/payments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Initier un paiement softpay\",\"item\":\"https://docs.alphapay.me/api-reference/payments/softpay\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.alphapay.me/api-reference/payments/softpay#apireference\",\"headline\":\"Initier un paiement softpay\",\"name\":\"Initier un paiement softpay\",\"description\":\"Push sur le téléphone du client, ou redirection vers une page de paiement selon l'opérateur\",\"url\":\"https://docs.alphapay.me/api-reference/payments/softpay\",\"mainEntityOfPage\":{\"@id\":\"https://docs.alphapay.me/api-reference/payments/softpay#webpage\"},\"dateModified\":\"2026-09-09T17:19:26.808Z\",\"publisher\":{\"@id\":\"https://docs.alphapay.me/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.alphapay.me#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AlphaPay\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"AlphaPay","nav":{"global":{"anchors":[{"anchor":"Tableau de bord","icon":"browser","href":"https://app.alphapay.me"},{"anchor":"Support","icon":"headset","href":"https://app.alphapay.me/support"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API","groups":[{"group":"Vue d'ensemble","pages":[{"title":"Référence API","icon":"terminal","href":"/api-reference/introduction"}]},{"group":"Encaisser","pages":[{"title":"Paiements","description":"Encaissez un client en mobile money ou carte, via softpay (push direct) ou checkout hébergé (page à rediriger).","icon":"credit-card","href":"/api-reference/payments"},{"title":"Initier un paiement softpay","openapi":"api-reference/openapi.json POST /payments/softpay/","href":"/api-reference/payments/softpay"},{"title":"Créer une session de checkout","description":"Génère une page de paiement hébergée à rediriger le client dessus","openapi":"api-reference/openapi.json POST /checkout-sessions/","href":"/api-reference/payments/checkout-create"},{"title":"Lister ses sessions de checkout","openapi":"api-reference/openapi.json GET /checkout-sessions/","href":"/api-reference/payments/checkout-list"},{"title":"Détail d'une session de checkout","openapi":"api-reference/openapi.json GET /checkout-sessions/{id}/","href":"/api-reference/payments/checkout-get"},{"title":"Statut d'une session de checkout","openapi":"api-reference/openapi.json GET /checkout-sessions/{id}/status/","href":"/api-reference/payments/checkout-status"},{"title":"Annuler une session de checkout","openapi":"api-reference/openapi.json POST /checkout-sessions/{id}/cancel/","href":"/api-reference/payments/checkout-cancel"},{"title":"Vérifier le statut d'un paiement","openapi":"api-reference/openapi.json GET /payments/{payment_id}/verify/","href":"/api-reference/payments/verify"},{"title":"Confirmer un paiement par OTP","openapi":"api-reference/openapi.json POST /payments/{payment_id}/confirm-otp/","href":"/api-reference/payments/confirm-otp"},{"title":"Relancer un paiement échoué","openapi":"api-reference/openapi.json POST /payments/{payment_id}/retry/","href":"/api-reference/payments/retry"}]},{"group":"Transactions","pages":[{"title":"Transactions","icon":"receipt","href":"/api-reference/transactions"},{"title":"Lister ses transactions","openapi":"api-reference/openapi.json GET /transactions/","href":"/api-reference/transactions/list"},{"title":"Détail d'une transaction","openapi":"api-reference/openapi.json GET /transactions/{id}/","href":"/api-reference/transactions/get"},{"title":"Export CSV","openapi":"api-reference/openapi.json GET /transactions/export/","href":"/api-reference/transactions/export"},{"title":"Facture PDF","openapi":"api-reference/openapi.json GET /transactions/{id}/invoice/","href":"/api-reference/transactions/invoice"},{"title":"Lister les tentatives","openapi":"api-reference/openapi.json GET /transaction-attempts/","href":"/api-reference/transactions/attempts-list"},{"title":"Détail d'une tentative","openapi":"api-reference/openapi.json GET /transaction-attempts/{id}/","href":"/api-reference/transactions/attempts-get"},{"title":"Lister les changements de statut","openapi":"api-reference/openapi.json GET /transaction-status-logs/","href":"/api-reference/transactions/status-logs-list"},{"title":"Détail d'un changement de statut","openapi":"api-reference/openapi.json GET /transaction-status-logs/{id}/","href":"/api-reference/transactions/status-logs-get"}]},{"group":"Liens de paiement","pages":[{"title":"Liens de paiement","icon":"link","href":"/api-reference/payment-links"},{"title":"Créer un lien de paiement","openapi":"api-reference/openapi.json POST /payment-links/","href":"/api-reference/payment-links/create"},{"title":"Lister ses liens","openapi":"api-reference/openapi.json GET /payment-links/","href":"/api-reference/payment-links/list"},{"title":"Détail d'un lien","openapi":"api-reference/openapi.json GET /payment-links/{id}/","href":"/api-reference/payment-links/get"},{"title":"Modifier un lien","openapi":"api-reference/openapi.json PATCH /payment-links/{id}/","href":"/api-reference/payment-links/update"},{"title":"Supprimer un lien","openapi":"api-reference/openapi.json DELETE /payment-links/{id}/","href":"/api-reference/payment-links/delete"},{"title":"Transactions issues d'un lien","openapi":"api-reference/openapi.json GET /payment-links/{id}/transactions/","href":"/api-reference/payment-links/transactions"}]},{"group":"Décaissements","pages":[{"title":"Retraits","icon":"paper-plane","href":"/api-reference/payouts"},{"title":"Initier un payout","openapi":"api-reference/openapi.json POST /payouts/initialize/","href":"/api-reference/payouts/initialize"},{"title":"Vérifier le statut d'un payout","openapi":"api-reference/openapi.json GET /payouts/{payout_id}/verify/","href":"/api-reference/payouts/verify"}]},{"group":"Solde \u0026 taux de change","pages":[{"title":"Wallet","icon":"wallet","href":"/api-reference/wallet"},{"title":"Lister les soldes","openapi":"api-reference/openapi.json GET /merchant-balances/","href":"/api-reference/wallet/balances-list"},{"title":"Récupérer un solde","openapi":"api-reference/openapi.json GET /merchant-balances/{id}/","href":"/api-reference/wallet/balances-get"},{"title":"Lister les taux de change","openapi":"api-reference/openapi.json GET /exchange-rates/","href":"/api-reference/wallet/exchange-rates-list"},{"title":"Lister les transferts interwallet","openapi":"api-reference/openapi.json GET /wallet-transfers/","href":"/api-reference/wallet/wallet-transfers-list"},{"title":"Initier un transfert interwallet","openapi":"api-reference/openapi.json POST /wallet-transfers/","href":"/api-reference/wallet/wallet-transfers-create"},{"title":"Récupérer un transfert interwallet","openapi":"api-reference/openapi.json GET /wallet-transfers/{id}/","href":"/api-reference/wallet/wallet-transfers-get"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","icon":"webhook","href":"/api-reference/webhooks"},{"title":"Lister vos points de réception","openapi":"api-reference/openapi.json GET /merchant-webhooks/","href":"/api-reference/webhooks/list"},{"title":"Récupérer un point de réception","openapi":"api-reference/openapi.json GET /merchant-webhooks/{id}/","href":"/api-reference/webhooks/get"},{"title":"Lister vos abonnements","openapi":"api-reference/openapi.json GET /merchant-webhook-subscriptions/","href":"/api-reference/webhooks/subscriptions-list"},{"title":"Récupérer un abonnement","openapi":"api-reference/openapi.json GET /merchant-webhook-subscriptions/{id}/","href":"/api-reference/webhooks/subscriptions-get"},{"title":"Lister l'historique de livraison","openapi":"api-reference/openapi.json GET /webhook-logs/","href":"/api-reference/webhooks/logs-list"},{"title":"Récupérer une livraison","openapi":"api-reference/openapi.json GET /webhook-logs/{id}/","href":"/api-reference/webhooks/logs-get"}]},{"group":"Référentiels","pages":[{"title":"Introduction","icon":"globe","href":"/api-reference/reference"},{"title":"Pays, réseaux et format du téléphone","icon":"table","href":"/api-reference/reference/formats"},{"title":"Lister les pays","openapi":"api-reference/openapi.json GET /countries/","href":"/api-reference/reference/countries"},{"title":"Détail d'un pays","openapi":"api-reference/openapi.json GET /countries/{id}/","href":"/api-reference/reference/country-get"},{"title":"Lister les réseaux","openapi":"api-reference/openapi.json GET /networks/","href":"/api-reference/reference/networks"},{"title":"Détail d'un réseau","openapi":"api-reference/openapi.json GET /networks/{id}/","href":"/api-reference/reference/network-get"},{"title":"Consulter mes tarifs","openapi":"api-reference/openapi.json GET /pricing/my-rates/","href":"/api-reference/reference/my-rates"}]}]}]},"title":"Initier un paiement softpay - AlphaPay","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}