Skip to content

C#

Altyapının kurulumu

https://baget.klogs.io/v3/index.json NuGet kaynağından:

  • Klogs.PaymentGateway.Client
  • Klogs.PaymentGateway.Client.Abstraction

paketlerini kurduktan sonra, aşağıdaki gibi yapılandırma yapmanız gerekir:

csharp
builder.Services.AddPaymentGatewayClient(opt =>
{
    opt.Endpoint = "https://test-pgw.klogs.io/";
    opt.AccessTokenFactory = sp =>
    {
        var cache = sp.GetService<IDistributedCache>();

        var act = new KlogsIdpClientSecretCredential(new Klogs.Identity.Core.ClientSecretCredentialOptions
        {
            ClientId = "klogs.api",
            Secret = "key",
            Source = new Uri("https://idp.klogs.io")
        }).GetToken().AccessToken;
        return act;
    };
});

Secret kısmına tarafınıza iletilen key girildikten sonra altyapı entegrasyonunuz tamamlanmış olacaktır. Tebrikler!

Ortak Ödeme Sayfasına Yönlenmek

  1. Klogs.PaymentGateway.Client.Abstraction paketi tarafından sağlanan IHostedPaymentHttpClient arayüzü constructor injection yöntemi ile enjekte edilir.
  2. _hostedPaymentHttpClient.CreatePayment() metodunu kullanarak ortak ödeme sayfasının adresi oluşturulur.
  3. CreatePayment metodu HostedPaymentRequest modelini almalıdır.

HostedPaymentRequest Sınıfı:

  • Amount - decimal (Ödeme alınacak tutar)
  • Currency - string (TRY, USD, EUR)
  • FullName - string (Alıcı adı)
  • NationalNumber - string (Alıcı TC kimlik numarası)
  • Email - string (Alıcı e-posta adresi)
  • Explanation - string (Açıklama)
  • Phone - string (Alıcı telefon numarası)
  • Reference - string (Benzersiz referans numarası)
  • ReturnURL - string (Ödeme sonrası yönlenecek adres)
  • ChargeType - enum (DirectSale veya Provision)
  • Products - Ürün listesi (Product[])

Product Sınıfı:

  • Id - string (Ürün ID'si)
  • Price - decimal (Ürün fiyatı)
  • Quantity - double (Ürün adeti)
  • Category - string (Ürün kategorisi)
  • Code - string (Ürün kodu)
  • Description - string (Ürün açıklaması)
  1. İlgili adımlar tamamlandıktan sonra başarılı bir istek sonucunda ortak ödeme sayfası URL'si alınır.
  2. Bu URL'ye yönlendirilen müşteri kart bilgilerini girer ve ödeme işlemini tamamlar.
  3. Sistem otomatik olarak ReturnURL adresine yönlendirme yapar.
  4. Ödeme durumunu öğrenmek için IPaymentTransactionHttpClient arayüzü kullanılmalıdır.
  5. _paymentTransactionHttpClient.DetailAsync() metodu ile ödeme sorgulaması yapılır.
  6. Sorgulama için ödeme isteği oluşturulurken gönderilen Reference kullanılır.
  7. Cevap olarak TransactionDetailResponse modeli alınır.