2017-12-20 28 views
4

私はストライプ支払いゲートウェイをサンドボックスモードで実装しています。私はチェックアウトプロセスを組み込み、サーバーが料金を作成するためにAPIを呼び出すために使用するトークンを作成しました。ローカルenvからストライプチャージAPIを呼び出す際のTLSの問題

使用API​​のバージョンは次のとおりです。stripe.api_version = '2017-06-05'

charge = stripe.Charge.create(
    amount=1000, 
    currency="usd", 
    description="Example charge", 
    source=token, 
) 

私は、この電荷は、APIを作成する呼び出すと、私は次のエラーが表示されます

b'{\n "error": {\n "type": "invalid_request_error",\n
"message": "Stripe no longer supports API requests made with TLS 1.0. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls ."\n }\n}\n'

ローカルマシンに電荷を作成するために使用されるストライプAPIは以下のとおりです。

POST: https://api.stripe.com/v1/charges 

どうすればローカルマシンで動作させることができますか?

しかし、私はAWSにそれを配備しています。

答えて

4

ローカルのPythonインタープリタは、TLS 1.2をサポートしていない古いバージョンのOpenSSLとリンクしています。これを確認するには、

$ python -c "import ssl; print(ssl.OPENSSL_VERSION)" 

TLS 1.2を使用するにはOpenSSL 1.0.1以上が必要です。

あなたがOS Xを使用している場合は、この問題を解決する最も簡単な方法は、使用Homebrewパッケージマネージャにある:

$ brew update && brew upgrade && brew install openssl && brew install python 

あなたが使用している場合、上記のコマンドラインの末尾にpython3pythonを交換してくださいPython 3

+0

'$ python -c" import ssl; print(ssl.OPENSSL_VERSION) "'を実行すると、最初に 'OpenSSL 0.9.8zh 2016年1月14日'になりました。しかし、 '$ brew update && brew upgrade && brew install openssl && brew install python3'を実行すると、' openssl 1.0.2n'が表示されます。しかし、私のプロジェクトの仮想環境では、バージョンは変更されません。仮想環境内で 'OpenSSL 0.9.8zh 2016年1月14日'と書いてあります。 –

+0

@AnkitaGuptaこれはあなたのvirtualenvがOS XのデフォルトのPython( '/ usr/bin/python' brewによってインストールされたもの( '/ usr/local/bin/python3')の代わりに。 – Ywain

関連する問題