web-dev-qa-db-fra.com

Comment intégrer Paypal avec Ruby on Rails

J'essaie d'intégrer Paypal à mon application Ruby on Rails en utilisant la gemme rest-api-sdk-Ruby ( https://github.com/Paypal/rest-api-sdk-Ruby ), mais n'a pas pu en trouver assez informations autour ou un bon tutoriel pour me sauvegarder. La description fournie ci-dessus, bien que fournissant le code nécessaire, ne montre pas comment gérer les méthodes autour ou dans quels fichiers doit accéder à chaque méthode.

Est-ce que quelqu'un pourrait me donner un point de départ ici ou me diriger vers un bon tutoriel? 

J'utilise Rails version 4. 

Merci beaucoup. 

18
user3462261

Intégration Paypal standard avec l'application Rails gem Active Merchant

Étape 1

  • Ajoutez gem 'activemerchant' dans votre Gemfile

  • Exécuter bundle install

Étape 2

  • Accédez à " developer.Paypal.com " et créez un compte (également appelé compte marchand) avec les détails de l'adresse aux États-Unis.

    Il créera deux comptes fictifs de test, un pour l'acheteur et un pour le vendeur (facilitateur.k.a.), dans "sandbox.Paypal.com". Pour voir les détails des comptes de test Cliquez sur "Tableau de bord -> Comptes"

  • Maintenant, définissez le mot de passe pour les deux comptes de test en cliquant sur le lien du profil.

Étape 3

  • Accédez aux détails du profil du compte vendeur (facilitateur) et copiez les informations d'identification de l'API, nom d'utilisateur, mot de passe et signature. Par exemple:

    Username:  naveengoud-facilitator_api1.gamil.com
    Password:  VSPALJ5ALA5YY9YJ
    Signature: AVLslxW5UGzEpaDPEK4Oril7Xo4IAYjdWHD25HhS8a8kqPYO4FjFhd6A
    
  • Définissez ces informations d'identification d'API dans "config/environment/development.rb" comme suit:

    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
    

Étape 4

20
Naveen Thonpunoori

En détail La procédure pas à pas est donnée ici

Intégration de Paypal à votre application Rails avec une méthode de paiement de base:
Paiement de base

Si vous souhaitez accepter les cartes de crédit pour vos paiements:
Charger des cartes de crédit

Si vous souhaitez accepter des paiements récurrents:
Paiements récurrents

Vous pouvez cloner cette application et la tester sur votre ordinateur local.

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

Je suis un peu en retard à la fête mais je l'ai trouvé dans les documents Paypal

Les paiements Paypal impliquent ces 3 étapes:

  • Spécifiez les informations de paiement pour créer un paiement.
  • Obtenez l'approbation de paiement.
  • Exécutez le paiement sur le compte de l'utilisateur Paypal.

1) Définissez l’intention sur sale et le paramètre payment_method sur Paypal.

Inclure les URL de redirection. L'utilisateur est redirigé vers ces URL lorsqu'il approuve ou annule le paiement.

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."
      }
    ]
  }

Réponse:

{
  "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) Obtenir l'approbation du paiement

Veuillez noter les liens HATEOAS dans l'exemple ci-dessus. Dirigez l'utilisateur vers le approval_url sur le site Paypal afin qu'il puisse approuver le paiement. L'utilisateur doit approuver le paiement avant de pouvoir exécuter et finaliser la vente.

3) Exécuter le paiement

Lorsque l'utilisateur approuve le paiement, Paypal le redirige vers le return_url spécifié

quand le paiement a été créé. Un identifiant de payeur et un identifiant de paiement sont ajoutés à l'URL de retour, sous la forme PayerID et paymentId:

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

La valeur de jeton ajoutée à l'URL de retour n'est pas nécessaire lorsque vous exécutez le paiement.

Pour exécuter le paiement après l'approbation de l'utilisateur, effectuez un appel /payment/execute/. Dans le corps de la demande, utilisez la valeur payer_id qui a été ajoutée à l'URL de retour. Dans l'en-tête, utilisez le jeton d'accès que vous avez utilisé lors de la création du paiement.

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" }'

Remarque: une fois le paiement effectué, il est appelé une vente. Vous pouvez alors consulter la vente et la rembourser.

J'espère que ça aide!

0
Stef Hej