이것은 내 코드입니다.
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")
Payment.create() 명령을 수행하면 오류가 발생합니다: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 경고 핸드셰이크 실패(_ssl.c:590) . 저는 Mac을 사용하고 있습니다. 내게 이유를 말해줘?
답변1
나는 같은 문제를 겪었고 이것이 내가 찾은 것과 해결 방법입니다.
Apple에서 제공하는 Python 버전은 openssl과 관련하여 최신 버전이 아닙니다. 터미널로 이동하여 버전을 테스트할 수 있습니다.
python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 0.9.8zh 14 Jan 2016
위는 나쁜 버전입니다. 한 가지 해결 방법은 새 버전의 Python을 설치하는 것입니다. 가장 쉬운 방법은 아마도 홈 브루를 다음과 같이 사용하는 것입니다.여기에 설명되어 있습니다.
아래는 업그레이드된 Python 버전에서 볼 수 있는 것과 유사합니다. 그러면 paypalrestsdk가 작동할 것입니다.
python
>>> import ssl
>>> print ssl.OPENSSL_VERSION
OpenSSL 1.0.2h 3 May 2016