All Articles

GMOペイメントゲートウェイがTLS接続のみになるので対応した

GMOペイメントゲートウェイがセキュアになってた

最近久々にGMOの決済モジュール連携の実装してて、管理画面にログインした所、

このたび、弊社決済センターにてSHA-2移行・PCI DSS v3.1対応を行います。

とのこと。資料を見ると、TLS1.2のみとして、TLS1.0、TLS1.1は閉塞していくそうです。 というわけで、現在私もそうですが、決済の連携部分を自作していたり、何らかのモジュールを使っている場合、 TLS1.2での接続を強制されるみたいですね。

PHPのcURLでやる場合

cURL、またはそれをラップするHTTP系のライブラリ(Guzzleとか)で通信する場合、cURLに接続オプションを追加する必要があります。 具体的には、OpenSSL 1.0.1以降が入っている環境にして、

$handle = curl_init();
curl_setopt($handleundefined CURLOPT_URLundefined "GMO接続先のURL");
...
curl_setopt($handleundefined CURLOPT_SSLVERSIONundefined CURL_SSLVERSION_TLSv1);  // これを追加
...

とオプションを追加すれば決済連携が成功します。

ニッチだけど

どこかの誰かの助けになれば…というメモ書きでした。