este é o meu código:
def test(request):
paypalrestsdk.configure({
"mode": "security-test-sandbox",
"client_id": "XXXXXXX-XXXX-XXXX-XXXX",
"client_secret": "XXXXXXX-XXXX-XXXX-XXXX" })
payment = paypalrestsdk.Payment({
"intent": "sale",
"payer": {
"payment_method": "credit_card",
"funding_instruments": [{
"credit_card": {
"type": "visa",
"number": "4417119669820331",
"expire_month": "11",
"expire_year": "2018",
"cvv2": "874",
"first_name": "Joe",
"last_name": "Shopper" }}]},
"transactions": [{
"item_list": {
"items": [{
"name": "item",
"sku": "item",
"price": "1.00",
"currency": "USD",
"quantity": 1 }]},
"amount": {
"total": "1.00",
"currency": "USD" },
"description": "This is the payment transaction description." }]})
if payment.create():
print("Payment created successfully")
else:
print(payment.error)
return render(request, "test.html")
Ao executar o comando payment.create() ocorre o erro: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failed (_ssl.c:590). Estou usando Mac. por favor me diga o porquê?
Responder1
Eu tive o mesmo problema e foi isso que descobri e como resolvi:
A versão Python fornecida pela Apple está desatualizada em relação ao openssl. Você pode testar sua versão acessando o terminal:
python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 0.9.8zh 14 Jan 2016
Acima está a versão ruim. Uma solução é instalar uma nova versão do python. A maneira mais fácil é provavelmente usar cerveja caseira comodescrito aqui.
Abaixo está semelhante ao que você deve ver com uma versão atualizada do python. Então o paypalrestsdk funcionará.
python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 1.0.2h 3 May 2016