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

Parametre adı
Parametre Tipi
Z/O
Açıklama

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

Parametre adı
Tipi
Açıklama

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:

Parametre adı
Tipi
Açıklama

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.

Parametre adı
Tipi
Açıklama

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