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.
Ajoutez gem 'activemerchant'
dans votre Gemfile
Exécuter bundle install
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.
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
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
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:
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!