{"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":"moglichkeiten-zum-umgang-mit-paypal-ruckerstattungen","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/moglichkeiten-zum-umgang-mit-paypal-ruckerstattungen\/","title":{"rendered":"M\u00f6glichkeiten zur Abwicklung von PayPal-R\u00fcckerstattungen 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 umfasst Zahlungsl\u00f6sungen von einfach bis robust, die es H\u00e4ndlern und Entwicklern erm\u00f6glichen, eine Integrationsoption auszuw\u00e4hlen, die f\u00fcr ihre Website und Kunden am besten geeignet ist.<br><strong style=\"font-size: 16px; color: var( --e-global-color-text );\"><br>Um Paypal Payment Gateway zu integrieren, m\u00fcssen wir Folgendes tun:<\/strong><br><\/p>\n<p>\n<strong>1<\/strong>. Besitzen Sie ein PayPal-Gesch\u00e4fts- oder Premier-Konto.<br><strong>2.<\/strong> Erstellen Sie eine PayPal-App und erhalten Sie ein Zugriffstoken. Wenn wir eine PayPal-App erstellen, generiert PayPal einen Satz OAuth-Client-ID und geheime Schl\u00fcssel f\u00fcr die Anwendung. PayPal generiert diese Schl\u00fcssel sowohl f\u00fcr die PayPal-Sandbox als auch f\u00fcr die Live-Umgebung. Um ein Zugriffstoken zu erhalten, \u00fcbergeben Sie die client-id:secret-Anmeldeinformationen im Authorization-Header. Wir verwenden das Zugriffstoken zur Authentifizierung, wenn wir REST-API-Anfragen stellen.<br><strong>3.<\/strong> Um einen End-to-End-Test unseres Express Checkout mit In-Context-Integration durchzuf\u00fchren, erstellen Sie sowohl H\u00e4ndler- als auch K\u00e4uferkonten im <strong>PayPal-Sandbox<\/strong> Umfeld.<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>H\u00e4ndler:<\/strong> W\u00e4hlen Sie den Kontotyp \u201eGesch\u00e4ft\u201c und geben Sie eine E-Mail-Adresse und ein Passwort ein.<br><strong>K\u00e4ufer:<\/strong> W\u00e4hlen Sie den Kontotyp \u201ePers\u00f6nlich\u201c und geben Sie einen hohen PayPal-Saldo ein, z. B. 5000.<\/p>\n<p>Sobald wir ein Paypal-Sandbox-Konto erstellt haben, klicken Sie auf den Link \u201eProfil\u201c f\u00fcr dieses Konto und sehen Sie unter der Registerkarte \u201eAPI-Anmeldeinformationen\u201c nach. Wir werden die folgenden Informationen haben;<\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li><strong>Paypal-API-Benutzername<\/strong><\/li>\n<li><strong>Paypal-API-Signatur<\/strong><\/li>\n<li><strong>Paypal-API-Passwort<\/strong><\/li>\n<\/ul>\n<p>Hinweis: Wenn wir bereit sind, live zu gehen, verwenden wir einfach die Anmeldeinformationen unseres echten PayPal-Kontos anstelle der Anmeldeinformationen unseres Sandbox-Kontos. Die Zugangsdaten finden Sie im Bereich \u201eMein Profil\u201c unter der linken Registerkarte \u201eMeine Verkaufstools\u201c unter der Option \u201eAPI-Zugriff\u201c.<\/p>\n<p><strong>So handhaben Sie Paypal-R\u00fcckerstattungen in Rails:<\/strong><\/p>\n<p><strong>Methode 1:<\/strong><\/p>\n<p><strong>Paypal Rest API;<\/strong><\/p>\n<p>F\u00fcr komplexere H\u00e4ndlerseiten sind direkte Aufrufe von PayPal-APIs f\u00fcr eine Express-Checkout-Integration m\u00f6glicherweise eine geeignetere Integration.<br><strong>REST-APIs<\/strong> \u2014 Wir k\u00f6nnen eine Express Checkout-Integration mithilfe von PayPal-REST-APIs entwickeln.<\/p>\n<p>Um den Express Checkout mit dem In-Context-Flow zu integrieren;<br>https:\/\/developer.paypal.com\/docs\/api\/<br>ODER<br><strong>PayPal REST API Ruby SDK<\/strong> (paypal-sdk-rest gem):<br>Das PayPal REST SDK stellt Ruby-APIs zum Erstellen, Verarbeiten und Verwalten von Zahlungen bereit.<\/p>\n<p><strong>Installation:<\/strong><br>F\u00fcgen Sie den Edelstein unserer Anwendung in Gemfile hinzu:<\/p>\n<pre><code>gem &#039;paypal-sdk-rest&#039;<\/code><\/pre>\n<p><strong>Und dann ausf\u00fchren:<\/strong><\/p>\n<pre><code>$-Bundle-Installation<\/code><\/pre>\n<p><strong>Aufbau:<\/strong><\/p>\n<pre><code>Schienen g paypal:sdk:install<\/code><\/pre>\n<p><strong>Erstattet eine Transaktion:<\/strong><br>Bei jeder Transaktion k\u00f6nnen wir eine R\u00fcckerstattung veranlassen (sowohl direkte als auch erfasste Zahlungen):<\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li>R\u00fcckerstattung einer abgeschlossenen Direktzahlung (Verkauf)<\/li>\n<li>Eine autorisierte und erfasste Zahlung zur\u00fcckerstatten (Erfassung)<\/li>\n<\/ul>\n<p><strong>R\u00fcckerstattung einer abgeschlossenen Zahlung (Verkauf):<\/strong><br>Wenn wir eine abgeschlossene Zahlung oder einen Verkauf zur\u00fcckerstatten m\u00fcssen, geben Sie die Verkaufs-ID, die uns als Reaktion auf eine abgeschlossene Zahlung gegeben wurde, zusammen mit einer leeren JSON-Nutzlast f\u00fcr eine vollst\u00e4ndige R\u00fcckerstattung und f\u00fcr Teilr\u00fcckerstattungen an. Stattdessen k\u00f6nnen wir ein Betragsobjekt in die JSON-Nutzlast aufnehmen .<\/p>\n<pre><code>curl -v https:\/\/api.sandbox.paypal.com\/v1\/paids\/sale\/CARMAXYZC6136044L\/refund -H &quot;Content-Type:application\/json&quot; -H &quot;Authorization: Bearer Access-Token&quot; -d &#039;{} &#039;\n<\/code><\/pre>\n<p>Hinweis: Wir sollten alle anrufspezifischen Parameter, wie Token und IDs, durch unsere eigenen ersetzen.<br><strong>Antwortstatus der R\u00fcckerstattung:<\/strong><\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li><strong>ausstehend-<\/strong> Die R\u00fcckerstattung steht noch aus.<\/li>\n<li><strong>vollendet-<\/strong> Die R\u00fcckerstattung wurde erfolgreich abgeschlossen.<\/li>\n<li><strong>fehlgeschlagen-<\/strong> Die R\u00fcckerstattung ist fehlgeschlagen.<\/li>\n<\/ul>\n<p><strong>Eine erfasste Zahlung zur\u00fcckerstatten;<\/strong><br>Wir k\u00f6nnen eine eingezogene Zahlung auch zur\u00fcckerstatten:<\/p>\n<pre><code>API: https:\/\/api.paypal.com\/v1\/zahlungen\/capture\/{capture_id}\/refund<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>Hinweis: Wir m\u00fcssen sowohl f\u00fcr vollst\u00e4ndige als auch f\u00fcr teilweise R\u00fcckerstattungen ein Betragsobjekt angeben.<\/p>\n<pre><code>curl -v https:\/\/api.sandbox.paypal.com\/v1\/zahlungen\/capture\/CARMAXYZC6136044L\/refund -H &quot;Content-Type:application\/json&quot; -H &quot;Authorization: Bearer Access-Token&quot; -d &#039;{ &quot; amount&quot;: { &quot;currency&quot;: &quot;USD&quot;, &quot;total&quot;: &quot;50.54&quot; }, &quot;description&quot;: &quot;Dies ist die Beschreibung der Erfassungsr\u00fcckerstattung.&quot; }&#039;\n<\/code><\/pre>\n<p>Referenz: <a href=\"https:\/\/developer.paypal.com\">https:\/\/developer.paypal.com<\/a><\/p>\n<p><strong>Methode 2:<\/strong><\/p>\n<p><strong>Paypal-R\u00fcckerstattung \u00fcber Active Merchant Gem:<\/strong><\/p><p><b>ActiveMerchant-Integration: <\/b><a href=\"http:\/\/railscasts.com\/episodes\/145-integrating-active-merchant\">http:\/\/railscasts.com\/episodes\/145-integrating-active-merchant<\/a><br><\/p>\n<p>In unserer Bewerbung;<\/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;, : Passwort =&gt; \u201eFXWU58S7KXFC6HBE\u201c, :signature =&gt; \u201eAGjv6SW.mTiKxtkm6L9DcSUCUgePAUDQ3L-kTdszkPG8mRfjaRZDYtSu\u201c ) Ende<\/code><\/pre>\n<p><strong>Erstattet eine Transaktion:<\/strong><br>Werfen Sie einen Blick hinein <strong>paypal_common_api.rb<\/strong> Datei in Active Merchant Gem;<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> F\u00fcr eine vollst\u00e4ndige R\u00fcckerstattung gilt kein Betrag f\u00fcr den Betrag:<\/p>\n<pre><code>Gateway.refund nil, &#039;CARMAXYZC6136044L&#039;<\/code><\/pre>\n<p>Dadurch wird :refund_type automatisch auf \u201eFull\u201c gesetzt.<br><strong>2.<\/strong> F\u00fcr eine teilweise R\u00fcckerstattung \u00fcberweisen Sie einfach den Betrag wie gewohnt:<\/p>\n<pre><code>Gateway.refund 100, \u201eCARMAXYZC6136044L\u201c<\/code><\/pre>\n<pre><code>def R\u00fcckerstattung(Geld, Identifikation, Optionen = {}) Commit &#039;RefundTransaction&#039;, build_refund_request(Geld, Identifikation, Optionen) Ende<\/code><\/pre>\n<p><strong>Ex:<\/strong><\/p>\n<pre><code>Gateway.refund(nil,&#039;CARMAXYZC6136044L&#039;) =&gt; Vollst\u00e4ndige R\u00fcckerstattung.<\/code><\/pre>\n<pre><code>Gateway.refund(798,&#039;CARMAXYZC6136044L&#039;) =&gt; Teilweise R\u00fcckerstattung.<\/code><\/pre>\n<p>Referenz: http:\/\/www.rubydoc.info\/github\/Shopify\/active_merchant\/ActiveMerchant\/Billing\/PaypalCommonAPI<\/p>\n<p><strong><br>Methode 3:<\/strong><\/p>\n<p><strong>Verwendung von Braintree Gem;<\/strong><\/p>\n<p><strong>Braintree-Integration:<\/strong><\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li>Er\u00f6ffnen Sie ein Braintree Sandbox-Konto.<br><a href=\"https:\/\/www.braintreepayments.com\/sandbox\">https:\/\/www.braintreepayments.com\/sandbox<\/a><\/li>\n<li>Folgen Sie den Tutorials;<br><a href=\"https:\/\/developers.braintreepayments.com\/start\/hello-server\/ruby\">https:\/\/developers.braintreepayments.com\/start\/hello-server\/ruby<\/a><\/li>\n<li>Konfigurieren Sie die Umgebung und API-Anmeldeinformationen:\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>Schlie\u00dfen Sie die Integrations- und Sandbox-Tests ab.<\/li>\n<\/ul>\n<p><strong>Anforderungen:<\/strong><\/p>\n<ul style=\"font-family: \" montserrat\",sans-serif;\"=\"\">\n<li>Der Transaktionsstatus muss \u201eabgerechnet\u201c oder \u201eabgerechnet\u201c sein.<\/li>\n<li>Der R\u00fcckerstattungsbetrag darf nicht h\u00f6her sein als der verbleibende, nicht erstattete Betrag der urspr\u00fcnglichen Transaktion.<\/li>\n<li>Die Transaktion kann nach vollst\u00e4ndiger R\u00fcckerstattung nicht erneut erstattet werden.<\/li>\n<\/ul>\n<p><strong>Erstattet eine Transaktion:<\/strong><br>Um eine R\u00fcckerstattung mit der API zu veranlassen, m\u00fcssen wir nur eine Transaction.refund()-API-Anfrage ausf\u00fchren und ben\u00f6tigen f\u00fcr die R\u00fcckerstattung lediglich eine Transaktions-ID. Optional k\u00f6nnen wir einen R\u00fcckerstattungsbetrag \u00fcbergeben, wenn eine teilweise R\u00fcckerstattung erforderlich ist, und wir k\u00f6nnen eine order_id \u00fcbergeben, wenn diese von der urspr\u00fcnglichen Bestell-ID abweicht.<\/p>\n<pre><code>result = Braintree::Transaction.refund(&quot;the_transaction_id&quot;)<\/code><\/pre>\n<p>Komplette R\u00fcckerstattung:<\/p>\n<pre><code>result = Braintree::Transaction.refund(&quot;CARMAXYZC6136044L&quot;, nil)<\/code><\/pre>\n<p>Teilerstattung:<\/p>\n<pre><code>result = Braintree::Transaction.refund(&quot;CARMAXYZC6136044L&quot;, &quot;40.00&quot;)<\/code><\/pre>\n<p>Ergebnis.Erfolg?<br>#=&gt; wahr<br>result.transaction.amount.to_f<br>#=&gt; 40,00<\/p>\n<p>Hinweis: F\u00fcr Transaktionen, die auf einem Treuhandkonto gehalten werden, sind nur vollst\u00e4ndige R\u00fcckerstattungen zul\u00e4ssig (behalten Sie die Transaktionsgelder eines Unterh\u00e4ndlers, bis wir einen weiteren Anruf zur Freigabe t\u00e4tigen). Eine teilweise R\u00fcckerstattung einer Treuhandtransaktion f\u00fchrt zu einem Validierungsfehler.<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>Senior Ruby on Rails-Entwickler<\/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\">Abonnieren Sie die neuesten Updates<\/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=\"Lader\"><\/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=\"E-Mail-Adresse\">\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=\"Name\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Abonnieren\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"de\"\/><\/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\">zusammenh\u00e4ngende Posts<\/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=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?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=\"Kaminari-Juwel\" 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=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?related_post_from=37277\">\r\n        Kaminari-Juwel  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?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=\"Warum sollte man im Jahr 2022 Ruby-on-Rails-Entwickler einstellen?\" 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=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?related_post_from=30627\">\r\n        Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/bedeutung-der-softwarearchitektur-bei-der-entwicklung-von-unternehmenssoftware\/?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=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" 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=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/bedeutung-der-softwarearchitektur-bei-der-entwicklung-von-unternehmenssoftware\/?related_post_from=36250\">\r\n        Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/ruby-idee-die-besten-ideen-fur-die-ruby-on-rails-entwicklung\/?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=\"BESTE IDEEN F\u00dcR DIE RUBY ON RAILS-ENTWICKLUNG\" 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: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/ruby-idee-die-besten-ideen-fur-die-ruby-on-rails-entwicklung\/?related_post_from=36125\">\r\n        Ruby IDE: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung  <\/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 umfasst Zahlungsl\u00f6sungen, die von einfach bis robust reichen, so dass sowohl H\u00e4ndler als auch Entwickler eine Integrationsoption w\u00e4hlen k\u00f6nnen, die f\u00fcr ihre Website und Kunden am besten geeignet ist.Um Paypal Payment Gateway zu integrieren, m\u00fcssen wir Folgendes tun: 1. Besitzen Sie ein PayPal-Gesch\u00e4fts- oder Premier-Konto.2. erstellen Sie ein PayPal ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Ruby Regex Match Guide (2026) mit Beispielen<\/span> Weiterlesen \u00bb<\/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\/de\/blog\/fachartikel\/moglichkeiten-zum-umgang-mit-paypal-ruckerstattungen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/blog\/fachartikel\/moglichkeiten-zum-umgang-mit-paypal-ruckerstattungen\/\" \/>\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=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\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\":\"de\",\"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\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@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\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@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\":\"de\",\"@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":"M\u00f6glichkeiten zur Abwicklung von PayPal-R\u00fcckerstattungen in Rails | Rails-Anwendungsentwicklung","description":"PayPal Checkout umfasst Zahlungsl\u00f6sungen von einfach bis robust, mit denen sowohl H\u00e4ndler als auch Entwickler eine Integrationsoption ausw\u00e4hlen k\u00f6nnen","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\/de\/blog\/fachartikel\/moglichkeiten-zum-umgang-mit-paypal-ruckerstattungen\/","og_locale":"de_DE","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\/de\/blog\/fachartikel\/moglichkeiten-zum-umgang-mit-paypal-ruckerstattungen\/","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":{"Verfasst von":"admin","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"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":"de","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":"M\u00f6glichkeiten zur Abwicklung von PayPal-R\u00fcckerstattungen in Rails | Rails-Anwendungsentwicklung","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 umfasst Zahlungsl\u00f6sungen von einfach bis robust, mit denen sowohl H\u00e4ndler als auch Entwickler eine Integrationsoption ausw\u00e4hlen k\u00f6nnen","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/ways-handling-paypal-refunds-rails\/"]}]},{"@type":"ImageObject","inLanguage":"de","@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 \u2013 Ruby on Rails-Entwicklungsunternehmen, spezialisiert auf Offshore-Entwicklung","description":"RailsCarma ist ein Ruby on Rails-Entwicklungsunternehmen in Bangalore. Wir sind auf die Offshore-Ruby-on-Rails-Entwicklung mit Sitz in den USA und Indien spezialisiert. Stellen Sie erfahrene Ruby on Rails-Entwickler f\u00fcr das ultimative Web-Erlebnis ein.","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":"de"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"SchienenCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@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":"Administrator","image":{"@type":"ImageObject","inLanguage":"de","@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\/de\/wp-json\/wp\/v2\/posts\/25398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/comments?post=25398"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts\/25398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media\/31850"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media?parent=25398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/categories?post=25398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/tags?post=25398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}