# Yeni İşlem Oluşturma

FORM POST /ServletV2/Transaction

Host: {SERVIS\_URL}

Content-Type: text/html

Yeni bir sipariş talebi başlatmak için kullanılan methoddur. Gönderilen veriler doğrulanması durumunda istek **HASO** URL’sine yönlendirilecektir. **customerId** parametresi sağlanırsa müşteri tanınacak, doğrulanmış ve limiti bulunan bir müşteriyse **HASO** arayüzlerinden **Taksit Planı** adımı ile devam edecektir. Aşağıda **Giriş** ve **Çıkış** parametreleri detaylı olarak bulunabilir.

#### **Giriş Parametreleri**

<table data-full-width="true"><thead><tr><th width="159">Ad</th><th width="80">Tipi</th><th width="62">Z/O</th><th>Açıklama</th></tr></thead><tbody><tr><td>token</td><td>String</td><td>Z</td><td>/Index/GetToken methodundan elde edilen token bilgisi</td></tr><tr><td>orderAmount</td><td>String</td><td></td><td>Gönderilecek değer 100 ile çarpılarak gönderilmelidir ondalık basamak nokta yada virgül içermemelidir. Örn: 500 TL lik bir alışveriş için 500*100 = 50000 değeri gönderilmelidir.</td></tr><tr><td>merchantId</td><td>String</td><td></td><td><strong>HASO</strong> tarafından verilen sabit parametredir.</td></tr><tr><td>okUrl</td><td>String</td><td>Z</td><td>Sipariş başarılı olarak tamamlanırsa HASO Sistemi tarafından <strong>FORM POST</strong> edilecek URL adresiniz.</td></tr><tr><td>failUrl</td><td>String</td><td>Z</td><td>Sipariş başarısız olarak tamamlanırsa ya da iptal edilirse <strong>HASO</strong> Sistemi tarafından FORM POST edilecek URL adresiniz.</td></tr><tr><td>callbackUrl</td><td>String</td><td>Z</td><td>Siparişin başarılı olması ve müşterinin <strong>HASO</strong> UI ekranlarında tamamlanmış olduğu halde işlemi yarıda bırakması tarayıcısını kapatması gibi durumlarda E-Ticaret sistemine failURL veya okURL dönüşü sağlanamazsa sipariş bildiriminin kesilmemesi için <strong>HASO</strong> tarafından E-Ticaret sistemine bildirimin sağlanmasını garanti edecek URL.</td></tr><tr><td>IpAddress</td><td>String</td><td>O</td><td>İsteği yapan müşterinin gerçek IP Adresi loglama ve herhangi bir sorun durumunda kullanılacak veridir.</td></tr><tr><td>merchantOid</td><td>String</td><td>Z</td><td>Sizin tarafınızdan oluşturulan benzersiz olması gereken <strong>HASO</strong> işlem numarası ile eşleştirilmiş kendi sipariş numaranızdır. Siparişe ait tanımlayıcıdır. Örn: 1905231436-1</td></tr><tr><td>customerId</td><td>String</td><td>O</td><td>Her başarılı işlemin sonunda <strong>okUrl</strong> adresinize <strong>POST</strong> edilen verilerin içinde tarafınıza dönülecek doğrulanmış müşterilerin tanımlayıcı numarasıdır. Bir sonraki İşlem oluşturma isteklerinde gönderilirse ilgili müşteri <strong>HASO</strong> tarafından tanınacaktır.</td></tr><tr><td>mobileNumber</td><td>String</td><td>Z</td><td>GSM numarası ilk basamağında 0 içermeyen 10 haneli olarak aşağıdaki formatta sağlanmalıdır. Format : ########## örn : 5536616020</td></tr><tr><td>birthDate</td><td>String</td><td></td><td>Doğum Tarihi Yıl-Ay-Gün aşağıdaki formatta sağlanmalıdır. Format : yyyy-MM-dd örn : 19830817</td></tr><tr><td>email</td><td>String</td><td>Z</td><td>E-Posta adresi</td></tr><tr><td>name</td><td>String</td><td>Z</td><td>Ad bilgisi</td></tr><tr><td>surname</td><td>String</td><td>Z</td><td>Soyad bilgisi</td></tr><tr><td>tckn</td><td>String</td><td>Z</td><td>TCKN bilgisi (Eğer customerId ile geliniyorsa zorunlu değildir)</td></tr><tr><td>UserAddress</td><td>String</td><td>O</td><td>Sipariş teslimat adresidir. Opsiyonel olmasına rağmen sipariş sonrası müşteri takibini kolaylaştırdığı için gönderilmesi rica olunur. Gönderilecek modelde şu parametre isimlerinde gönderilmelidir.<br>{ "<strong>UserNameSurname</strong>": "Nilüfer Bursalı", "<strong>Detail</strong>": "Abc Mahallesi Abc Caddesi Abc Sitesi B Blok D:1", "<strong>PostalCode</strong>": "16240", "<strong>TownName</strong>": "NİLÜFER", "<strong>CityName</strong>": "BURSA", "<strong>CountryName</strong>": "TÜRKİYE", "<strong>Phone</strong>": "+90 516 111 22 33" }</td></tr><tr><td>OrderItems</td><td>String</td><td>Z</td><td><p>Sipariş içeriğindeki ürün bilgilerinin gönderileceği modeli <strong>json array</strong> stringi olarak gönderilmelidir. Örnek modelde göründüğü gibi şu parametre isimlerinde gönderilmelidir.</p><p>[ { "<strong>Id</strong>": "1.Ürün Sku kodu unique kod", "<strong>Name</strong>": "1. Ürün adı", "<strong>Category</strong>": "1. Ürün kategori adı veya kodu", "<strong>Brand</strong>": "1.Ürün markası", "<strong>Variant</strong>": "1. ürün özellik örneğin renk adı", "<strong>Variant2</strong>": "1. ürün diğer özellik örneğin beden, boy vs", "<strong>Url</strong>": "Sitenizdeki 1. ürün detay adresi", "<strong>Image</strong>": "1. ürünü gösteren bir foto adresi", "<strong>Quantity</strong>": "1. ürün adedi", "<strong>Price</strong>": "1. ürün tutarı. Ondalık olmadan 100 ile çarparak int gönderilmelidir" }, { "<strong>Id</strong>": "2.Ürün Sku kodu unique kod", "<strong>Name</strong>": "2. Ürün adı", "<strong>Category</strong>": "2. Ürün kategori adı veya kodu", "<strong>Brand</strong>": "2.Ürün markası", "<strong>Variant</strong>": "2. ürün özellik örneğin renk adı", "<strong>Variant2</strong>": "2. ürün diğer özellik örneğin beden, boy vs", "<strong>Url</strong>": "Sitenizdeki 2. ürün detay adresi", "<strong>Image</strong>": "2. ürünü gösteren bir foto adresi", "<strong>Quantity</strong>": "2. ürün adedi", "<strong>Price</strong>": "2. ürün tutarı. Ondalık olmadan 100 ile çarparak int gönderilmelidir" } ]</p></td></tr></tbody></table>

####

#### Çıkış Parametreleri

<table data-full-width="true"><thead><tr><th width="439">Ad</th><th width="121">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td><strong>OkUrl</strong> callbackUrl (<strong>callbackUrl</strong> tamamlanan sipariş E-Ticaret sisteminden onaylanmaz yada <strong>okURL</strong> erişimi sağlanamazsa aynı verilerle Http 200 durum kodu alınana kadar E-Ticaret tarafının <strong>HASO</strong> sistemine çağrı yaparak siparişi onaylayana kadar istek yapılır.)</td><td>Form Post</td><td>Müşterinin siparişi <strong>HASO</strong> arayüzlerinde başarılı olarak tamamlanırsa. İstekte belirttiğiniz <strong>okURL</strong> ya da <strong>callbackUrl</strong> URL adresine aşağıdaki parametrelerle <strong>FORM POST</strong> yöntemi ile geri bildirim sağlanacaktır. Geri bildirim içerisinde bulunan veriler şöyledir;</td></tr><tr><td>Success</td><td>Bool</td><td>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.</td></tr><tr><td>Errors</td><td>List&#x3C;string></td><td>Success=false ise işlem ile ilgili hataları liste şeklinde getirir.</td></tr><tr><td>Data</td><td></td><td></td></tr></tbody></table>

Data Parametresinde taksit değerleri vardır. Data parametresi içeriği ise şöyledir;

<table data-full-width="true"><thead><tr><th width="270">Ad</th><th width="79">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>NameSurname</td><td>String</td><td>Müşteri Ad Soyad</td></tr><tr><td>CustomerId</td><td>String</td><td><strong>HASO</strong> sistemindeki müşteri numarası bir sonraki Transaction işlemlerinde customerId ile bu değer gönderilirse <strong>HASO</strong> sistemi kullanıcıyı tanıyacak ve limiti varsa Taksit Planı ekranından devam edilecektir.</td></tr><tr><td>TransactionStatus</td><td>String</td><td>İşlemin durum kodu durum kodu <strong>6</strong> olarak tarafınıza dönülen siparişler E-Ticaret tarafından /Index/UpdateTransaction isteği yapılarak aktif edilmesi gereken siparişlerdir.</td></tr><tr><td>Data[“TransactionPayments”]</td><td>String</td><td>İşleme ait ödeme planını içerek json modeldir.</td></tr></tbody></table>

Transaction Payments Model içeriği şöyledir.

<table data-full-width="true"><thead><tr><th width="363">Ad</th><th width="111">Tipi</th><th>Açıklama</th></tr></thead><tbody><tr><td>TransactionCode</td><td>String</td><td><strong>HASO</strong> sistemindeki işlem numarası. Bu numarayı kendi sipariş numaranız ile birlikte kendi veritabanınızda saklamanızı tavsiye ederiz.</td></tr><tr><td>MerchantOid</td><td>String</td><td>Sizin tarafınızdan oluşturulan benzersiz olması gereken <strong>HASO</strong> işlem numarası ile eşleştirilmiş kendi sipariş numaranızdır.</td></tr><tr><td>Fee</td><td>Decimal</td><td>Sipariş tutarı haricinde ödenecek toplam ekstra tutardır.</td></tr><tr><td>TotalAmount</td><td>Decimal</td><td>Toplam işlem tutarıdır.</td></tr><tr><td>DownPayment</td><td>Decimal</td><td>Bu işlem için müşteriden alınması gereken peşinat tutarını gösterir</td></tr><tr><td>TransactionPayments</td><td>List</td><td>Ödeme planında kaç taksit varsa o kadar item içeren listedir. Listedeki elemanların parametreleri şunlardır.</td></tr><tr><td>TransactionPayments.InstallmentNo</td><td>Integer</td><td>Taksit numarasıdır.</td></tr><tr><td>TransactionPayments.PaymentCode</td><td>String</td><td>Her ödeme kaydı için verilen unique bir değer.</td></tr><tr><td>TransactionPayments.InstallmentPayment</td><td>Decimal</td><td>Ödenmesi gereken taksit tutarıdır.</td></tr><tr><td>TransactionPayments.Fee</td><td>Decimal</td><td>Taksit kaydına düşen fee değeridir.</td></tr><tr><td>TransactionPayments.TermDate</td><td>DateTime</td><td>Taksitin vade tarihidir.</td></tr><tr><td></td><td></td><td></td></tr><tr><td><strong>FailUrl</strong></td><td>Form Post</td><td>Müşterinin siparişi <strong>HASO</strong> iptal edilirse, istekte belirttiğiniz <strong>failURL</strong> URL adresine aşağıdaki parametrelerle <strong>FORM POST</strong> yöntemi ile geri bildirim sağlanacaktır. Geri bildirim içerisinde bulunan veriler şöyledir;</td></tr><tr><td>Success</td><td></td><td></td></tr><tr><td>Errors</td><td>List</td><td>Success=false ise işlem ile ilgili hataları liste şeklinde getirir.</td></tr><tr><td>MercantOid</td><td>String</td><td>İşlem başlangıcında gönderilen Sipariş Numarası</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.haso.com.tr/yeni-islem-olusturma.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
