5.1. Müşteri Limit Bilgilerini Getir
Müşteri bilgilerini ve/veya taksit planını getirmek için kullanılır. Eğer müşteri daha önce Haso başvurusu yapmışsa başvuru servisinde dönen ödeme planı cevabında işlemi yapan müşterinin CustomerId parametresi de döner. Müşteriye özel üretilen bu unique bilgiyi kendi veritabanınıza kaydettiğinizde müşteri tekrar ödeme sayfanıza geldiğinde taksitler ile birlikte müşterinin limit bilgilerini de bu servis ile gösterebilirsiniz.
Servis Url: {SERVIS_URL}/Index/GetCustomerInformation
merchantId
String
Z
Haso tarafından size verilen sabit parametredir.
ipAddress
String
O
İstek yapan istemcinin ip adresi. (Önemli: Lokal makinenizde yapacağınız denemelerde mutlaka dış IP adresini gönderdiğinizden emin olun)
customerId
String
O
Müşterinin önceki başvurusu cevabında size gönderilen müşteriyi tanımlayan unique değerdir. Eğer yeni müşteri ise null gönderebilirsiniz.
orderAmount
String
Z
Sipariş tutarı. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.
notCalculateFees
Bool
O
Ekstra ücret hesaplanmaması isteniyorsa true gönderilmeli.
forceRiskFreeEvaluate
Bool
O
true geldiğinde riskli müşterilerden ilk taksiti peşin olarak almayacak şekilde ayarlanır
postponeSelected
Bool
O
Taksitler ertelemeli olarak hesaplanacak ise true gönderilir. False ise taksitlerde erteleme yapılmaz.
RevisedFeeRate
İnt
O
Fee değerinde yapılacak değişikliği belirten değerdir. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır. 0 gönderilirse veya gönderilmezse fee değerinde değişiklik yapılmaz. 20 gönderilirse yeni fee değeri orjinal feenin %20’sidir.
availableLimit
int
O
Satıcı tarafında müşterinin anlık limiti tutuluyorsa peşin ödeme hesabı için availableLimit hasoya bu parametre ile gönderilir. Ondalık sayıdan kurtarmak için 100 ile çarparak gönderiniz. Dikkat: Bu parametre 0'dan büyük gönderilirse Haso tarafında limit kontrolü yapılmaz. Sadece limit aşımı peşin ödeme hesaplaması yapılır.
requestToken
String
Z
merchantId + ipAddress + customerId + orderAmount + merhant_salt parametreleri ile sha256 algoritması ve HMAC(http://en.wikipedia.org/wiki/Hash-based_message_authentication_code) yöntemi ile şifreleyerek token oluşturur. Sonrasında token'ı base64 hale dönüştürür. token oluşturma için örnek kodlarımızı inceleyiniz.
basketList
List model
O
Sepette bulunan ürünleri aşağıdaki bilgileri gönderilirse erteleme, peşinat, taksit sayısı ve işlem ücreti gibi hesaplamalarda özelleştirme yapılabilir.
basketList.skuCode
String
O
Ürününüzün sku kodudur.
basketList.skudefinitionId
String
O
Ürün grubu kodudur.
basketList.skuAmount
İnt
O
Ürün tutarının 100 ile çarpılmış halidir.
basketList.skuMerchant
String
O
Ürünün satan satıcıya verdiğiniz koddur.
basketList.skuMerchantContributionRate
İnt
O
Taksit planında çıkan fee değerinin ürünün sepetteki oranına göre hangi satıcı ürünü için ne kadar fee olacağı hesaplanabilir. Böylelikle satıcı bazlı fee hesaplanabilir.
Giriş parametreleri Servis Url adresine WebRequest ile post isteği yapılır. İstek sonucunda Json olarak response döner.
Çıkış Parametreleri
Success
bool
Yapılan isteğin başarılı sonuç dönüp dönmediğini bildirir. False dönerse Errors parametresi doludur. True dönerse Data parametresi doludur.
Errors
List<string>
Success=false ise işlem ile ilgili hataları liste şeklinde getirir.
Data
Dictionary<string, object>
Eğer success=true ise key-value şeklinde data döner.
Data parametresinde müşteri limit bilgileri ile taksit değerleri vardır. Data parametresi içeriği ise şöyledir:
Data[“FirstPaymentDate”]
DateTime
İlk ödeme günüdür.
Data[“DownPaymentAmount”]
Decimal
Limit aşımı durumunda peşin alınacak tutar değeridir.
Data["DownPaymentType"]
string
Limit aşımında peşin alma olacaksa hangi kuraldan olduğunu belirten değerdir.
Data[“PostponeEnabled”]
Bool
Taksit Erteleme seçilip seçilemeyeceğini belirtir.
Data[“CustomerInfo”]
Müşteri limit bilgilerini içeren modeldir. Bu modele ait parametreler şöyledir.
CustomerInfo.customerID
String
Requestte gönderilen CustomerId değeridir.
CustomerInfo.customerLimit
Decimal
Müşterinin kullanılabilir limitidir.
CustomerInfo.specialLimit
Decimal
Müşteriye atanan özel limit değeridir.
CustomerInfo.initialLimit
Decimal
Müşterinin ilk limit aldığı andaki değerdir.
CustomerInfo.extraLimit
Decimal
Müşterinin belirli skularda kullanabileceği ek limit değeridir.
CustomerInfo.diffExtraAndCustomerLimit
Decimal
Müşterinin ek limiti ile geçerli limiti arasındaki farktır.
CustomerInfo.hasOverduePayments
Bool
Müşterinin vadesi geçen ödenmemiş ödeme kaydı olup olmadığı bilgisini verir.
CustomerInfo.totalOrderedAmount
Decimal
Müşterinin toplam başarılı sipariş tutarıdır.
CustomerInfo.totalPaidAmount
Decimal
Müşterinin taplam ödeme yaptığı tutardır.
CustomerInfo.totalRemainingAmount
Decimal
Müşterinin ödemesi gereken toplam tutardır.
CustomerInfo.balanceAmount
Decimal
Müşterinin sahip olduğu bakiye tutarıdır.
CustomerInfo.isNeedLimitRequest
Bool
Eğer bu parametre True ise Limit sorgusu yapılması gerekmektedir.
CustomerInfo.limitIncreased
Bool
Farklı zamanlarda segment cap limitlerinde değişiklik yapılabilir. Müşterinin de limitinde artış meydana gelebilir. Eğer limiti artmışsa bu parametre true yapılır. Müşteriye limitinin arttığını bilgilendirmek isteyebilirsiniz.
CustomerInfo.dealerSegment
String
Müşterinin geçerli satıcı segmentidir.
CustomerInfo.hasoSegment
String
Müşterinin geçerli haso segmentidir.
CustomerInfo.limitValidityDate
DateTime
Limit geçerlilik tarihidir.
Data[“Installments”]
List
Sipariş tutarına göre kaç taksit olacaksa o sayıda item’a sahip bir liste gelir.
Listenin içindeki her bir taksit modeline ait alanlar ise şöyledir.
Installments.InstallmentNo
Int
Kaç taksit olacağını belirten taksit sayısıdır.
Installments.Price
Decimal
Taksit tutarıdır.
Installments.TransactionPrice
Decimal
Sipariş tutarıdır. Ekstra ücretler eklenmiş taksitler ilave olan tutar değildir. Taksitleri getirmek için orderAmount parametresi olarak gönderdiğiniz değerdir.
Installments.TotalAmount
Decimal
Toplam işlem tutarıdır.
Installments.downPayment
Decimal
Taksit kaydı eğer peşin alınacak ise bu tutar ile gösterilir.
Installments.downPaymentType
String
peşin alma olacaksa hangi kuraldan dolayı olduğunu belirtir
Installments.Fee
Decimal
Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.
Installments.originalFee
Decimal
Fee değerinde indirim yapıldığını göstermek için kullanılır. üstü çizili değerdir. İşlem ücreti listelerindeki değerdir.
Installments.feeDiscountCampaigns
List
Fee indirimi uygulanan kampanya adı ve indirim oranlarını listeler
Installments.merchantContributions
List
Requestte basketList parametresinde gönderilen skuMerchantContributionRate değerine göre hangi satıcının ne kadar işlem ücretini karşılayacağı gösterilir.
Installments.merchantContributions.skuCode
string
basketList ile gönderilen sku
Installments.merchantContributions.skuMerchant
string
basketList ile gönderilen merchant kodu
Installments.merchantContributions. skuMerchantContributionAmount
Decimal
Merchant için hesaplanan işlem ücreti katkı bedeli
Installments.PaymentPlan
List
Her taksit değeri için ödeme planını list olarak gösterir. Bu modele ait alt parametreler ise şöyledir.
Installments.PaymentPlan. InstallmentNo
Int
Ödeme planındaki taksit numarasıdır.
Installments.PaymentPlan. installmentPayment
Decimal
Ödeme planındaki taksitin tutarıdır.
Installments.PaymentPlan. termDate
Date
Ödeme planındaki taksidin vade tarihidir.
Installments.PaymentPlan.fee
Decimal
İşlemdeki fee değerinin taksit başına düşen değeri
Installments.PaymentPlan.originalFee
Decimal
İşlemdeki original fee değerinin taksit başına düşen değeri
Last updated