{"id":12341,"date":"2020-10-26T18:30:31","date_gmt":"2020-10-26T13:00:31","guid":{"rendered":"https:\/\/www.botreetechnologies.com\/blog\/?p=12341"},"modified":"2021-10-18T18:57:15","modified_gmt":"2021-10-18T13:27:15","slug":"integrate-payumoney-spree-commerce-store-with-ruby-on-rails","status":"publish","type":"post","link":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/","title":{"rendered":"How to Integrate PayUMoney in your Spree Commerce Store with Ruby on Rails?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is a Payment Gateway?<\/h2>\n\n\n\n<p>A payment gateway is a merchant service provided by an eCommerce application service provider to authenticate and process payments via various payment modes.<\/p>\n\n\n\n<p>It plays the role of the third party that securely transfers money from your bank account via any payment mode to the merchant\u2019s payment portal. An <a href=\"https:\/\/www.botreetechnologies.com\/ecommerce-app-development\" target=\"_blank\" rel=\"noreferrer noopener\">eCommerce web development company<\/a> can assist you in integrating a payment gateway with your online store.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Various examples of payment gateways: PayUMoney, Stripe, PayPal, etc.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Why PayUMoney?<\/h2>\n\n\n\n<p>PayUMoney international payment gateway is India\u2019s leading payment gateway with 4,50,000+ merchants in India with over 100+ payment methods. It allows payment with just a single tap. It is a trusted, instant, and most secure payment gateway.<\/p>\n\n\n\n<p>It also provides features like Auto OTP reader, saved cards and transaction management on the merchant\u2019s dashboard. It also allows paying via credit cards, debit cards, UPI, net banking, wallets, etc.<\/p>\n\n\n\n<p>It supports international payments with multi-currency support including Indian currency too.<\/p>\n\n\n\n<p><strong><em>Isn\u2019t it amazing, right!!<\/em><\/strong><\/p>\n\n\n\n<p>You can also refer to the Developer Guide <a href=\"https:\/\/developer.payumoney.com\/redirect\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>Now, let\u2019s see how we can integrate PayuMoney with <a href=\"https:\/\/www.botreetechnologies.com\/spree-commerce-development\" target=\"_blank\" rel=\"noreferrer noopener\">Spree Commerce development<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Read more: <a href=\"https:\/\/www.botreetechnologies.com\/blog\/integrate-stripe-payment-gateway-spree-commerce\" target=\"_blank\" rel=\"noreferrer noopener\">Integrate Stripe Payment Gateway in Spree Commerce<\/a><\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">How to Integrate it into the Spree store?<\/h2>\n\n\n\n<p>PayU provides 2 ways to integrate web checkouts with an eCommerce store.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Redirect Checkout<\/li><li>BOLT Checkout<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">ReDirect Checkout:<\/h3>\n\n\n\n<p>It is a quick and easy way to integrate payment checkout. It also allows us to accept payments via credit\/debit cards, net-banking, UPI, wallets.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why ReDirect checkout?<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Requires a few lines of code<\/li><li>No PCI-DSS Compliance Required<\/li><li>Mobile-Friendly checkouts<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Pre-requisites:<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Sign up to <a href=\"https:\/\/payu.in\/\" target=\"_blank\" rel=\"noreferrer noopener\">Payu<\/a><\/li><li>The merchant and salt keys are available on the merchant\u2019s dashboard.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Configurations to Spree Store:<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Adding payment gateway to spree store <ul><li>Add your payment gateway to the <strong>app\/models\/spree\/gateway<\/strong> as <a href=\"https:\/\/github.com\/HunnyJummani\/spree_4_demo\/blob\/571e214838519745fabb04410f9c7492458173c3\/app\/models\/spree\/gateway\/payu_in_gateway.rb#L3\" target=\"_blank\" rel=\"noreferrer noopener\">payu_in_gateway.rb<\/a> .<\/li><li>Configure the gateway to the spree store in <a href=\"https:\/\/github.com\/HunnyJummani\/spree_4_demo\/blob\/571e214838519745fabb04410f9c7492458173c3\/config\/initializers\/spree.rb#L36\" target=\"_blank\" rel=\"noreferrer noopener\">spree.rb<\/a>. <\/li><\/ul><\/li><li>Create a payment method for the gateway configured. <ul><li>Login as admin.<\/li><li>Go to Configurations &gt; Payment Methods and visit New Payment Method. <ul><li>Add the payment method as shown in the below screenshot:  <\/li><\/ul><\/li><\/ul><\/li><\/ol>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"393\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/configurations-payment-methods-1024x393.png\" alt=\"configurations payment method\" class=\"wp-image-182\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/configurations-payment-methods-1024x393.png 1024w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/configurations-payment-methods-300x115.png 300w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/configurations-payment-methods-768x295.png 768w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/configurations-payment-methods.png 1531w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p>3. Add a blank partial for the PayU payment method in the path <code>app\/views\/spree\/checkout\/payment\/_payu_in.html.erb<\/code><\/p>\n\n\n\n<p>4. You can now see your payment method on the frontend in the standard checkout process as shown below:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/standard-checkout-process-1024x481.png\" alt=\"standard checkout process\" class=\"wp-image-183\" srcset=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/standard-checkout-process-1024x481.png 1024w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/standard-checkout-process-300x141.png 300w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/standard-checkout-process-768x361.png 768w, https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/standard-checkout-process.png 1463w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<p><strong>Note<\/strong>: Don\u2019t forget to add the keys i.e. merchant key and salt key available on the merchant\u2019s dashboard in the payment method we created above.<\/p>\n\n\n\n<p>Now, if we click on the <strong>Save And Continue button<\/strong> it should pay with PayU, Right?<\/p>\n\n\n\n<p>To send the payment request to PayUMoney ensure that you have valid credentials i.e. valid merchant key and salt that are available on the merchant\u2019s dashboard, set the request parameters as it requires and handle the response as per the requirement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What Customizations need to be done at our end\/Code level changes?<\/h3>\n\n\n\n<p>To pay with PayUMoney international payment gateway, you need to override the checkout_controller, handle the payment processing and store the response in a table, received after the success\/failure payment transaction if required.<\/p>\n\n\n\n<p><strong> Overriding the checkout controller: <\/strong><\/p>\n\n\n\n<p>Call a <strong>before_action<\/strong> filter to pay with PayUMoney for the payment state and the PayUMoney Gateway.<\/p>\n\n\n\n<p><code>before_action :pay_with_payu, only: :update, if: :payment_with_payu?<\/code><\/p>\n\n\n\n<p>In the pay_with_payu, you need to <a href=\"https:\/\/github.com\/HunnyJummani\/spree_4_demo\/blob\/payment\/payu_redirect_checkout\/app\/controllers\/spree\/checkout_controller_decorator.rb#L17\" target=\"_blank\" rel=\"noreferrer noopener\">add this code<\/a> for the POST request to the PayUMoney.<\/p>\n\n\n\n<p><strong>Request handling with PayUMoney:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Set the request parameters.<\/strong><\/li><\/ul>\n\n\n\n<p>The required request parameters are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>key &#8211; Available on merchant dashboard.<\/li><li>txnid &#8211; An Unique alphanumeric Transaction ID generated by you to uniquely identify the transaction. Its limit is 30 characters.<\/li><li>amount &#8211; Transaction\/Order amount to be paid (Typecast it to float).<\/li><li>productinfo &#8211; Product description.<\/li><li>firstname &#8211; Firstname of the order placer.<\/li><li>email &#8211; email of the order placer.<\/li><li>phone &#8211; phone\/mobile number of the order placer.<\/li><li>surl &#8211; Success URL for handling response at the client-side.<\/li><li>furl &#8211; Failure URL for handling response at the client-side.<\/li><li>hash &#8211; Encrypted value generated with the help of some mandatory parameters to protect against men in the middle attack.<\/li><li>service_provider &#8211; \u2018payu_paisa\u2019<\/li><\/ul>\n\n\n\n<p><strong>Note<\/strong>: You can also add other parameters to the request such as an address, city, state, country, zip code, etc. These are optional parameters for a PayUMoney payment request.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Generate a request hash ( Before transaction ).<\/strong><\/li><\/ul>\n\n\n\n<p>Generate a SHA512 hash with the mentioned mandatory parameters with the following order and pattern:<\/p>\n\n\n\n<p><code>key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||salt<\/code><\/p>\n\n\n\n<p>Where, <em>udf1, udf2, ..udf5<\/em> are user-defined fields that are not required to be the required parameter of request but required to generate the SHA512 hash &#8211; encrypted value.<\/p>\n\n\n\n<p><em>Salt<\/em> &#8211; available on the merchant\u2019s dashboard.<\/p>\n\n\n\n<p>For a detailed reference, you can visit <a href=\"https:\/\/github.com\/HunnyJummani\/spree_4_demo\/blob\/payment\/payu_redirect_checkout\/app\/services\/payu\/request_builder.rb#L27\">here<\/a> for request hash generation.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Redirect to the Payu payment page.<\/strong><\/li><\/ul>\n\n\n\n<p>After generating the hash, POST the required parameters to TEST_URL ( <a href=\"https:\/\/test.payu.in\/_payment\">https:\/\/test.payu.in\/_payment<\/a> ) in test mode or LIVE_URL ( <a href=\"https:\/\/secure.payu.in\/_payment\">https:\/\/secure.payu.in\/_payment<\/a> ) in production mode.<\/p>\n\n\n\n<p><strong>Response Handling with PayUMoney:<\/strong><\/p>\n\n\n\n<p>After Posting the required parameters, you would have either state of the transaction i.e. success or failure.<\/p>\n\n\n\n<p>So accordingly, you will get the response to surl\/to furl mentioned in the request.<\/p>\n\n\n\n<p>You will get all the parameters in the response you posted while payment requests.<\/p>\n\n\n\n<p>Only, the hash in the response hash is modified as it is generated by the merchant.<\/p>\n\n\n\n<p><em><strong>Verify the authenticity of the response hash to avoid any cyber attacks.<\/strong><\/em><\/p>\n\n\n\n<p><strong>Generate a response hash ( After transaction ).<\/strong><\/p>\n\n\n\n<p><strong>Response hash<\/strong> &#8211; encrypted SHA512 hash generated with the parameters returned in the response with the following order, pattern and \u201c|\u201d as a separator:<\/p>\n\n\n\n<p><code>salt|status||||||udf5|udf4|udf3|udf2|udf1|email|firstname|productinfo|amount|txnid|key<\/code><\/p>\n\n\n\n<p>It is just the reverse order of the request hash string with the status variable between salt and udf1.<\/p>\n\n\n\n<p>For a detailed reference, you can visit <a href=\"https:\/\/github.com\/HunnyJummani\/spree_4_demo\/blob\/payment\/payu_redirect_checkout\/app\/services\/payu\/request_builder.rb#L38\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a> for response hash generation.<\/p>\n\n\n\n<p><strong>Note:<\/strong>&nbsp; Don\u2019t forget to verify the authenticity of the transaction via a hash verification, ie: <strong>The hash generated by you should match the one sent by PayUmoney in response.<\/strong><\/p>\n\n\n\n<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; 2. Payment<\/strong> <strong>processing:<\/strong><\/p>\n\n\n\n<p>After the payment gets completed in the checkout state, the payment records associated with that current order don&#8217;t change the payment state to complete.<\/p>\n\n\n\n<p>Hence, to transit the payments state from <strong>checkout \u2192 complete<\/strong>, we have to override <a href=\"https:\/\/github.com\/HunnyJummani\/spree_4_demo\/blob\/payment\/payu_redirect_checkout\/app\/models\/spree\/payment\/processing_decorator.rb\" target=\"_blank\" rel=\"noreferrer noopener\">payment\/processing.rb<\/a> for spree store.<\/p>\n\n\n\n<p>It has a <strong>process<\/strong>! and <strong>cancel<\/strong> methods overridden for PayUMoney.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Also Read: <a href=\"https:\/\/www.botreetechnologies.com\/blog\/how-to-add-product-reviews-feature-to-spree-commerce\" target=\"_blank\" rel=\"noreferrer noopener\">How to add Product Reviews Feature to Spree Commerce<\/a><\/p><\/blockquote>\n\n\n\n<p><strong>Note:<\/strong> If you want the response to be stored in the database you can store it in a table as per your requirement for the application. If you want to handle the refunds\/reimbursements, cancellation of order on the <strong>PayUMoney<\/strong> end these functionalities can be even handled with the help of <strong>ActiveMerchant<\/strong> and for a detailed reference, you can have a look <a href=\"https:\/\/github.com\/HunnyJummani\/spree_4_demo\/blob\/payment\/payu_redirect_checkout\/app\/models\/spree\/gateway\/payu_in_gateway.rb#L4\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>You can also continue reading for the Bolt checkout flow for PayuMoney with Spree integration here.<\/p>\n\n\n\n<p>You can find the whole source code for PayUMoney Integration with the Spree store <a href=\"https:\/\/github.com\/HunnyJummani\/google_calendar_sync.git\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<p>You can hire an expert <a href=\"https:\/\/www.botreetechnologies.com\/ruby-on-rails-development\" target=\"_blank\" rel=\"noreferrer noopener\">ruby on rails development company<\/a> for complete spree commerce store development with PayUMoney integration.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is a Payment Gateway? A payment gateway is a&#8230;<\/p>\n","protected":false},"author":56,"featured_media":185,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62,73,75,10],"tags":[],"class_list":["post-12341","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ecommerce","category-ruby-on-rails","category-spree-commerce","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 Integrate PayUMoney in your Spree Commerce Store using RoR<\/title>\n<meta name=\"description\" content=\"Want to know how to integrate PayUMoney in your Spree Commerce store using Ruby on Rails? Read this blog for step-by-step instructions.\" \/>\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\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Integrate PayUMoney in your Spree Commerce Store using RoR\" \/>\n<meta property=\"og:description\" content=\"Want to know how to integrate PayUMoney in your Spree Commerce store using Ruby on Rails? Read this blog for step-by-step instructions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/\" \/>\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=\"2020-10-26T13:00:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-18T13:27:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Hunny Jummani\" \/>\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=\"Hunny Jummani\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/\"},\"author\":{\"name\":\"Hunny Jummani\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/0d616df8a58c8145fae7ceb8d048e23e\"},\"headline\":\"How to Integrate PayUMoney in your Spree Commerce Store with Ruby on Rails?\",\"datePublished\":\"2020-10-26T13:00:31+00:00\",\"dateModified\":\"2021-10-18T13:27:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/\"},\"wordCount\":1171,\"commentCount\":14,\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg\",\"articleSection\":[\"ECommerce\",\"Ruby on Rails\",\"Spree Commerce\",\"Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/\",\"name\":\"How to Integrate PayUMoney in your Spree Commerce Store using RoR\",\"isPartOf\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg\",\"datePublished\":\"2020-10-26T13:00:31+00:00\",\"dateModified\":\"2021-10-18T13:27:15+00:00\",\"author\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/0d616df8a58c8145fae7ceb8d048e23e\"},\"description\":\"Want to know how to integrate PayUMoney in your Spree Commerce store using Ruby on Rails? Read this blog for step-by-step instructions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg\",\"width\":1920,\"height\":1280,\"caption\":\"Integrate PayUMoney in your Spree Commerce Store\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.botreetechnologies.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Integrate PayUMoney in your Spree Commerce Store with 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\/0d616df8a58c8145fae7ceb8d048e23e\",\"name\":\"Hunny Jummani\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/hunny-jummani-150x150.png\",\"url\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/hunny-jummani-150x150.png\",\"contentUrl\":\"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/hunny-jummani-150x150.png\",\"caption\":\"Hunny Jummani\"},\"description\":\"I am a Ruby On Rails Developer. I love JavaScript, logical problem solving in Ruby and exploration of new things. Apart from coding, I also like to travel, listen music and play guitar.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Integrate PayUMoney in your Spree Commerce Store using RoR","description":"Want to know how to integrate PayUMoney in your Spree Commerce store using Ruby on Rails? Read this blog for step-by-step instructions.","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\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/","og_locale":"en_US","og_type":"article","og_title":"How to Integrate PayUMoney in your Spree Commerce Store using RoR","og_description":"Want to know how to integrate PayUMoney in your Spree Commerce store using Ruby on Rails? Read this blog for step-by-step instructions.","og_url":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/","og_site_name":"BoTree Technologies","article_publisher":"https:\/\/www.facebook.com\/BoTreeTechnologies\/","article_published_time":"2020-10-26T13:00:31+00:00","article_modified_time":"2021-10-18T13:27:15+00:00","og_image":[{"width":1920,"height":1280,"url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg","type":"image\/jpeg"}],"author":"Hunny Jummani","twitter_card":"summary_large_image","twitter_creator":"@BoTreeTech","twitter_site":"@BoTreeTech","twitter_misc":{"Written by":"Hunny Jummani","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#article","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/"},"author":{"name":"Hunny Jummani","@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/0d616df8a58c8145fae7ceb8d048e23e"},"headline":"How to Integrate PayUMoney in your Spree Commerce Store with Ruby on Rails?","datePublished":"2020-10-26T13:00:31+00:00","dateModified":"2021-10-18T13:27:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/"},"wordCount":1171,"commentCount":14,"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg","articleSection":["ECommerce","Ruby on Rails","Spree Commerce","Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/","url":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/","name":"How to Integrate PayUMoney in your Spree Commerce Store using RoR","isPartOf":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage"},"image":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg","datePublished":"2020-10-26T13:00:31+00:00","dateModified":"2021-10-18T13:27:15+00:00","author":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/#\/schema\/person\/0d616df8a58c8145fae7ceb8d048e23e"},"description":"Want to know how to integrate PayUMoney in your Spree Commerce store using Ruby on Rails? Read this blog for step-by-step instructions.","breadcrumb":{"@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#primaryimage","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails.jpg","width":1920,"height":1280,"caption":"Integrate PayUMoney in your Spree Commerce Store"},{"@type":"BreadcrumbList","@id":"https:\/\/www.botreetechnologies.com\/blog\/integrate-payumoney-spree-commerce-store-with-ruby-on-rails\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.botreetechnologies.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Integrate PayUMoney in your Spree Commerce Store with 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\/0d616df8a58c8145fae7ceb8d048e23e","name":"Hunny Jummani","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/hunny-jummani-150x150.png","url":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/hunny-jummani-150x150.png","contentUrl":"https:\/\/www.botreetechnologies.com\/blog\/wp-content\/uploads\/2020\/10\/hunny-jummani-150x150.png","caption":"Hunny Jummani"},"description":"I am a Ruby On Rails Developer. I love JavaScript, logical problem solving in Ruby and exploration of new things. Apart from coding, I also like to travel, listen music and play guitar."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12341","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\/56"}],"replies":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=12341"}],"version-history":[{"count":3,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12341\/revisions"}],"predecessor-version":[{"id":13199,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12341\/revisions\/13199"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media\/185"}],"wp:attachment":[{"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=12341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=12341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.botreetechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=12341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}