{"id":15188,"date":"2021-09-09T15:30:32","date_gmt":"2021-09-09T10:00:32","guid":{"rendered":"https:\/\/www.botreetechnologies.com\/blog\/?p=15188"},"modified":"2023-03-13T15:34:56","modified_gmt":"2023-03-13T10:04:56","slug":"configuring-razorpay-webhook","status":"publish","type":"post","link":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/","title":{"rendered":"How to Configure Razorpay Webhook in Ruby on Rails"},"content":{"rendered":"\n<p>In this blog post, we are going to learn how to validate Razorpay payments in <a href=\"https:\/\/www.botreetechnologies.com\" target=\"_blank\" rel=\"noreferrer noopener\">Ruby on Rails using webhooks<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is a Webhook?<\/h2>\n\n\n\n<p>In software development services, validating payments and integrating the mechanism is highly important. Ecommerce marketplaces require this system to enable purchases and receive payments easily.<\/p>\n\n\n\n<p>Let\u2019s see how webhook helps in that implementation for Razorpay.<\/p>\n\n\n\n<p>A webhook, also known as a web callback, is a method that enables an app or web service to send real-time information to another application. &nbsp;<\/p>\n\n\n\n<p>Webhook is one of the key features that almost all payment gateway provides to tackle failed payments and track all the lost transactions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why should I Configure Webhooks for Razorpay?<\/h2>\n\n\n\n<p>Razorpay supports receiving payments through multiple payment modes. If you have set up Razorpay in your application, your customers can make payments for invoices through the Client Portal.<\/p>\n\n\n\n<p>When the customer clicks the \u201cProceed to Pay\u201d button, a Razorpay pop-up will open from which they can select a payment mode and make the payment. Once the customer authenticates the payment through OTP or other methods, the amount will be deducted from their account.<\/p>\n\n\n\n<p>Next, Razorpay will notify your application for the payment to be recorded. However, the notification to record the payment in your application might fail as explained in the cases below.<\/p>\n\n\n\n<p>So, configuring a webhook for Razorpay in <a href=\"https:\/\/www.botreetechnologies.com\/ruby-on-rails-development\" target=\"_blank\" rel=\"noreferrer noopener\">Ruby on Rails<\/a> ensures that your application is notified about the payment statuses and payments do not fail to be recorded.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><br><strong>Want to learn how to integrate Razorpay in your website using Ruby on Rails? Here\u2019s how to do the <a href=\"https:\/\/www.botreetechnologies.com\/blog\/razorpay-integration-in-ruby-on-rails\/\" target=\"_blank\" rel=\"noreferrer noopener\">Razorpay payment gateway integration<\/a>.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Set Up Razorpay Webhooks<\/h2>\n\n\n\n<p>You can set up webhooks from your Razorpay Dashboard and configure separate URLs for live mode and test mode. You can find a dropdown on the top bar of the dashboard to switch the modes.<\/p>\n\n\n\n<p><strong>To set up webhooks:<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Log into your <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/dashboard.razorpay.com\/#\/access\/signin\">Razorpay Dashboard<\/a> and go to Settings &gt; Webhooks.<\/li>\n\n\n\n<li>Click &nbsp;\u201cAdd New Webhook\u201d.<br><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"468\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/add-new-webhook.png\" alt=\"Add New Webhook\" class=\"wp-image-15203\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/add-new-webhook.png 1000w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/add-new-webhook-300x140.png 300w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/add-new-webhook-768x359.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the Webhook Setup modal:<\/li>\n<\/ul>\n\n\n\n<p>Enter the URL where you want to receive the webhook payload when an event is triggered. whenever a user pays money in the cart checkout, Razorpay will send an HTTP POST payload to your configured URL regarding the status of the payment so that you can update details in your database.<\/p>\n\n\n\n<p>Enter a Secret for the webhook endpoint. The secret is used to validate that the webhook is from Razorpay. Note that test mode and live mode will have different secret keys.<\/p>\n\n\n\n<p>In the Alert Email field, enter the email address to which notifications must be sent in case of webhook failure.<\/p>\n\n\n\n<p>Select the necessary events from the list of Active Events. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/razorpay.com\/docs\/webhooks\/webhook-payloads\/\">Sample payloads for all events are available<\/a>.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"544\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/webhook-setup-1024x544.png\" alt=\"Webhook Setup modal\" class=\"wp-image-15204\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/webhook-setup-1024x544.png 1024w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/webhook-setup-300x159.png 300w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/webhook-setup-768x408.png 768w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/webhook-setup.png 1050w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Click Create Webhook.<\/li>\n\n\n\n<li>Once created, it appears on the list of webhooks:<br><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"975\" height=\"478\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/list-of-webhooks.png\" alt=\"list of webhooks\" class=\"wp-image-15205\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/list-of-webhooks.png 975w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/list-of-webhooks-300x147.png 300w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/list-of-webhooks-768x377.png 768w\" sizes=\"auto, (max-width: 975px) 100vw, 975px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Validation<\/strong><\/h3>\n\n\n\n<p>When your webhook secret is set, Razorpay uses the webhook secret to create a hash signature with each payload. This hash signature is passed with each request under the X-Razorpay-Signature header that you need to validate at your end.<\/p>\n\n\n\n<p><code>Razorpay::Utility.verify_webhook_signature(webhook_body, webhook_signature, webhook_secret)\n# webhook_body should be raw webhook request body\n<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Handling webhook with Ruby on Rails<\/h3>\n\n\n<p><script src=\"https:\/\/gist.github.com\/Leena-BTC\/bd70015e2ae40de574f680a13bec0573.js\"><\/script><\/p>\n\n\n<p>Tip: you could write concerns to group event handlers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<p>Check out sample payloads for the various webhook events in the following link. <a href=\"https:\/\/razorpay.com\/docs\/razorpayx\/api\/webhooks\/#sample-payloads\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/razorpay.com\/docs\/razorpayx\/api\/webhooks\/#sample-payloads<\/a>.&nbsp;<\/p>\n\n\n\n<p>This is a simple guide that enables engineers at any <a href=\"https:\/\/www.botreetechnologies.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">software development company<\/a> to configure Razorpay with a webhook. Since the payment mechanism offers different methods, it is important to record and track every transaction from every payment method.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.botreetechnologies.com\/contact\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"150\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/call-now-ruby-on-rails-web-development.png\" alt=\"call now ruby on rails web development\" class=\"wp-image-13325\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/call-now-ruby-on-rails-web-development.png 700w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/12\/call-now-ruby-on-rails-web-development-300x64.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post, we are going to learn how&#8230;<\/p>\n","protected":false},"author":40,"featured_media":15198,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73,10],"tags":[],"class_list":["post-15188","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ruby-on-rails","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Configure Razorpay Webhook in Ruby on Rails<\/title>\n<meta name=\"description\" content=\"Do you want to know how to configure razorpay webhook in Ruby on Rails? Here\u2019s a complete guide to learn how to validate Razorpay in Rails using webhooks\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Configure Razorpay Webhook in Ruby on Rails\" \/>\n<meta property=\"og:description\" content=\"Do you want to know how to configure razorpay webhook in Ruby on Rails? Here\u2019s a complete guide to learn how to validate Razorpay in Rails using webhooks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/\" \/>\n<meta property=\"og:site_name\" content=\"BoTree Technologies\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/BoTreeTechnologies\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-09T10:00:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-13T10:04:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png\" \/>\n\t<meta property=\"og:image:width\" content=\"852\" \/>\n\t<meta property=\"og:image:height\" content=\"420\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Leena Chaudhari\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:site\" content=\"@BoTreeTech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leena Chaudhari\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/\"},\"author\":{\"name\":\"Leena Chaudhari\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d59428bd83da770d96e2c2764a5f74c2\"},\"headline\":\"How to Configure Razorpay Webhook in Ruby on Rails\",\"datePublished\":\"2021-09-09T10:00:32+00:00\",\"dateModified\":\"2023-03-13T10:04:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/\"},\"wordCount\":593,\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png\",\"articleSection\":[\"Ruby on Rails\",\"Technology\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/\",\"name\":\"How to Configure Razorpay Webhook in Ruby on Rails\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png\",\"datePublished\":\"2021-09-09T10:00:32+00:00\",\"dateModified\":\"2023-03-13T10:04:56+00:00\",\"author\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d59428bd83da770d96e2c2764a5f74c2\"},\"description\":\"Do you want to know how to configure razorpay webhook in Ruby on Rails? Here\u2019s a complete guide to learn how to validate Razorpay in Rails using webhooks\",\"breadcrumb\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png\",\"width\":852,\"height\":420,\"caption\":\"Configuring Razorpay Webhook\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.botreetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Configure Razorpay Webhook in Ruby on Rails\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/\",\"name\":\"BoTree Technologies\",\"description\":\"Committed to inspire generation.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d59428bd83da770d96e2c2764a5f74c2\",\"name\":\"Leena Chaudhari\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/leena-chaudhari-150x150.png\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/leena-chaudhari-150x150.png\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/leena-chaudhari-150x150.png\",\"caption\":\"Leena Chaudhari\"},\"description\":\"Leena is a Ruby On Rails Developer. She loves to make small applications that help in everyday life. She loves to do crafting and calligraphy in her spare moments.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Configure Razorpay Webhook in Ruby on Rails","description":"Do you want to know how to configure razorpay webhook in Ruby on Rails? Here\u2019s a complete guide to learn how to validate Razorpay in Rails using webhooks","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/","og_locale":"en_US","og_type":"article","og_title":"How to Configure Razorpay Webhook in Ruby on Rails","og_description":"Do you want to know how to configure razorpay webhook in Ruby on Rails? Here\u2019s a complete guide to learn how to validate Razorpay in Rails using webhooks","og_url":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/","og_site_name":"BoTree Technologies","article_publisher":"https:\/\/www.facebook.com\/BoTreeTechnologies\/","article_published_time":"2021-09-09T10:00:32+00:00","article_modified_time":"2023-03-13T10:04:56+00:00","og_image":[{"width":852,"height":420,"url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png","type":"image\/png"}],"author":"Leena Chaudhari","twitter_card":"summary_large_image","twitter_creator":"@BoTreeTech","twitter_site":"@BoTreeTech","twitter_misc":{"Written by":"Leena Chaudhari","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#article","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/"},"author":{"name":"Leena Chaudhari","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d59428bd83da770d96e2c2764a5f74c2"},"headline":"How to Configure Razorpay Webhook in Ruby on Rails","datePublished":"2021-09-09T10:00:32+00:00","dateModified":"2023-03-13T10:04:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/"},"wordCount":593,"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png","articleSection":["Ruby on Rails","Technology"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/","url":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/","name":"How to Configure Razorpay Webhook in Ruby on Rails","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage"},"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png","datePublished":"2021-09-09T10:00:32+00:00","dateModified":"2023-03-13T10:04:56+00:00","author":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d59428bd83da770d96e2c2764a5f74c2"},"description":"Do you want to know how to configure razorpay webhook in Ruby on Rails? Here\u2019s a complete guide to learn how to validate Razorpay in Rails using webhooks","breadcrumb":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#primaryimage","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2021\/02\/configuring-razorpay-webhook.png","width":852,"height":420,"caption":"Configuring Razorpay Webhook"},{"@type":"BreadcrumbList","@id":"https:\/\/www.botreetechnologies.com\/blog\/configuring-razorpay-webhook\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.botreetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Configure Razorpay Webhook in Ruby on Rails"}]},{"@type":"WebSite","@id":"https:\/\/www.botreetechnologies.com\/blog\/#website","url":"https:\/\/www.botreetechnologies.com\/blog\/","name":"BoTree Technologies","description":"Committed to inspire generation.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.botreetechnologies.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/d59428bd83da770d96e2c2764a5f74c2","name":"Leena Chaudhari","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/leena-chaudhari-150x150.png","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/leena-chaudhari-150x150.png","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/leena-chaudhari-150x150.png","caption":"Leena Chaudhari"},"description":"Leena is a Ruby On Rails Developer. She loves to make small applications that help in everyday life. She loves to do crafting and calligraphy in her spare moments."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/15188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=15188"}],"version-history":[{"count":5,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/15188\/revisions"}],"predecessor-version":[{"id":19005,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/15188\/revisions\/19005"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media\/15198"}],"wp:attachment":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=15188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=15188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=15188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}