TLS 1.2 Gerekliliği

TLS v1.2 Gerekliliği Hakkında

Kartlı Ödeme Endüstrisi Veri Güvenlik Standardı Kurulu (PCI SSC) tüm kredi kartı işleyen kuruluşların güncel TLS versiyonu ile iletişim kurmasını gerekli kılmıştır.

Bu gerekliliğin sonucunda, Mart 2018 itibariyle tüm iyzico servislerine erişilirken HTTPS bağlantısında TLS 1.2 kullanılmalıdır.

iyzico Müşterileri İçin Güncelleme Rehberi:

Python

Python 2.6 versiyonu Mart 2018 tarihinden sonra desteklenmeyecektir. Mart 2018 tarihine kadar Python versiyonunuzu minimum 2.7.9 a yukseltmeniz beklenmektedir. Versiyon guncellemesinin ardından guncel iyzipay-python kutuphanesini kullanmanız gerekmektedir.

Sample Code to Test iyzipay-python TLS 1.2 update
import iyzipay

options = {
    'base_url': 'sandbox-api-tls12.iyzipay.com'
}

api_test = iyzipay.ApiTest().retrieve(options)

print(api_test.read().decode('utf-8'))

Ruby

Ruby 1.9.3 versiyonu Mart 2018 tarihinden sonra desteklenmeyecektir. Mart 2018 tarihine kadar Ruby versiyonunuzu minimum 2.0.0 a yukseltmeniz beklenmektedir. Versiyon guncellemesinin ardından guncel iyzipay-ruby kutuphanesini kullanmanız gerekmektedir.

Sample Code to Test iyzipay-ruby TLS 1.2 update
RSpec.describe 'Iyzipay' do
  before :all do
    @options = Iyzipay::Options.new
    @options.base_url = 'https://sandbox-api-tls12.iyzipay.com/'
  end

  it 'should test tls 1.2 support' do
    api_test = Iyzipay::Model::ApiTest.new.retrieve(@options)
    begin
      api_test = JSON.parse(api_test)
      expect(api_test['status']).to eq('success')
    rescue
      $stderr.puts 'oops'
      raise
    end
  end
end

Java

Java 1.8

Herhangi bir değişiklik yapılmasına gerek bulunmamaktadır. TLS 1.2, Java 1.8 de varsayılan olduğu için iyzico tarafından önerilmektedir.

Java 1.7

Güncel iyzipay-java Kütüphanesi kullanılmalıdır.

Java 1.6

Public Oracle Java 6 release'leri TLSv1.2'yi desteklememektedir. Fakat paid-for release'lerden update 121 ile java 6'ya gelen TLSv1.2 desteği kullanılabilir.

Aşağıdaki çözümü uygulayabilirsiniz:

  1. Eğer halihazırda javanın bu update'li versiyonunu kullanıyorsanız, official iyzipay-java client'ın son versiyonuna upgrade olmanız gerekiyor.
  2. Eğer halihazırda javanın bu update'li versiyonunu kullanmıyorsanız, oracle support ile iletişime geçerek bu versiyona upgrade olmanız gerekiyor, çünkü bu update'i Oracle sadece paid müşterileriyle paylaşıyor. Fakat bizim önerdiğimiz çözüm java 7 veya java 8'e upgrade olmanız.
Java 1.5

TLS v1.2 desteklenmemektedir.

Sample Code to Test iyzipay-java TLS 1.2 update
@Test
public void should_test_tls_12_update() {
   Options options = new Options();
   options.setBaseUrl("https://sandbox-api-tls12.iyzipay.com");

   IyzipayResource iyzipayResource = ApiTest.retrieve(options);

   System.out.println(iyzipayResource);
   assertEquals(Status.SUCCESS.getValue(), iyzipayResource.getStatus());
}

.NET

Güncel iyzipay-dotnet kütüphanesi kullanılmalıdır.

Sample Code to Test iyzipay-dotnet TLS 1.2 update
[Test]
public void Should_Test_TLS_12_Update()
{
   Options options = new Options();
   options.BaseUrl = "https://sandbox-api-tls12.iyzipay.com";

   IyzipayResource iyzipayResource = ApiTest.Retrieve(options);

   PrintResponse<IyzipayResource>(iyzipayResource);
   Assert.AreEqual(Status.SUCCESS.ToString(), iyzipayResource.Status);
}

Node

Güncel iyzipay-node kütüphanesi kullanılmalıdır.

Sample Code to Test iyzipay-node TLS 1.2 update
describe('TLSv_1_2Test', function () {

        it('should test tls v1.2 secure protocol', function (done) {
            options.uri = 'https://sandbox-api-tls12.iyzipay.com/';

            var iyzipay = iyzipay = new Iyzipay(options);
            iyzipay.apiTest.retrieve({}, function (err, result) {
                result.should.not.null;
                result.status.should.be.equal('success');
                result.systemTime.should.not.null;
                done();
            });
        });
});

PHP

PHP ortamında openssl 1.0 Mart 2018 tarihinden sonra desteklenmeyecektir. Openssl versiyonunuzu minimum 1.0.1 e yukseltmeniz gerekmektedir.

Sample Code to Test iyzipay-php TLS 1.2 update
use Iyzipay\ApiResource;
use Iyzipay\Model\Locale;

class TLSv12Test extends \PHPUnit_Framework_TestCase
{
    public function test_function_should_get_success_response()
    {
        $rawResponse = ApiResource::httpClient()->get("https://sandbox-api-tls12.iyzipay.com/payment/test");
        $jsonResponse = json_decode($rawResponse,true);
        $this->assertEquals("success", $jsonResponse["status"]);
        $this->assertEquals(Locale::TR, $jsonResponse["locale"]);
        $this->assertNotNull($jsonResponse["systemTime"]);
    }
}

Testing

TLS 1.2 güncellemesini test etmek için https://sandbox-api-tls12.iyzipay.com/ endpointini kullanabilirsiniz.

Support

Sorularınızı Github sayfamızdan iletebilir veya integration@iyzico.com adresine mail atabilirsiniz.