Comment connecter Razorpay à Shopify Flow
Razorpay est une plateforme de paiement largement utilisée en Inde. Elle envoie un Webhook pour les paiements, les remboursements, les règlements et les abonnements. Workflow Webhooks transforme cet appel en un déclencheur « **Shopify Flow **», afin que votre boutique puisse y réagir : attribuer une balise à un client, ajouter une note à la commande, envoyer un e-mail interne, mettre à jour un métachamp… tout ce qu’Shopify Flow permet de faire.
Ce guide décrit l'ensemble du processus : Razorpay envoie, Workflow Webhooks reçoit et vérifie, Shopify Flow traite, la signature HMAC de Razorpay étant vérifiée à chaque requête, de sorte que seul Razorpay puisse déclencher votre workflow.
Ce que vous pouvez réaliser
- Mentionnez un client de Shopify ayant effectué son paiement via un lien ou une page de paiement Razorpay.
- Ajoutez une note de commande lorsqu'un remboursement est traité du côté de Razorpay.
- Envoyez un e-mail à votre équipe financière dès qu'un règlement est effectué.
Exemples d'événements à envoyer : payment.captured, payment.failed, refund.processed, subscription.charged.
Avant de commencer
- Workflow Webhooks installé sur votre boutique Shopify.
- Shopify Flow installée, disponible gratuitement sur la Boutique d'Shopify.
- Un compte Razorpay disposant des autorisations nécessaires pour créer des webhooks.
Étape 1 - Créez le webhook sur Workflow Webhooks
- Accédez à Workflow Webhooks -> Webhooks -> Créer un webhook et attribuez-lui un nom que vous pourrez reconnaître dans Shopify Flow, tel que
Razorpay events. - Dans la section « Authentification », sélectionnez « HMAC ».
- Dans la section « Fournisseur de signature », sélectionnez Razorpay. L'application remplit automatiquement les champs « en-tête », « algorithme », « payload signé » et « fenêtre de relecture » ; vous n'avez rien d'autre à configurer.
- Pour l'instant, ne renseignez pas le champ « secret » et cliquez sur « Enregistrer ». Copiez l'URL du webhook affichée sur la page.
Consultez la page Authentification pour connaître les autres modes d'authentification, et la page Mappage de la charge utile et variables de flux pour choisir les champs à transmettre à Shopify Flow.
Étape 2 - Ajoutez le point de terminaison dans Razorpay
Dans le tableau de bord Razorpay, ouvrez « Paramètres » -> « Webhooks », ajoutez un webhook avec l'URL que vous avez copiée, sélectionnez les événements et définissez le secret.
Comment trouver votre clé de signature Razorpay
Le paramètre « Secret » défini dans le webhook du tableau de bord Razorpay.
La documentation de Razorpay consacrée aux signatures de webhooks () contient la formulation exacte et les captures d'écran correspondant à votre compte.
Collez ce secret dans le champ « Secret » du webhook sur Workflow Webhooks, puis enregistrez. À partir de ce moment, chaque transaction Razorpay sera vérifiée avant d'arriver dans Shopify Flow.
Ce que cette vérification permet de contrôler
| Quoi | Valeur |
|---|---|
| En-tête de signature | X-Razorpay-Signature |
| Emplacement de la signature | La valeur complète de l'en-tête |
| Ce qui est signé | {body} |
| Signature | HMAC-SHA256, codé en hexadécimal |
| Horodatage | Non utilisé par cet expéditeur |
| Protection contre la relecture | Aucune - cet expéditeur ne signe pas l'horodatage ; par conséquent, toute signature valide reste valide |
| Le secret | À utiliser sous forme de texte brut. Copiez-collez-le exactement tel que l'expéditeur l'a indiqué. |
Dans le payload signé, {body} correspond au corps brut de la requête, octet par octet.
Toute requête qui ne respecte pas l'une de ces conditions est rejetée avec le message 401, est enregistrée dans Historique et dépannage et ne déclenche jamais de workflow.
Étape 3 - Créer le workflow Shopify Flow
- Dans « Shopify Flow », créez un workflow et sélectionnez le déclencheur « Workflow Webhooks ».
- Cliquez sur « Enregistrer les événements », puis envoyez un événement de test depuis Razorpay (ou utilisez l'option « Envoyer un test » dans Workflow Webhooks) afin que Shopify Flow apprenne la structure de vos données.
- Chaque webhook dont vous disposez déclenche le même déclencheur de flux ; veuillez donc ajouter une première condition sur l'identifiant du webhook afin de limiter ce workflow à Razorpay uniquement. L'identifiant est indiqué sur la page dédiée aux webhooks.
- Ajoutez vos actions : identifiez un client, ajoutez une note, envoyez un e-mail interne, mettez à jour un métachamp.



Étape 4 - Testez le système de bout en bout
Déclenchez un événement réel dans Razorpay. Dans Workflow Webhooks → « Historique », vous devriez voir l'appel avec le statut « Success ». Si la signature était incorrecte, vous obtiendrez à la place une entrée indiquant un échec avec le motif correspondant, et la page Vérification des webhooks signés explique le fonctionnement de l'outil de vérification de la signature qui vous indique précisément quelle étape a échoué.

La signature ne correspond pas▾
Dans cette commande : le secret (la cause la plus courante : un espace supplémentaire ou une clé provenant d'un environnement incorrect), le fait que l'expéditeur utilise le secret d'un point de terminaison différent, et le fait que quelque chose entre Razorpay et l'application réécrive le corps du message. Les signatures portent sur les octets bruts ; par conséquent, un proxy qui reformate le JSON les invalide. Le testeur de signature disponible sur la page du webhook affiche le texte exact qui a été signé.
Je reçois un code d'erreur 401 à chaque requête▾
Vérifiez que l'authentification du webhook est configurée sur HMAC avec le fournisseur Razorpay sélectionné, que le secret est renseigné et que Razorpay envoie ses requêtes à l'URL exactement telle qu'elle apparaît dans l'application, y compris le code à la fin.
Rien n'apparaît dans l'historique▾
La requête n'est jamais parvenue à destination. Vérifiez à nouveau l'URL dans Razorpay et consultez le journal de transmission de Razorpay pour connaître la réponse reçue. Un message 404 indique un webhook incorrect ou supprimé, tandis qu'un message 429 signifie que vous avez dépassé la limite d'appels de votre forfait - voir Forfaits et utilisation.
The workflow runs for inappropriate events▾
Chaque webhook de votre boutique déclenche le même déclencheur Shopify Flow. Ajoutez une condition basée sur l'identifiant du webhook comme première étape du workflow, ou affinez les événements que vous envoyez depuis Razorpay.
Connexes
- Vérification des webhooks signés - tous les prestataires que nous vérifions, et comment décrire ceux que nous ne vérifions pas.
- Mappage de la charge utile et variables de flux - extraire les champs appropriés de la payload et les transférer dans Shopify Flow.
- Protection contre les livraisons en double - Que se passe-t-il lorsque Razorpay effectue une nouvelle tentative de paiement ?
- Historique et dépannage - le journal de toutes les requêtes, avec possibilité de relecture.

