Site icon Blog ARC Optimizer

Intégration de la passerelle de paiement PayPal avec Django : un guide étape par étape

Intégration de la passerelle de paiement PayPal avec Django : un guide étape par étape


À l’ère numérique d’aujourd’hui, offrir aux utilisateurs des options de paiement pratiques et sécurisées est crucial pour le succès de toute entreprise en ligne. PayPal, étant l’une des passerelles de paiement les plus utilisées au monde, offre une solution fiable pour traiter les transactions en ligne. L’intégration de PayPal dans votre application Web Django peut améliorer l’expérience utilisateur et rationaliser le paiement. Dans ce guide complet, nous passerons en revue le processus étape par étape d’intégration des paiements PayPal dans une application Web Django.

Étape 1 : Création d’un compte de développeur PayPal :

Voici comment créer un compte sandbox PayPal :

  1. Accédez au site Web des développeurs PayPal : https://developer.paypal.com/.
  2. Connectez-vous avec les identifiants de votre compte PayPal ou créez un nouveau compte PayPal si vous n’en avez pas.
  3. Une fois connecté, accédez au tableau de bord et à la section Sandbox > Comptes.
  4. Cliquez sur le bouton « Créer un compte » pour créer un nouveau compte test.
  5. Suivez les instructions pour créer des comptes test vendeur et acheteur (client).

Après avoir configuré vos comptes sandbox, vous pouvez utiliser les informations d’identification de l’API sandbox fournies (ID client et secret) dans votre application Django pour interagir avec l’API PayPal dans l’environnement sandbox à des fins de test.

Lors du déploiement de votre application en production, n’oubliez pas de remplacer ces informations d’identification de l’API sandbox par vos informations d’identification de l’API PayPal en direct.

Étape 2 : Configuration des paramètres de Django :

Dans votre fichier de paramètres Django (settings.py), ajoutez votre identifiant client PayPal et votre clé secrète obtenue à partir du tableau de bord du développeur PayPal :

PAYPAL_CLIENT_ID = 'YOUR_CLIENT_ID'
PAYPAL_SECRET_KEY = 'YOUR_SECRET_KEY'

Remplacez ‘YOUR_CLIENT_ID’ et ‘YOUR_SECRET_KEY’ par les valeurs réelles obtenues à partir de votre compte de développeur PayPal.

Étape 3 : Création de la page de paiement :

  • Créez un nouveau modèle HTML nommé caisse.html où les utilisateurs peuvent consulter leur commande et procéder au paiement PayPal.
  • Concevez la mise en page en fonction des exigences UI/UX de votre application.
  • Incluez un bouton ou un lien pour lancer le processus de paiement PayPal

Étape 4 : Intégration du SDK JavaScript PayPal :

Dans le caisse.html modèle, incluez le script PayPal JavaScript SDK. Ce script fournit des fonctions de configuration et de gestion du bouton de paiement PayPal.

<script src="https://www.paypal.com/sdk/js?client-id=AT-9V4o_Ntnhs6TgvnfvTDbhVe3j4DHB11TYsY6DhZ5XEs2gpCKVPjyCLJiYo4katruRTE9x6yizxi7E&currency=USD"></script>
<script>
functioninitPayPalButton(){
paypal.Buttons({
style: {
shape: 'rect',
color: 'gold',
layout: 'vertical',
label: 'paypal',
},

createOrder:function(data,actions){
return actions.order.create({
purchase_units: [{"amount":{"currency_code": "USD", "value": '{{total_amount}}'}}]
});
},
onApprove:function(data,actions){
return actions.order.capture().then(function(orderData){
var paypalPaymentID = orderData.purchase_units[0].payments.captures[0].id;
// Full available details
console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));
// Show a success message within this page, for example:
constelement= document.getElementById('paypal-button-container');
element.innerHTML = '';
element.innerHTML = '<h3>Thank you for your payment!</h3>';
document.getElementById('paypal-payment-id').value = paypalPaymentID;
document.getElementById('myform').submit();
// Or go to another URL: actions.redirect('thank_you.html');
});
},
onError:function(err){
console.log(err);
}
}).render('#paypal-button-container');
}
initPayPalButton();
</script>

Étape 5 : Implémentation de la logique côté serveur :

Dans vos vues Django, implémentez une logique côté serveur pour créer et traiter les commandes PayPal. vues.pydéposer

def payment_done(request):
user = request.user
paypal_transaction_id = request.GET.get("paypal-payment-id")
custid = request.GET.get("custid")
customer = Customer.objects.get(id=custid)
cart_items = Cart.objects.filter(user=user)
# Check if the payment was made with PayPal
if paypal_transaction_id:
for cart in cart_items:
OrderPlaced.objects.create(
user=user,
customer=customer,
product=cart.product,
quantity=cart.quantity,
transaction_id=paypal_transaction_id,
)
cart.delete()
return redirect("orders")
# Handle the case where PayPal payment ID is not provided
else:
return HttpResponse("Invalid payment information").

Étape 6 : Mettre à jour les URL :

Configurez les URL pour mapper les vues dans le fichier urls.py de votre application Django :


urlpatterns = [
path('paymentdone/', views.payment_done, name="payment_done"),
]

Cliquez maintenant sur Payer avec Pay Pal

Entrez maintenant les identifiants de votre compte Paypal

Pour la démo, nous utilisons le solde Paypal pour le paiement

Terminé le processus de paiement

Redirigez avec succès vers la page des commandes

Merci

VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE






Source link
Quitter la version mobile