it-swarm.com.de

So integrieren Sie Paypal mit Ruby on Rails

Ich versuche, Paypal in meine Ruby on Rails-Anwendung mit dem Rest-api-sdk-Ruby-Edelstein ( https://github.com/Paypal/rest-api-sdk-Ruby ) zu integrieren, konnte aber nicht genug finden Informationen rund um oder ein gutes Tutorial, um mich zu unterstützen. Die obige Beschreibung stellt zwar den erforderlichen Code bereit, zeigt jedoch nicht, wie mit den Methoden umzugehen ist oder in welchen Dateien sich jede Methode befinden sollte.

Könnte mir jemand hier einen Ausgangspunkt geben oder auf ein gutes Tutorial verweisen? 

Ich verwende Rails Version 4. 

Danke vielmals. 

18
user3462261

Standard-Paypal-Integration mit der Rails-App Active Merchant gem

Schritt 1

  • Fügen Sie gem 'activemerchant' in Ihr Gemfile hinzu

  • bundle install ausführen

Schritt 2

  • Gehen Sie zu " developer.Paypal.com " und erstellen Sie ein Konto (auch als Händlerkonto bezeichnet) mit US-Adressangaben.

    In "sandbox.Paypal.com" werden zwei Dummy-Testkonten erstellt, und zwar jeweils ein für den Käufer und den Verkäufer (a.k.a.-Vermittler). Details zu Testkonten anzeigen Klicken Sie auf "Dashboard -> Konten".

  • Legen Sie nun das Passwort für beide Testkonten fest, indem Sie auf den Profillink klicken.

Schritt 3

  • Gehen Sie zu den Profildetails des Verkäuferkontos (d. H. Vermittler) und kopieren Sie die API-Anmeldeinformationen, d. H. Benutzername, Kennwort und Signatur. Zum Beispiel:

    Username:  naveengoud-facilitator_api1.gamil.com
    Password:  VSPALJ5ALA5YY9YJ
    Signature: AVLslxW5UGzEpaDPEK4Oril7Xo4IAYjdWHD25HhS8a8kqPYO4FjFhd6A
    
  • Legen Sie diese API-Berechtigungsnachweise in "config/environues/development.rb" wie folgt fest:

    config.after_initialize do
      ActiveMerchant::Billing::Base.mode = :test
      ::GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(
        login: "merchant_api1.gotealeaf.com",
        password: "2PWPEUKZXAYE7ZHR",
        signature: "AFcWxV21C7fd0v3bYYYRCpSSRl31A-dRI5VpyF4A9emruhNYzlM8poc0"
      )
    end
    

Schritt 4

20

Ausführliche Beschreibung Hier wird Schritt für Schritt vorgegangen

Integration von Paypal in Ihre Rails-Anwendung mit einer einfachen Checkout-Methode:
Grundlegende Kaufabwicklung

Wenn Sie Kreditkarten für Ihre Zahlungen akzeptieren möchten:
Kreditkarten belasten

Wenn Sie wiederkehrende Zahlungen akzeptieren möchten:
Wiederkehrende Zahlungen

Sie können diese App klonen und auf Ihrem lokalen Computer testen

git clone https://github.com/gotealeaf/Paypal-basics
cd Paypal-basics
rake db:create
rake db:migrate
rake db:seed
Rails s
1
Chetan Datta

Ich bin ein bisschen zu spät zur Party, aber ich habe dies in den Paypal-Dokumenten gefunden

Paypal-Zahlungen umfassen diese 3 Schritte:

  • Geben Sie Zahlungsinformationen an, um eine Zahlung zu erstellen.
  • Holen Sie sich die Zahlungsbestätigung.
  • Führen Sie die Zahlung auf das Konto des Paypal-Benutzers aus.

1) Setzen Sie die Absicht auf sale und die Zahlungsmethode auf Paypal.

Umleitungs-URLs einschließen Der Benutzer wird zu diesen URLs umgeleitet, wenn er die Zahlung entweder genehmigt oder storniert.

curl https://api.sandbox.Paypal.com/v1/payments/payment \
  -v \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer accessToken' \
  -d '{
    "intent":"sale",
    "redirect_urls":{
      "return_url":"http://return_URL_here",
      "cancel_url":"http://cancel_URL_here"
    },
    "payer":{
      "payment_method":"Paypal"
    },
    "transactions":[
      {
        "amount":{
          "total":"7.47",
          "currency":"USD"
        },
        "description":"This is the payment transaction description."
      }
    ]
  }

Antwort:

{
  "id":"PAY-6RV70583SB702805EKEYSZ6Y",
  "create_time":"2013-03-01T22:34:35Z",
  "update_time":"2013-03-01T22:34:36Z",
  "state":"created",
  "intent":"sale",
  "payer":{
    "payment_method":"Paypal"
  },
  "transactions":[
    {
      "amount":{
        "total":"7.47",
        "currency":"USD",
        "details":{
          "subtotal":"7.47"
        }
      },
      "description":"This is the payment transaction description."
    }
  ],
  "links":[
    {
      "href":"https://api.sandbox.Paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y",
      "rel":"self",
      "method":"GET"
    },
    {
      "href":"https://www.sandbox.Paypal.com/webscr?cmd=_express-checkout&token=EC-60U79048BN7719609",
      "rel":"approval_url",
      "method":"REDIRECT"
    },
    {
      "href":"https://api.sandbox.Paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y/execute",
      "rel":"execute",
      "method":"POST"
    }
  ]
}

2) Holen Sie die Zahlungsgenehmigung ein

Bitte beachten Sie die HATEOAS-Links im obigen Beispiel. Verweisen Sie den Benutzer auf den approval_url auf der Paypal-Site, damit der Benutzer die Zahlung genehmigen kann. Der Benutzer muss die Zahlung genehmigen, bevor Sie den Verkauf ausführen und abschließen können.

3) Führen Sie die Zahlung aus

Wenn der Benutzer die Zahlung genehmigt, leitet Paypal den Benutzer an das angegebene return_url weiter

wann die Zahlung erstellt wurde. Eine Zahler-ID und eine Zahlungs-ID werden als PayerID und paymentId an die Rückkehr-URL angehängt:

http://return_url?paymentId=PAY-6RV70583SB702805EKEYSZ6Y&token=EC-60U79048BN7719609&PayerID=7E7MGXCWTTKK2

Der an die Rücksprung-URL angehängte Tokenwert wird nicht benötigt, wenn Sie die Zahlung ausführen.

Um die Zahlung nach Zustimmung des Benutzers auszuführen, führen Sie einen /payment/execute/-Anruf aus. Verwenden Sie im Hauptteil der Anforderung den payer_id-Wert, der an die Rückgabe-URL angehängt wurde. Verwenden Sie im Header das Zugriffstoken, das Sie beim Erstellen der Zahlung verwendet haben.

curl https://api.sandbox.Paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y/execute/ \
  -v \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer accessToken' \
  -d '{ "payer_id" : "7E7MGXCWTTKK2" }'

Hinweis: Sobald eine Zahlung abgeschlossen ist, wird dies als Verkauf bezeichnet. Sie können dann den Verkauf nachschlagen und den Kaufpreis erstatten.

Ich hoffe es hilft!

0
Stef Hej