¿Error del protocolo de enlace de alerta sslv3 (_ssl.c:590)?

¿Error del protocolo de enlace de alerta sslv3 (_ssl.c:590)?

este es mi 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")

Al ejecutar el comando Payment.create (), aparece el error: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] Fallo del protocolo de enlace de alerta sslv3 (_ssl.c:590). Estoy usando Mac. ¿por favor dime porque?

Respuesta1

Tuve el mismo problema y esto es lo que encontré y cómo lo solucioné:

La versión de Python proporcionada por Apple está desactualizada en lo que respecta a openssl. Puedes probar tu versión ingresando a la terminal:

python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 0.9.8zh 14 Jan 2016

Arriba está la mala versión. Una solución es instalar una nueva versión de Python. Probablemente la forma más sencilla sea utilizar cerveza casera comodescrito aquí.

A continuación se muestra algo similar a lo que debería ver con una versión actualizada de Python. Entonces paypalrestsdk funcionará.

python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 1.0.2h  3 May 2016

información relacionada