{"id":502,"date":"2026-04-06T02:14:42","date_gmt":"2026-04-06T00:14:42","guid":{"rendered":"https:\/\/riskpaygo.com\/?page_id=502"},"modified":"2026-04-06T11:38:03","modified_gmt":"2026-04-06T09:38:03","slug":"api","status":"publish","type":"page","link":"https:\/\/riskpaygo.com\/fr\/api\/","title":{"rendered":"Int\u00e9gration de l'API RiskPayGo"},"content":{"rendered":"<p>Cette documentation explique comment int\u00e9grer RiskPayGo \u00e0 votre site web ou application pour cr\u00e9er des paiements, rediriger l'acheteur vers la page de paiement et recevoir la confirmation de statut final via webhook.<\/p>\n<p>L'int\u00e9gration doit \u00eatre effectu\u00e9e depuis votre backend. Il est d\u00e9conseill\u00e9 d'exposer des identifiants ou des donn\u00e9es sensibles c\u00f4t\u00e9 client.<\/p>\n<h2>Avant de commencer<\/h2>\n<p>Avant de commencer, vous devez disposer d'un compte marchand RiskPayGo approuv\u00e9 et actif. Vous aurez \u00e9galement besoin de vos identifiants d'int\u00e9gration et devrez vous assurer que le domaine \u00e0 partir duquel vous collecterez les paiements est autoris\u00e9 dans votre compte.<\/p>\n<p>Les donn\u00e9es dont vous aurez besoin sont les v\u00f4tres <code>ID du commer\u00e7ant<\/code>, toi <code>Jeton API<\/code>, toi <code>Secret du webhook<\/code> et l'URL de base de l'API.<\/p>\n<p>L'URL de base est la suivante\u00a0:<\/p>\n<pre><code>https:\/\/riskpaygo.com\/portal\/api\/plugin<\/code><\/pre>\n<h2>Authentification<\/h2>\n<p>Toutes les requ\u00eates API doivent \u00eatre authentifi\u00e9es. Pour ce faire, vous devez inclure le jeton priv\u00e9 dans l'en-t\u00eate. <code>Autorisation<\/code> et l'identifiant du commer\u00e7ant dans l'en-t\u00eate <code>Marchand de X-RPG<\/code>.<\/p>\n<p>Les en-t\u00eates n\u00e9cessaires sont les suivants\u00a0:<\/p>\n<pre><code>Accept: application\/json\nContent-Type: application\/json\nAuthorization: Bearer TU_API_TOKEN\nX-RPG-Merchant: TU_MERCHANT_ID<\/code><\/pre>\n<p>Ces identifiants ne doivent \u00eatre utilis\u00e9s que sur le serveur. Ils ne doivent pas \u00eatre visibles dans le code JavaScript du navigateur ni dans le code public.<\/p>\n<h2>Domaine approuv\u00e9<\/h2>\n<p>RiskPayGo valide le domaine que vous envoyez dans le champ. <code>site.url<\/code>Cela signifie que disposer d'identifiants valides ne suffit pas\u00a0: le domaine \u00e0 partir duquel vous effectuez le paiement doit \u00e9galement \u00eatre enregistr\u00e9 et approuv\u00e9 dans votre compte.<\/p>\n<p>Si le domaine ne correspond \u00e0 aucun de vos projets approuv\u00e9s, l'API rejettera la requ\u00eate m\u00eame si le jeton est correct.<\/p>\n<p>Par cons\u00e9quent, avant la mise en production, il est conseill\u00e9 de v\u00e9rifier que l'URL exacte de votre boutique ou application est bien enregistr\u00e9e dans le panneau.<\/p>\n<h2>Cr\u00e9er un paiement<\/h2>\n<p>Pour initier un paiement, vous devez soumettre une demande. <code>POSTE<\/code> vers le point de terminaison de cr\u00e9ation de paiement.<\/p>\n<pre><code>POST https:\/\/riskpaygo.com\/portal\/api\/plugin\/payments\/create<\/code><\/pre>\n<p>Dans cette demande, vous devez envoyer les informations principales de la commande\u00a0: le montant, la devise, vos r\u00e9f\u00e9rences internes, les coordonn\u00e9es de l\u2019acheteur ainsi que les URL de retour et de notification.<\/p>\n<p>Une requ\u00eate type comprendra des champs tels que\u00a0: <code>id_commande_marchand<\/code>, <code>id_de_commande<\/code>, <code>cl\u00e9_de_commande<\/code>, <code>montant<\/code>, <code>devise<\/code>, <code>client<\/code>, <code>site<\/code>, <code>notification_url<\/code>, <code>URL de retour<\/code> et <code>URL d'annulation<\/code>.<\/p>\n<p>Voici un exemple complet du corps du message que vous pouvez envoyer\u00a0:<\/p>\n<pre><code>{\n  \"merchant_order_id\": \"PED-1001\",\n  \"order_id\": 1001,\n  \"order_key\": \"pedido_1001_key\",\n  \"amount\": \"149.99\",\n  \"currency\": \"USD\",\n  \"customer\": {\n    \"email\": \"cliente@ejemplo.com\",\n    \"first_name\": \"Nombre\",\n    \"last_name\": \"Apellido\",\n    \"phone\": \"+34123456789\",\n    \"country\": \"ES\",\n    \"date_of_birth\": \"1990-05-20\"\n  },\n  \"site\": {\n    \"url\": \"https:\/\/tu-dominio.com\/\",\n    \"name\": \"Mi tienda\",\n    \"platform\": \"custom\",\n    \"plugin\": \"integracion-propia\"\n  },\n  \"notify_url\": \"https:\/\/tu-dominio.com\/api\/riskpaygo\/webhook\",\n  \"return_url\": \"https:\/\/tu-dominio.com\/pago\/completado\",\n  \"cancel_url\": \"https:\/\/tu-dominio.com\/pago\/cancelado\"\n}<\/code><\/pre>\n<p>Le champ <code>montant<\/code> Il doit \u00eatre sup\u00e9rieur \u00e0 z\u00e9ro. La devise est envoy\u00e9e en <code>devise<\/code>. Dans <code>client<\/code> Il est conseill\u00e9 d'envoyer au moins l'adresse \u00e9lectronique de l'acheteur. <code>site.url<\/code> Vous devez soumettre le domaine approuv\u00e9. <code>notification_url<\/code> Vous indiquez o\u00f9 vous souhaitez recevoir la notification relative \u00e0 l'\u00e9tat du paiement.<\/p>\n<h2>R\u00e9ponse de l'API<\/h2>\n<p>Si la requ\u00eate aboutit, RiskPayGo renvoie une r\u00e9ponse contenant la r\u00e9f\u00e9rence de paiement interne et l'URL de la page de paiement. Cette r\u00e9f\u00e9rence vous permet d'associer le paiement \u00e0 votre commande et d'en suivre l'\u00e9volution.<\/p>\n<p>La r\u00e9ponse attendue prend la forme suivante\u00a0:<\/p>\n<pre><code>{\n  \"success\": true,\n  \"data\": {\n    \"payment_ref\": \"RPG-20260313-ABC12345\",\n    \"checkout_url\": \"https:\/\/riskpaygo.com\/portal\/checkout.php?ref=RPG-20260313-ABC12345\",\n    \"fee_percent\": 20,\n    \"plan_slug\": \"free\"\n  }\n}<\/code><\/pre>\n<p>D\u00e8s que vous recevez <code>URL de paiement<\/code>Vous devez rediriger l'acheteur vers cette adresse afin qu'il puisse effectuer le paiement.<\/p>\n<h2>Que faire au moment du passage en caisse<\/h2>\n<p>Le paiement est trait\u00e9 via une plateforme de paiement h\u00e9berg\u00e9e par RiskPayGo. Votre syst\u00e8me ne doit pas consid\u00e9rer la commande comme pay\u00e9e simplement parce que vous avez obtenu l'URL de paiement ou parce que l'utilisateur est retourn\u00e9 sur le site web.<\/p>\n<p>Il est recommand\u00e9 de conserver la r\u00e9f\u00e9rence. <code>r\u00e9f\u00e9rence de paiement<\/code>rediriger l'acheteur et attendre la confirmation finale via webhook.<\/p>\n<p>Le <code>URL de retour<\/code> Cela permet de rediriger l'utilisateur vers votre site apr\u00e8s le paiement, mais le statut final d\u00e9pendra de la notification que vous recevez. <code>notification_url<\/code>.<\/p>\n<h2>Webhook de confirmation<\/h2>\n<p>Lorsque le statut du paiement change, RiskPayGo enverra une demande <code>POSTE<\/code> \u00e0 l'URL indiqu\u00e9e dans <code>notification_url<\/code>Cette notification comporte une signature en haut. <code>Signature X-RPG<\/code>.<\/p>\n<p>Vous devez valider cette signature \u00e0 l'aide de votre <code>Secret du webhook<\/code>La validation doit \u00eatre effectu\u00e9e sur le corps original exact de la requ\u00eate, et non sur un JSON res\u00e9rialis\u00e9.<\/p>\n<p>L'en-t\u00eate que vous devez v\u00e9rifier est celui-ci\u00a0:<\/p>\n<pre><code>X-RPG-Signature:<\/code><\/pre>\n<p>La notification RiskPayGo peut inclure des informations telles que le nom du commer\u00e7ant, la r\u00e9f\u00e9rence de la commande, la r\u00e9f\u00e9rence du paiement, le statut et l'identifiant de la transaction. Voici un exemple\u00a0:<\/p>\n<pre><code>{\n  \"merchant_id\": \"TU_MERCHANT_ID\",\n  \"order_id\": 1001,\n  \"order_key\": \"pedido_1001_key\",\n  \"payment_ref\": \"RPG-20260313-ABC12345\",\n  \"transaction_id\": \"RPG-20260313-ABC12345\",\n  \"status\": \"paid\",\n  \"provider_status\": \"success\",\n  \"provider_event\": \"payment_succeeded\",\n  \"source\": \"payera_webhook\"\n}<\/code><\/pre>\n<p>L'important ici est de valider la signature, puis d'utiliser la valeur de <code>statut<\/code> pour mettre \u00e0 jour la commande dans votre syst\u00e8me.<\/p>\n<h2>Statuts de paiement<\/h2>\n<p>Lors de l'int\u00e9gration, vous devez prendre en compte quatre \u00e9tats principaux.<\/p>\n<p><code>en attente<\/code> Cela indique que le paiement a \u00e9t\u00e9 initi\u00e9 mais n'est pas encore confirm\u00e9.<\/p>\n<p><code>pay\u00e9<\/code> Cela indique que le paiement a bien \u00e9t\u00e9 confirm\u00e9. C'est le statut \u00e0 utiliser pour marquer la commande comme pay\u00e9e.<\/p>\n<p><code>\u00e9chou\u00e9<\/code> indique que le paiement a \u00e9chou\u00e9 ou a \u00e9t\u00e9 rejet\u00e9.<\/p>\n<p><code>annul\u00e9<\/code> indique que le paiement a \u00e9t\u00e9 annul\u00e9 ou a expir\u00e9.<\/p>\n<p>Il est g\u00e9n\u00e9ralement recommand\u00e9 d'utiliser le webhook comme source principale de v\u00e9rit\u00e9 et de ne consid\u00e9rer la commande pay\u00e9e que lorsqu'elle est re\u00e7ue. <code>statut = pay\u00e9<\/code>.<\/p>\n<h2>Erreurs courantes<\/h2>\n<h3>Commer\u00e7ant non autoris\u00e9<\/h3>\n<p>Si l'API renvoie une erreur d'autorisation, la premi\u00e8re chose \u00e0 v\u00e9rifier est la valeur envoy\u00e9e. <code>Autorisation<\/code> \u00eatre correct et que le commer\u00e7ant a envoy\u00e9 <code>Marchand de X-RPG<\/code> Vous devez faire correspondre ce jeton. Vous devez \u00e9galement confirmer que le compte est approuv\u00e9 et actif.<\/p>\n<h3>Domaine non approuv\u00e9<\/h3>\n<p>Si le probl\u00e8me se situe au niveau du domaine, v\u00e9rifiez la valeur envoy\u00e9e dans <code>site.url<\/code> et v\u00e9rifiez que le domaine existe bien en tant que projet approuv\u00e9 dans le panel RiskPayGo.<\/p>\n<h3>Montant invalide<\/h3>\n<p>Si l'API rejette le montant, assurez-vous que <code>montant<\/code> Elle est correctement envoy\u00e9e et sa valeur est sup\u00e9rieure \u00e0 z\u00e9ro.<\/p>\n<h3>Signature de webhook invalide<\/h3>\n<p>Si votre syst\u00e8me ne parvient pas \u00e0 valider la notification, v\u00e9rifiez que vous utilisez bien le <code>Secret du webhook<\/code> correct et que le calcul de la signature est effectu\u00e9 sur le corps original exact de la requ\u00eate.<\/p>\n<h2>Utilisation avec WooCommerce<\/h2>\n<p>Si vous utilisez l'extension WooCommerce officielle, les m\u00eames informations d'int\u00e9gration sont n\u00e9cessaires. Vous devrez configurer l'URL de base, le nom du marchand, le jeton et le secret du webhook.<\/p>\n<p>Les principales valeurs \u00e0 saisir sont les suivantes\u00a0:<\/p>\n<pre><code>API Base URL: https:\/\/riskpaygo.com\/portal\/api\/plugin\nMerchant ID: TU_MERCHANT_ID\nAPI Token: TU_API_TOKEN\nWebhook Secret: TU_WEBHOOK_SECRET<\/code><\/pre>\n<p>L'URL du webhook dans WordPress a g\u00e9n\u00e9ralement ce format\u00a0:<\/p>\n<pre><code>https:\/\/tu-dominio.com\/wp-json\/riskpaygo\/v1\/webhook<\/code><\/pre>\n<h2>Recommandations finales<\/h2>\n<p>Avant la mise en production, il est conseill\u00e9 de v\u00e9rifier que le domaine est approuv\u00e9 et que votre <code>notification_url<\/code> Il r\u00e9pond correctement via HTTPS, ce qui vous permet de sauvegarder vos donn\u00e9es. <code>r\u00e9f\u00e9rence de paiement<\/code> dans votre syst\u00e8me et que vous ne marquez les commandes comme pay\u00e9es que lorsque la confirmation finale arrive par webhook.<\/p>\n<p>Gr\u00e2ce \u00e0 cette structure, vous disposez d\u00e9j\u00e0 d'une base solide pour int\u00e9grer RiskPayGo \u00e0 votre propre site web, \u00e0 une application personnalis\u00e9e ou \u00e0 une boutique WooCommerce.<\/p>","protected":false},"excerpt":{"rendered":"<p>Esta documentaci\u00f3n explica c\u00f3mo integrar RiskPayGo en tu web o aplicaci\u00f3n para crear pagos, redirigir al comprador al checkout y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-502","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/riskpaygo.com\/fr\/wp-json\/wp\/v2\/pages\/502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/riskpaygo.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/riskpaygo.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/riskpaygo.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/riskpaygo.com\/fr\/wp-json\/wp\/v2\/comments?post=502"}],"version-history":[{"count":0,"href":"https:\/\/riskpaygo.com\/fr\/wp-json\/wp\/v2\/pages\/502\/revisions"}],"wp:attachment":[{"href":"https:\/\/riskpaygo.com\/fr\/wp-json\/wp\/v2\/media?parent=502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}