{"id":25398,"date":"2016-10-13T11:10:10","date_gmt":"2016-10-13T11:10:10","guid":{"rendered":"https:\/\/dev.railscarma.com\/ways-handling-paypal-refunds-rails\/"},"modified":"2022-09-06T08:28:15","modified_gmt":"2022-09-06T08:28:15","slug":"modi-di-gestire-i-binari-dei-rimborsi-paypal","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/modi-di-gestire-i-binari-dei-rimborsi-paypal\/","title":{"rendered":"Modi di gestire i rimborsi PayPal in Rails"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"25398\" class=\"elementor elementor-25398\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-26698b39 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"26698b39\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-649f7882\" data-id=\"649f7882\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-51675260 elementor-widget elementor-widget-text-editor\" data-id=\"51675260\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>PayPal Checkout include soluzioni di pagamento che vanno da semplici a robuste che consentono ai commercianti e agli sviluppatori di scegliere un&#039;opzione di integrazione che pu\u00f2 essere la pi\u00f9 adatta al loro sito Web e ai loro clienti.<br><strong style=\"font-size: 16px; color: var( --e-global-color-text );\"><br>Per integrare Paypal Payment Gateway, dobbiamo fare quanto segue:<\/strong><br><\/p>\n<p>\n<strong>1<\/strong>. Avere un conto Business o Premier PayPal.<br><strong>2.<\/strong> Crea un&#039;app PayPal e ottieni un token di accesso. Quando creiamo un&#039;app PayPal, PayPal genera un set di client_id OAuth e chiavi segrete per l&#039;applicazione. PayPal genera queste chiavi sia per la sandbox PayPal che per gli ambienti Live. Per ottenere un token di accesso, passare le credenziali client-id:secret nell&#039;intestazione Autorizzazione. Utilizziamo il token di accesso per l&#039;autenticazione quando effettuiamo richieste API REST.<br><strong>3.<\/strong> Per eseguire un test end-to-end del nostro Pagamento rapido con l&#039;integrazione nel contesto, crea sia l&#039;account commerciante che quello acquirente nel <strong>Sandbox PayPal<\/strong> ambiente.<br><a href=\"https:\/\/www.sandbox.paypal.com\/in\/webapps\/mpp\/home\" target=\"_blank\">https:\/\/www.sandbox.paypal.com\/in\/webapps\/mpp\/home<\/a><br><strong>Mercante :<\/strong> Seleziona il tipo di account Business e inserisci un indirizzo email e una password.<br><strong>Acquirente:<\/strong> Seleziona il tipo di conto Personale e inserisci un saldo PayPal elevato, ad esempio 5000.<\/p>\n<p>Una volta creato l&#039;account sandbox Paypal, quindi fare clic sul collegamento &quot;Profilo&quot; per quell&#039;account, guardare nella scheda &quot;Credenziali API&quot;. Avremo le seguenti informazioni;<\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li><strong>Nome utente API Paypal<\/strong><\/li>\n<li><strong>Firma API Paypal<\/strong><\/li>\n<li><strong>Password API Paypal<\/strong><\/li>\n<\/ul>\n<p>Nota: quando saremo pronti per andare in diretta utilizzeremo semplicemente le credenziali del nostro conto PayPal reale invece di quelle del nostro account sandbox. Le credenziali possono essere trovate nell&#039;area &quot;Il mio profilo&quot; nella scheda a sinistra &quot;I miei strumenti di vendita&quot; sotto l&#039;opzione &quot;Accesso API&quot;<\/p>\n<p><strong>Come gestire i rimborsi Paypal in Rails:<\/strong><\/p>\n<p><strong>Metodo 1:<\/strong><\/p>\n<p><strong>API di resto Paypal;<\/strong><\/p>\n<p>Per i siti di commercianti pi\u00f9 complessi, le chiamate dirette alle API PayPal per l&#039;integrazione del Pagamento rapido potrebbero rappresentare un&#039;integrazione pi\u00f9 appropriata.<br><strong>API REST<\/strong> \u2014 Possiamo sviluppare un&#039;integrazione per il pagamento rapido utilizzando le API REST di PayPal.<\/p>\n<p>Integrare il Checkout Express con il flusso In-Context;<br>https:\/\/developer.paypal.com\/docs\/api\/<br>O<br><strong>PayPal REST API Ruby SDK<\/strong> (gemma paypal-sdk-rest):<br>PayPal REST SDK fornisce API Ruby per creare, elaborare e gestire i pagamenti.<\/p>\n<p><strong>Installazione:<\/strong><br>Aggiungi la gemma alla nostra applicazione, in Gemfile:<\/p>\n<pre><code>gemma &#039;paypal-sdk-rest&#039;<\/code><\/pre>\n<p><strong>E poi esegui:<\/strong><\/p>\n<pre><code>Installazione del pacchetto $<\/code><\/pre>\n<p><strong>Configurazione:<\/strong><\/p>\n<pre><code>rotaie g paypal:sdk:install<\/code><\/pre>\n<p><strong>Rimborsa una transazione:<\/strong><br>Possiamo emettere un rimborso per qualsiasi transazione (sia pagamenti diretti che acquisiti):<\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li>Rimborsare un pagamento diretto completato (vendita)<\/li>\n<li>Rimborsare un pagamento autorizzato e acquisito (cattura)<\/li>\n<\/ul>\n<p><strong>Rimborsare un pagamento completato (vendita):<\/strong><br>Se dobbiamo rimborsare un pagamento completato o una vendita, fornire l&#039;ID di vendita fornitoci in risposta a un pagamento completato insieme a un payload JSON vuoto per un rimborso completo e per rimborsi parziali, possiamo invece includere un oggetto importo nel payload JSON .<\/p>\n<pre><code>curl -v https:\/\/api.sandbox.paypal.com\/v1\/payments\/sale\/CARMAXYZC6136044L\/refund -H &quot;Tipo di contenuto:application\/json&quot; -H &quot;Autorizzazione: token di accesso al portatore&quot; -d &#039;{} &#039;\n<\/code><\/pre>\n<p>Nota: dovremmo sostituire tutti i parametri specifici della chiamata, come token e ID, con i nostri.<br><strong>Stato di risposta del rimborso:<\/strong><\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li><strong>in attesa di-<\/strong> Il rimborso \u00e8 in sospeso.<\/li>\n<li><strong>completato-<\/strong> Il rimborso \u00e8 stato completato con successo.<\/li>\n<li><strong>fallito-<\/strong> Il rimborso non \u00e8 riuscito.<\/li>\n<\/ul>\n<p><strong>Rimborsare un pagamento acquisito;<\/strong><br>Possiamo anche rimborsare un pagamento catturato:<\/p>\n<pre><code>API: https:\/\/api.paypal.com\/v1\/payments\/capture\/{capture_id}\/refund<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>Nota: dobbiamo fornire un oggetto relativo all&#039;importo sia per i rimborsi totali che per quelli parziali.<\/p>\n<pre><code>curl -v https:\/\/api.sandbox.paypal.com\/v1\/payments\/capture\/CARMAXYZC6136044L\/refund -H &quot;Tipo di contenuto:application\/json&quot; -H &quot;Autorizzazione: token di accesso al portatore&quot; -d &#039;{ &quot; amount&quot;: { &quot;currency&quot;: &quot;USD&quot;, &quot;total&quot;: &quot;50.54&quot; }, &quot;description&quot;: &quot;Questa \u00e8 la descrizione del rimborso acquisito.&quot; }&#039;\n<\/code><\/pre>\n<p>Riferimento: <a href=\"https:\/\/developer.paypal.com\">https:\/\/developer.paypal.com<\/a><\/p>\n<p><strong>Metodo 2:<\/strong><\/p>\n<p><strong>Rimborso Paypal utilizzando Active Merchant Gem:<\/strong><\/p><p><b>Integrazione ActiveMerchant: <\/b><a href=\"http:\/\/railscasts.com\/episodes\/145-integrating-active-merchant\">http:\/\/railscasts.com\/episodes\/145-integrating-active-merchant<\/a><br><\/p>\n<p>Nella nostra applicazione;<\/p>\n<pre><code>config\/environment\/development.rb config.after_initialize do ActiveMerchant::Billing::Base.mode = :test ::GATEWAY = ActiveMerchant::Billing::PaypalGateway.new( :login =&gt; &quot;seller_1229899173_biz_api1.xyz.com&quot;, : password =&gt; &quot;FXWU58S7KXFC6HBE&quot;, :signature =&gt; \u201cAGjv6SW.mTiKxtkm6L9DcSUCUgePAUDQ3L-kTdszkPG8mRfjaRZDYtSu&quot; ) fine<\/code><\/pre>\n<p><strong>Rimborsa una transazione:<\/strong><br>Dai un&#039;occhiata <strong>paypal_common_api.rb<\/strong> archiviare nella gemma del commerciante attivo;<br><a href=\"https:\/\/github.com\/activemerchant\/active_merchant\/blob\/master\/lib\/active_merchant\/billing\/gateways\/paypal\/paypal_common_api.rb\">https:\/\/github.com\/activemerchant\/active_merchant\/blob\/master\/lib\/active_merchant\/billing\/gateways\/paypal\/paypal_common_api.rb<\/a><\/p>\n<p><strong>1.<\/strong> Per un rimborso completo pass zero per l&#039;importo:<\/p>\n<pre><code>gateway.rimborso nullo, &#039;CARMAXYZC6136044L&#039;<\/code><\/pre>\n<p>Ci\u00f2 render\u00e0 automaticamente :refund_type &quot;Full&quot;.<br><strong>2.<\/strong> Per un rimborso parziale basta trasferire l&#039;importo come al solito:<\/p>\n<pre><code>gateway.rimborso 100, &#039;CARMAXYZC6136044L&#039;<\/code><\/pre>\n<pre><code>def rimborso(denaro, identificazione, opzioni = {}) commit &#039;RefundTransaction&#039;, build_refund_request(denaro, identificazione, opzioni) end<\/code><\/pre>\n<p><strong>Ex:<\/strong><\/p>\n<pre><code>Gateway.refund(nil,&#039;CARMAXYZC6136044L&#039;) =&gt; Rimborso completo.<\/code><\/pre>\n<pre><code>Gateway.refund(798,&#039;CARMAXYZC6136044L&#039;) =&gt; Rimborso parziale.<\/code><\/pre>\n<p>Riferimento: http:\/\/www.rubydoc.info\/github\/Shopify\/active_merchant\/ActiveMerchant\/Billing\/PaypalCommonAPI<\/p>\n<p><strong><br>Metodo 3:<\/strong><\/p>\n<p><strong>Utilizzando la gemma Braintree;<\/strong><\/p>\n<p><strong>Integrazione Braintree:<\/strong><\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li>Registrati per un account Braintree Sandbox.<br><a href=\"https:\/\/www.braintreepayments.com\/sandbox\">https:\/\/www.braintreepayments.com\/sandbox<\/a><\/li>\n<li>Segui i tutorial;<br><a href=\"https:\/\/developers.braintreepayments.com\/start\/hello-server\/ruby\">https:\/\/developers.braintreepayments.com\/start\/hello-server\/ruby<\/a><\/li>\n<li>Configura l&#039;ambiente e le credenziali API:\n<pre><code>Braintree::Configuration.environment = :sandbox Braintree::Configuration.merchant_id = &quot;use_your_merchant_id&quot; Braintree::Configuration.public_key = &quot;use_your_public_key&quot; Braintree::Configuration.private_key = &quot;use_your_private_key&quot;<\/code><\/pre>\n<\/li>\n<li>Completa l&#039;integrazione e il test sandbox.<\/li>\n<\/ul>\n<p><strong>Requisiti:<\/strong><\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li>Lo stato della transazione deve essere regolato o in liquidazione.<\/li>\n<li>L&#039;importo del rimborso non pu\u00f2 essere superiore all&#039;importo rimanente non rimborsato della transazione originale.<\/li>\n<li>La transazione non pu\u00f2 essere rimborsata nuovamente dopo essere stata completamente rimborsata.<\/li>\n<\/ul>\n<p><strong>Rimborsa una transazione:<\/strong><br>Per emettere un rimborso con l&#039;API, dobbiamo solo eseguire una richiesta API Transaction.refund() e richiedere solo un Transaction_ID per il rimborso. Facoltativamente, possiamo trasferire l&#039;importo del rimborso se \u00e8 richiesto un rimborso parziale e possiamo trasmettere un order_id se \u00e8 diverso dall&#039;ID dell&#039;ordine originale.<\/p>\n<pre><code>risultato = Braintree::Transaction.refund(&quot;the_transaction_id&quot;)<\/code><\/pre>\n<p>Rimborso completo:<\/p>\n<pre><code>risultato = Braintree::Transaction.refund(&quot;CARMAXYZC6136044L&quot;, zero)<\/code><\/pre>\n<p>Rimborso parziale:<\/p>\n<pre><code>risultato = Braintree::Transaction.refund(&quot;CARMAXYZC6136044L&quot;, &quot;40.00&quot;)<\/code><\/pre>\n<p>risultato.successo?<br>#=&gt; vero<br>risultato.transazione.importo.a_f<br>#=&gt; 40,00<\/p>\n<p>Nota: sono consentiti solo rimborsi completi per le transazioni trattenute in deposito a garanzia (trattenere i fondi delle transazioni di un sub-commerciante fino a quando non effettueremo un&#039;ulteriore chiamata per rilasciarli). Un rimborso parziale di una transazione di deposito a garanzia generer\u00e0 un errore di convalida.<br><a href=\"https:\/\/developers.braintreepayments.com\/guides\/braintree-marketplace\/create\/ruby#holding-funds-in-escrow\">https:\/\/developers.braintreepayments.com\/guides\/braintree-marketplace\/create\/ruby#holding-funds-in-escrow<\/a><\/p>\n<div><strong>LUBAIB CEEJEY<\/strong><\/div>\n<div>Sr. Ruby on Rails Sviluppatore<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-535472ac elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"535472ac\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4b113cb4\" data-id=\"4b113cb4\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3deee2bc elementor-widget elementor-widget-heading\" data-id=\"3deee2bc\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Iscriviti per gli ultimi aggiornamenti<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6724a327 elementor-widget elementor-widget-shortcode\" data-id=\"6724a327\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"caricatore\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Indirizzo e-mail\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nome\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"sottoscrivi\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"it\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articoli correlati<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"gemma di Kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gemma Kaminari\" href=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/gemma-di-kaminari\/?related_post_from=37277\">\r\n        Gemma Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"perch\u00e9 assumere sviluppatori di Ruby on Rails nel 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/perche-assumere-sviluppatori-di-ruby-on-rails\/?related_post_from=30627\">\r\n        Perch\u00e9 assumere sviluppatori Ruby on Rails nel 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importanza dell&#039;architettura software nello sviluppo di software aziendale\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/importanza-dellarchitettura-software-nello-sviluppo-di-software-aziendale\/?related_post_from=36250\">\r\n        Importanza dell&#039;architettura software nello sviluppo di software aziendale  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"LE MIGLIORI IDEE PER LO SVILUPPO DI RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/roro\/ruby-ide-le-migliori-idee-per-lo-sviluppo-di-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE: i migliori IDE per lo sviluppo di Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>PayPal Checkout includes payment solutions ranging from simple to robust that let the merchants as well as developers choose an integration option that can be the best-suited for their website and customers.In order to integrate Paypal Payment Gateway, we need to do the following: 1. Have a PayPal business or Premier account.2. Create a PayPal &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/it\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) with Examples<\/span> Leggi altro \"<\/a><\/p>","protected":false},"author":1,"featured_media":31850,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[],"class_list":["post-25398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ways of Handling PayPal Refunds in Rails | Rails Application Development<\/title>\n<meta name=\"description\" content=\"PayPal Checkout includes payment solutions ranging from simple to robust that let the merchants as well as developers choose an integration option that\" \/>\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.railscarma.com\/it\/blog\/articoli-tecnici\/modi-di-gestire-i-binari-dei-rimborsi-paypal\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ways of Handling PayPal Refunds in Rails | Rails Application Development\" \/>\n<meta property=\"og:description\" content=\"PayPal Checkout includes payment solutions ranging from simple to robust that let the merchants as well as developers choose an integration option that\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/modi-di-gestire-i-binari-dei-rimborsi-paypal\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-10-13T11:10:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-06T08:28:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Ways of Handling PayPal Refunds in Rails\",\"datePublished\":\"2016-10-13T11:10:10+00:00\",\"dateModified\":\"2022-09-06T08:28:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/\"},\"wordCount\":806,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg\",\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/\",\"name\":\"Ways of Handling PayPal Refunds in Rails | Rails Application Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg\",\"datePublished\":\"2016-10-13T11:10:10+00:00\",\"dateModified\":\"2022-09-06T08:28:15+00:00\",\"description\":\"PayPal Checkout includes payment solutions ranging from simple to robust that let the merchants as well as developers choose an integration option that\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ways of Handling PayPal Refunds in Rails\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Modi di gestire i rimborsi PayPal in Rails | Sviluppo di applicazioni per rotaie","description":"PayPal Checkout include soluzioni di pagamento che vanno da semplici a robuste che consentono ai commercianti e agli sviluppatori di scegliere un&#039;opzione di integrazione che","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.railscarma.com\/it\/blog\/articoli-tecnici\/modi-di-gestire-i-binari-dei-rimborsi-paypal\/","og_locale":"it_IT","og_type":"article","og_title":"Ways of Handling PayPal Refunds in Rails | Rails Application Development","og_description":"PayPal Checkout includes payment solutions ranging from simple to robust that let the merchants as well as developers choose an integration option that","og_url":"https:\/\/www.railscarma.com\/it\/blog\/articoli-tecnici\/modi-di-gestire-i-binari-dei-rimborsi-paypal\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-10-13T11:10:10+00:00","article_modified_time":"2022-09-06T08:28:15+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"5 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Ways of Handling PayPal Refunds in Rails","datePublished":"2016-10-13T11:10:10+00:00","dateModified":"2022-09-06T08:28:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/"},"wordCount":806,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg","articleSection":["Technical Articles"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/","name":"Modi di gestire i rimborsi PayPal in Rails | Sviluppo di applicazioni per rotaie","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg","datePublished":"2016-10-13T11:10:10+00:00","dateModified":"2022-09-06T08:28:15+00:00","description":"PayPal Checkout include soluzioni di pagamento che vanno da semplici a robuste che consentono ai commercianti e agli sviluppatori di scegliere un&#039;opzione di integrazione che","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/10\/Paypal_Refunds.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Ways of Handling PayPal Refunds in Rails"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Societ\u00e0 di sviluppo Ruby on Rails specializzata nello sviluppo offshore","description":"RailsCarma \u00e8 una societ\u00e0 di sviluppo Ruby on Rails a Bangalore. Siamo specializzati nello sviluppo offshore di Ruby on Rails con sede negli Stati Uniti e in India. Assumi sviluppatori esperti di Ruby on Rails per la migliore esperienza Web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"amministratore","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/25398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/comments?post=25398"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/25398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media\/31850"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media?parent=25398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/categories?post=25398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/tags?post=25398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}