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

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

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

Parametre adı
Tipi
Açıklama

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.

Parametre adı
Tipi
Açıklama

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