2010-10-25 4 views
0

J'utilise la version dcramer de django-paypal (mais je pense que cela ne devrait pas avoir d'importance si c'est dcramer ou johnboxall).Plusieurs articles dans django-paypal

1) Comment puis-je spécifier plusieurs éléments dans mon paypal_dict (à utiliser dans PayPalPaymentsForm)? 2) De plus, je dois spécifier de manière appropriée le coût d'expédition et les quantités individuelles dans le résumé qui apparaît sur l'écran Paypal - comment faire?

Répondre

0

Je finissent par les dictionnaires d'éléments de construction comme celui-ci dans la vue:

item = { 
    'cancelurl':  'http://%s%s' % DYNAMIC_URL, reverse('pay_cancel')), # Express checkout cancel url 
    'returnurl':  'http://%s%s' % (DYNAMIC_URL, reverse('pay_now')), # Express checkout return url 

    'l_name0':  'Your product name', 
    'l_number0':  1234, 
    'l_desc0':  'longer description', 
    'l_amt0':  100.00, 
    'l_qty0':  1, 

    'l_name1':  'Your product name', 
    'l_number1':  1234, 
    'l_desc1':  'longer description', 
    'l_amt1':  200.00 
    'l_qty1':  2, 

    'itemamt':  500.00, 
    'taxamt':  0.00, 
    'shippingamt': 0.00, 
    'handlingamt': 0.00, 
    'shipdiscamt': 0.00, 
    'insuranceamt': 0.00, 
    'amt':   500.00, # Amount to charge for basket 
} 

Cette dict obtient alors emmitouflés comme ceci:

kw = { 
    'item': item, 
    'payment_template': 'cms/register.html', # Template name for payment 
    'confirm_template': 'cms/paypal-confirmation.html', # Template name for confirmation 
    'success_url':  reverse('pay_success'), # Ultimate return URL 
} 

ppp = PayPalPro(**kw) 
return ppp(request) 

Est-ce que vous voulez dire?

1

Je ne suis pas fan de django-paypal. Il suffit de lire l'API PayPal: https://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside.

Pour pousser tous les articles dans votre panier à PayPal:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
     <input type="hidden" name="cmd" value="_cart"> 
     <input type="hidden" name="upload" value="1"> 
     <input type="hidden" name="business" value="[email protected]"> 
     <input type="hidden" name="currency_code" value="EUR"> 

     <!-- Run a for loop --> 
     {% for item in cart %} 
     <input type="hidden" name="item_name_1" value="Item Name 1"> 
     <input type="hidden" name="amount_1" value="10.00"> 
     <input type="hidden" name="item_name_2" value="Item Name 2"> 
     <input type="hidden" name="amount_2" value="20.00"> 
     . 
     . 
     . 
     <input type="hidden" name="item_name_N" value="Item Name N"> 
     <input type="hidden" name="amount_N" value="30.00"> 
     {% endfor %} 

     <input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"> 
</form> 
+0

Merci! , après votre réponse, mon approche est la suivante: je vais faire la génération du formulaire de panier et laisser django-paypal s'occuper du traitement IPN. –

Questions connexes