5.3. Yeni İşlem Oluşturma
Limiti olan (Kkb sorgusuna ihtiyaç olmayan) bir müşterinin CustomerId’si ile yeni işlem oluşturabilmek için kullanılır. Gönderilen sipariş tutarına göre müşteri ve satıcı limitleri ile diğer validasyonlar kontrol edilerek uygunluk sağlanırsa işlem sonucunda Ödeme Planı servis edilir. Aksi durumda hata mesajı kontrol edilmelidir.
Servis Url: {SERVIS_URL}/RequestV2/CreateTransaction
Giriş Parametreleri
merchantId
String
Z
Haso tarafından size verilen sabit parametredir.
ipAddress
String
O
İstek yapan istemcinin ip adresi
orderAmount
String
Z
Sipariş tutarı. 100 ile çarparak gönderiniz. Ondalık basamak olmamalıdır.
selectedInstallment
İnt
Z
Müşterinin seçtiği taksit kaydının InstallmentNo değeridir.
customerId
String(10)
Z
Haso sisteminde müşterinin sahip olduğu unique değerdir. Limit tanımında size gönderilmişti.
basketList
List model
O
Sipariş içeriğindeki ürün bilgileri şu modelde gönderilebilir. Her ne kadar opsiyonel olsa da gönderilmesi durumunda peşinat gibi çeşitli kontroller daha iyi yapılabilmektedir. "basketList": [ { "skuCode": "Barkod veya Ürün Kodu", "skudefinitionId": "Kategori", "skuAmount": 71999, "skuMerchant": "Marka veya Satıcı", "skuMerchantContributionRate": 0, "productName": "Ürün İsmi", "productUrl": "Ürünün Satıcının sitesindeki url adresi", "productImage": "Ürünün görseli url adresi" }, { "skuCode": "Barkod veya Ürün Kodu", "skudefinitionId": "Kategori", "skuAmount": 71999, "skuMerchant": "Marka veya Satıcı", "skuMerchantContributionRate": 0, "productName": "Ürün İsmi", "productUrl": "Ürünün Satıcının sitesindeki url adresi", "productImage": "Ürünün görseli url adresi" } ]
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
0
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 + customerId + merchantOid + selectedInstallment + ipAddress + 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. Örnek token oluşturma için örnek kodlarımızı inceleyiniz.
merchantOid
String(20)
Z
Kendi sisteminizde oluşturduğunuz sipariş için unique verdiğiniz sipariş numaranızdır.
userAddress
Model
O
Siparişin teslimat adresi bilgileri şu modelde gönderilebilir. Her ne kadar optiyonel olsa da gönderilmesi durumunda fraud kontrolleri daha iyi yapılabilmektedir. "userAddress": { "userNameSurname": "Nilüfer Bursalı", "countryName": "TÜRKİYE", "cityName": "BURSA", "townName": "NİLÜFER", "detail": "Abc Mahallesi Abc Caddesi Abc Sitesi B Blok D:1", "postalCode": "16240", "phone": "+90 516 111 22 33" }
Giriş parametreleri Servis Url adresine WebRequest ile post isteği yapılır. İstek sonucunda Json olarak response döner.
Çıkış Parametreleri
Form["Success"]
bool
işlemin başarılı sonuç dönüp dönmediğini bildirir. False dönerse Errors parametresi doludur. True dönerse ödeme planını kendi veritabanınıza kaydedebilir ve siparişinizi aktif edebilirsiniz.
Form["Errors"]
List<string>
Success=false ise işlem ile ilgili hataları liste şeklinde getirir.
Form["Data"]
Dictionary<string, object>
Eğer success=true ise key-value şeklinde data döner.
Success=true olduğunda Form["Data"]["TransactionPayments"] parametresi içeriği şöyledir.
TransactionCode
String
Haso sistemindeki işlem numarası.Bu numarayı kendi sipariş numaranız ile birlikte kendi veritabanınızda saklamanızı tavsiye ederiz.
MerchantOid
String
Başvuru esnasında gönderdiğiniz kendi sipariş numaranız.
CustomerId
String
İşlemin sahibi olan müşteriyi tanımlayan unique bir değerdir.
TotalAmount
Decimal
Toplam işlem tutarıdır.
downPayment
Decimal
Bu işlem için müşteriden alınması gereken peşinat tutarını gösterir.
downPaymentType
String
Peşinat alınacaksa hangi kuraldan dolayı alınacağı belirtilir.
Fee
Decimal
Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.
TransactionPayments
List
İşleminize ait ödeme planınızdır. Liste halinde aşağıdaki alanları içerir.
TransactionPayments.InstallmentNo
Int
Taksit numarasıdır.
TransactionPayments.InstallmentPayment
Decimal
Ödenmesi gereken taksit tutarıdır.
TransactionPayments.TermDate
DateTime
Taksitin vade tarihidir.
TransactionPayments.PaymentCode
String
Her ödeme kaydı için verilen unique bir değer.
TransactionPayments.fee
Decimal
Taksit kaydına düşen fee değeridir.
TransactionPayments.feeDiscountCampaigns
List
Fee indirimi uygulanan kampanya adı ve indirim oranlarını listeler
ÖNEMLİ: Bu aşamada yani Başvuru isteğini gönderip success aldığınızda Haso tarafında işlem henüz aktiflenmemiştir. İşlem “Sipariş Durumu Bekleniyor” durumunda olacaktır. Başvuru isteğinden success aldıktan sonra kendi siparişinizi sisteminizde aktif edip sonrasında Hasoya UpdateTransaction ile tekrar bir istekde bulunarak işlemi aktif etmeniz gerekmektedir. Aksi halde işlem Haso tarafında işlem aktif olmayacak ve müşteri limiti düşmeyecektir.
Last updated