Taksit / Komisyon Bilgileri

C# Örneği
// API isteğinin yapılacağı endpoint linki
var api_url = "https://yourdomain.com/api/live";

// API hesabına ait güvenlik anahtarı
var secret_key = "İmzaPos panelinden aldığınız güvenlik anahtarı";

// Parametreler
var parameters = new Dictionary<string, string>
{
// İmzaPos panelinden aldığınız bayi kodu
    { "merchant", "Bayi kodunuz" },
    { "mode", "installments" },
    { "customer_ip", "192.168.1.0" },
};

// Parametreler başlıklarına göre alfabetik olarak sıralanır
var sortedParameters = parameters.OrderBy(k => k.Key);

// Parametreler birleştirilir.
var joinParameters = string.Join("ip", sortedParameters.Select(v=> v.Value));

// Parametreler hash'lenir.
var hashedParameters = ComputeSha256Hash(joinParameters + secret_key);

parameters.Add("hash", hashedParameters);

try
{
    var client = new HttpClient();
    var content = new FormUrlEncodedContent(parameters);
    var response = await client.PostAsync(api_url, content);

    // Değer alınır
    var responseString = await response.Content.ReadAsStringAsync();
}
catch (Exception)
{
// Hata oluştu
    throw;
}

// SHA256 Metodu
static string ComputeSha256Hash(string rawData)
{
    using (SHA256 sha256Hash = SHA256.Create())
    {
        var bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData));

        var builder = new StringBuilder();
        for (int i = 0; i < bytes.Length; i++)
        builder.Append(bytes[i].ToString("x2"));
                    
        return builder.ToString();
    }
}

Ödeme işlemleri sırasında kullanılan installment parametresine koyulabilecek değerleri bu servis ile öğrenebilirsiniz.

Dönen değerler içerisinde bank değeri ile hangi bankaların kullanılabileceği bilgisini, pos değeri ile hangi posların kullanılabileceği bilgisini alabilirsiniz

Ayrıca commissions değerleri o banka ve pos için belirlenen taksit değerinde ne kadar komisyon alınacağını gösterir

Parametreler

Parametre Zorunlu Açıklama
mode Zorunlu string Değer installments olarak gönderilmelidir.
merchant Zorunlu string İmzaPos paneli üzerinden aldığınız bayi kodu alanını bu bölüme yazmalısınız.
lang Opsiyonel string Bu değer varsayılan olarak tr'dir. Eğer cevabı farklı bir dilde almak istiyorsanız bu bölüme dil kodunu yazmalısınız. Desteklenenler: tr
customer_ip Zorunlu string İşlem yapan müşterinin IP adresini bu bölümde iletmelisiniz.
hash Zorunlu hash İşlemi yapan API kullanıcısının tespiti için bu parametrenin gönderilmesi zorunludur. Güvenlik için gönderilen tüm parametrelerin sha256 formatında hash'lenmesi gerekmektedir.

Hash (Güvenlik kodu) Üretilmesi

Hash bilgisi gönderilen bilgileri teyit amaçlı alınan şifrelenmiş bir değerdir. Gönderilen parametrelerin belli bir format üzerinde birleşmesi sonucu bu değer üretilir. Oluşturulan değer İmzaPos tarafında aynı işlemler yapıldığında üretilen değer ile aynı olmalıdır.
Bu değeri oluşturmak için izlenecek adımlar şu şekildedir:
1- Zorunlu tüm parametreler ve ek olarak opsiyonel eklenene parametrelerin gönderimi sağlanır
2- Parametreler isimlerine göre alfabetik olarak sıralanıp bir string değer olarak birleştirilir.
3- Her parametre arasına "ip" harfleri yazılır
4- Oluşturulan string değer sha256 hash formatına dönüştürülür.
5- İstek yapılan endpoint'in "hash" parametresinde bu değer gönderilir.

Banka Kodları

Banka Banka Kodu Banka Banka Kodu
Garanti Bankası5Akbank10
Finansbank15Isbank20
Halkbank25HSBC30
Denizbank35YapiKredi40
Vakifbank45KuveytTurk50
Asya55Sekerbank60
Teb65Turkiyefinans70
Albaraka75ING80
Aktifbank85Ziraat90
Anadolu95

Poslar

Pos Pos Kodu
Paratika1000