C#
Altyapının kurulumu
https://baget.klogs.io/v3/index.json NuGet kaynağından:
Klogs.PaymentGateway.ClientKlogs.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;
};
});
Secretkısmına tarafınıza iletilen key girildikten sonra altyapı entegrasyonunuz tamamlanmış olacaktır. Tebrikler!
Ortak Ödeme Sayfasına Yönlenmek
Klogs.PaymentGateway.Client.Abstractionpaketi tarafından sağlananIHostedPaymentHttpClientarayüzü constructor injection yöntemi ile enjekte edilir._hostedPaymentHttpClient.CreatePayment()metodunu kullanarak ortak ödeme sayfasının adresi oluşturulur.CreatePaymentmetoduHostedPaymentRequestmodelini 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ı)
- İlgili adımlar tamamlandıktan sonra başarılı bir istek sonucunda ortak ödeme sayfası URL'si alınır.
- Bu URL'ye yönlendirilen müşteri kart bilgilerini girer ve ödeme işlemini tamamlar.
- Sistem otomatik olarak
ReturnURLadresine yönlendirme yapar. - Ödeme durumunu öğrenmek için
IPaymentTransactionHttpClientarayüzü kullanılmalıdır. _paymentTransactionHttpClient.DetailAsync()metodu ile ödeme sorgulaması yapılır.- Sorgulama için ödeme isteği oluşturulurken gönderilen
Referencekullanılır. - Cevap olarak
TransactionDetailResponsemodeli alınır.

