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.
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.
import iyzipay
options = {
'base_url': 'sandbox-api-tls12.iyzipay.com'
}
api_test = iyzipay.ApiTest().retrieve(options)
print(api_test.read().decode('utf-8'))
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.
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
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.
Güncel iyzipay-java Kütüphanesi kullanılmalıdır.
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:
TLS v1.2 desteklenmemektedir.
@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());
}
Güncel iyzipay-dotnet kütüphanesi kullanılmalıdır.
[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);
}
Güncel iyzipay-node kütüphanesi kullanılmalıdır.
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 ortamında openssl 1.0 Mart 2018 tarihinden sonra desteklenmeyecektir. Openssl versiyonunuzu minimum 1.0.1 e yukseltmeniz gerekmektedir.
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"]);
}
}
TLS 1.2 güncellemesini test etmek için https://sandbox-api-tls12.iyzipay.com/ endpointini kullanabilirsiniz.
Sorularınızı Github sayfamızdan iletebilir veya integration@iyzico.com adresine mail atabilirsiniz.