Vous n'êtes pas identifié(e).
Salut,
comment on faire pour envoyer de l'argent à un particulier en toute sécurité avec paypal ? En particulier ce module django-paypal.
UPDATE: J'ai trouvé un truc mais je n'arrive pas à le faire fonctionner correctement.
import urllib, urllib.parse, urllib.request
import datetime
import hashlib as md5
class PayPal:
""" #PayPal utility class"""
signature_values = {}
API_ENDPOINT = ""
PAYPAL_URL = ""
def __init__(self):
## Sandbox values
self.signature_values = {
'USER' : '??????', # Edit this to your API user name
'PWD' : '??????', # Edit this to your API password
'SIGNATURE' : '??????', # edit this to your API signature
'VERSION' : '53.0',
}
self.API_ENDPOINT = 'https://api-3t.sandbox.paypal.com/nvp' # Sandbox URL, not production
self.PAYPAL_URL = 'https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token='
self.signature = urllib.parse.urlencode(self.signature_values) + "&"
# API METHODS
def MassPay(self, email, amt, note, email_subject):
# unique_id = str(md5.new(str(datetime.datetime.now())).hexdigest())
params = {
'METHOD' : "MassPay",
'RECEIVERTYPE' : "EmailAddress",
'L_AMT0' : amt,
'CURRENCYCODE' : 'EUR',
'L_EMAIL0' : email,
# 'L_UNIQUE0' : unique_id,
'L_NOTE0' : note,
'EMAILSUBJECT': email_subject,
}
params_string = self.signature + urllib.parse.urlencode(params)
response = urllib.request.urlopen(self.API_ENDPOINT, params_string.encode('utf-8')).read()
response_tokens = {}
for token in response.split('&'):
response_tokens[token.split("=")[0]] = token.split("=")[1]
for key in response_tokens.keys():
response_tokens[key] = urllib.unquote(response_tokens[key])
response_tokens['unique_id'] = unique_id
return response_tokens
views.py
def wallet(request):
paypal=PayPal()
pp_mass=paypal.MassPay('test01@test01.fr', '260', 'TEST', 'test01@test01.fr')
return render(request, "wallet/wallet.html", {})
views.py
Type str doesn't support the buffer API
error : for token in response.split('&'):
L'argent est bien transféré quand la vue est appelé mais je reçois une erreur qui empêche que la page se charge(500).
Dernière modification par Alone9 (10-04-2015 07:11:29)
Hors ligne
Bonjour,
Si tu utilises Python3, il semble que la lib ne soit pas totalement compatible.
Hors ligne
Oui, mais quel lib n'est pas compatible ? Il n'y a pas d'équivalence en Python3 ?
Hors ligne