3. 3D Ödeme Başlatma

3D Ödeme Başlatma

POST {{Base Adres}}/api/paywall/payment/start3d

Yukarıda verilmiş olan adrese istek atmanız yeterli olacaktır. Test ortamı ve Gerçek ortam için 'Base Address' alanını değiştirmelisiniz

Önemli: Ödeme servisini kullanabilmeniz için 'Header' alanında 'apikeypublic' ve 'apiclientpublic' parametrelerini göndermeniz gerekmektedir. PaymentAPI Adresi

ParametreTipZorunluAçıklama

apikeypublic

string

Evet

Üye işyeri panelinden temin etmiş olduğunuz Public Key.

apiclientpublic

string

Evet

Üye işyeri panelinden temin etmiş olduğunuz Public Client.

Servise gönderilmesi gereken parametreler şu şekildedir:

ParametreTipZorunluAçıklama

Amount

decimal

Evet

Ödeme sepet tutarı.

MerchantUniqueCode

string

Evet

Ödeme başlatma için gönderilen istek içerisindeki MerchantUniqueCode ile aynı değer olmalıdır. Bu kod sizin tarafınızdan işleme ait verilen tekil değerdir. İptal/İade/Ödeme Sorgulama işlemlerinin hepsinde bir ödemeyi tekilleştirmeniz ve takip etmeniz için kullanılmaktadır. Uzunluk: 250 karakter

CurrencyId

int

Evet

Para birimi.

MerchantSuccessBackUrl

string

Evet

İşlem Başarılı ise gönderilecek url adres. Uzunluk: 250 karakter 🔖 FormPost atılır (Sayfanın en aşağısında)

MerchantFailBackUrl

string

Evet

İşlem başarısız ise gönderilecek url adres. Uzunluk: 250 karakter 🔖 FormPost atılır (Sayfanın en aşağısında)

Installment

int

Evet

Taksit bilgisi, tek çekim için 1 gönderilmelidir.

ClientIP

string

Evet

İşlemi gerçekleştiren tarafın IP bilgisi. Müşteri/Kullanıcı/Üye vb. Uzunluk: 15 karakter

OwnerName

string

Evet

Ödemenin alınacağı kart sahibinin adı soyadı. Uzunluk: 60 karakter

Number

string

Evet

Ödemenin alınacağı kart numarası. Uzunluk: 20 karakter

ExpireMonth

string

Evet

Ödemenin alınacağı kartın son kullanma tarihi ayı.

ExpireYear

string

Evet

Ödemenin alınacağı kartın son kullanma tarihi yılı.

Cvv

string

Evet

Ödemenin alınacağı kartın güvenlik kodu.

UniqueCode

string

Evet

Sağlayıcı tarafında saklanmış olan kart bilgisine karşılık gelen değer (X firmasında saklanmış Y kartının kimliği)

FullName

string

Evet

Üye işyeri tarafındaki alıcıya ait ad

Phone

string

Evet

Üye işyeri tarafındaki alıcıya ait GSM numarası.

Email

string

Evet

İşyeri tarafındaki alıcıya ait e-posta bilgisi.

Country

string

Evet

Üye işyeri tarafındaki alıcıya ait ülke bilgisi.

City

string

Evet

Üye işyeri tarafındaki alıcıya ait şehir bilgisi.

Address

string

Evet

Üye işyeri tarafındaki alıcıya ait kayıt adresi.

IdentityNumber

string

Evet

Üye işyeri tarafındaki alıcıya ait kimlik (TCKN) numarası.

TaxNumber

string

Evet

Üye işyeri tarafındaki alıcıya ait vergi kimlik numarası.

ProductId

string

Evet

Ürün Id.

ProductName

string

Evet

Ürün adı.

ProductCategory

string

Evet

Ürün kategorisi.

ProductDescription

string

Evet

Ürün açıklama

ProductAmount

decimal

Evet

Ürün fiyat bilgisi

DiscountOwnerType

int

Evet

Ürüne indirim uygulayan taraf Bkz: İndirim Sahibi Tipleri

DiscountType

int

Evet

Ürüne uygulanan indirim tipi Bkz: İndirim Tipleri

DiscountValue

decimal

Evet

Ürüne uygulanan indirim değer. Eğer Type 1 ve değer 10 ise 10(TL/USD/EURO) uygular ancak Type 2 ise %10 uygular

CargoType

int

Evet

Ürüne ait kargo tipi Bkz: Kargo Tipleri

CargoCurrencyId

int

Evet

Kargo maliyetinin para birimi

CargoCost

decimal

Evet

Kargo maliyeti

MemberId

int

Evet/Hayır

MarketPlace modeli için zorunludur. Alt üye işyerinin PayWall sistemindeki MemberId bilgisiyle doldurulmalıdır

ChannelId

int

Evet

WEB, MOBILE, API gibi isteklerin hangi kanaldan alındığını raporlayabilmeniz için sizlere yardımcı olur. Bu parametreyi boş ve/veya 0 göndermeniz durumunda PayWall paneli üzerinden (Belirtilmemiş) olarak raporlayacaksınız.

TagId

int

Evet

Ödemelerinize özel etiketler oluşturabilir, bu etiketlerle faturalandırma ve raporlama ekranlarında etikete özel analizler yapabilirsiniz. Örnek: XApp-Mobile, YApp-Web. Bu etiketleri üye işyeri paneli üzerinden yapabilirsiniz.

Half3D

bool

Evet

Ödemelerinizi özel bir çağrı ile finansallaştırabilmeniz için size destek olacak parametredir. Half3D parametresini true göndermeniz durumunda ödeme bitirme çağrısını siz yapana kadar ödemeniz bankada provizyonda kalacaktır.

PayWatch > Watch

bool

Evet

PayWatch devreye girsin mi?

PayWatch > WatchMin

short

Evet

Ödemeden kaç dakika sonra izlensin? Minimum: 5 | Maksimum: 20

PayWatch > ActionId

short

Evet

Ödemede bir farklılık bulunursa ne aksiyon alınsın? Bkz: PayWatch Aksiyonları

PayWatch > PaymentStatus

ArrayList<>

Evet

Ödeme hangi durumda kalırsa izlensin (Başladı, Başarısız, Sorguda Başarısız) Bkz: PayWatch Aksiyonları

PayWatch > WebhookAddress

string

Evet (Koşullu)

ActionId'nin geri bildirim yapmaya uygun olması durumunda ödemenin geri bildirim atılacak adres. Örnek: Ödemenin son durumu 'Başladı' yeni durumu 'Başarılı' gibi bilgileri içerir

MemberCustomCommission

bool

Hayır

Pazaryeri modelinde çalışan üye işyerlerinin, alt üye işyerlerine uyguladığı komisyon ürün bazında değişiklik gösterirse ve bu komisyon ürüne uygulanmak istenirse. Bu parametreyi TRUE gönderebilirsiniz

MemberCommission

decimal

Hayır

"MemberCustomCommission" bu parametreye bağlı olarak, ürüne uygulamak istediğiniz komisyon değerini % bazında verebilirsiniz

Servise gönderilecek örnek JSON ve örnek kodlar aşağıdaki gibidir.

{
    "PaymentDetail": {
        "Amount": 9.85,
        "MerchantUniqueCode": "ASLDALSKDASDLS12312AS", 
        "CurrencyId": 1,
        "MerchantSuccessBackUrl": "https://merchantsite.site.com/success",
        "MerchantFailBackUrl": "https://merchantsite.site.com/fail",
        "Installement": 1,
        "ChannelId": 0,
        "TagId": 0,
        "Half3D": false,
        "PayWatch": { // Nullable / Opsional
           "Watch": true, // İzlensin mi
           "WatchMin": 5, // Kaç dakika sonra kontrol et/izle
           "ActionId": 4, // Durum farklıysa, durumu PayWall'da değiştir ve callback at
           "PaymentStatus": [
               {
                   "Id": 2 // Başladıda olan işlemi izle
               },
               {
                   "Id": 5 // Başarısız olan işlemi izle
               },
               {
                   "Id": 7 // Sorguda başarısız olan işlemi izle
               }
           ],
           "WebhookAddress": "https://merchantwebsite.com/paywatch/callback" // Post callback atılacak adres
        }
        "MarketPlace": {
            "BasketAmount": 9.85 // Pazaryeri ödemelerinde,
            // toplam (indirimsiz ham tutarlarla) ürünlerin yani toplam
            // sepet tutarı
        }
    },
    "Card":{
        "OwnerName":"John Doe",
        "Number":"5528790000000008",
        "ExpireMonth":"12",
        "ExpireYear":"2030",
        "Cvv":"123",
        "UniqueCode":"",
        "CardSave": { // Ödeme'nin başarılı tamamlanması sonrasında kart kaydedilir
            "RelationalId1": "userid19283746", // Kart'ın ilişkilendirileceği değer - Zorunlu
            "RelationalId2": "", // Kart'ın ilişkilendirileceği değer - Opsiyonel
            "RelationalId3": "", // Kart'ın ilişkilendirileceği değer - Opsiyonel
            "Save": true
        }
    },
    "Customer":{
        "FullName":"FullName",
        "Phone":"5336662211",
        "Email":"enes@xcompany.com",
        "Country":"Country",
        "City":"City",
        "Address":"Address",
        "IdentityNumber":"IdentityNumber",
        "TaxNumber":"TaxNumber"
    },
    "Products":[{
        "ProductId": "ProductId",
        "ProductName": "ProductName",
        "ProductCategory": "ProductCategory",
        "ProductDescription": "ProductDescription",
        "ProductAmount": 9.85,
        "MemberId": 1881, // Sadece MarketPlace modelinde kullanılır
        "DiscountOwnerType": 0,
        "DiscountType": 0,
        "DiscountValue": 0,
        "CargoType": 0,
        "CargoCurrencyId": 0,
        "CargoCost": 0,
        "MemberCustomCommission": false,
        "MemberCommission": 1.1, // Yüzde değeri alır ve yukardaki değer TRUE ise bu değer çalışır
        "MemberEarningCalculated": true, // Üye hakedişini kendi tarafınızda hesapladığınızda TRUE
        "MemberEarning": 12 // MemberEarningCalculated true ise üyenin alacağı/gönderilecek tutar
    }]
}

Servisten dönen cevap:

ParametreTipAçıklama

ErrorCode

int

Hata kodu. İşlem başarılı ise '0' değerini döner.

Result

bool

True ya da false değeri döner. İşlem başarılı iste 'true' değerini döner.

Message

string

İşlem hatalıysa, bu hataya dair belirtilen mesajdır, locale parametresine göre dil desteği sunar.

Body

nesne

İşleme ait detay bilgiler

Body:Redirect

string

3D bilgisinin girilmesi gereken sayfaya ait URL. Ödeme işlemine bu URL üzerinden devam etmeniz gerekmektedir.

{
    "ErrorCode": 0,
    "Result": true,
    "Message": "Success",
    "Body": {
        "Message": null,
        "RedirectUrl": "https://dev-payment-agent.itspaywall.com/paywall/callback?UniqueNumber=4ca48496-0dc5-40f1-8bdd-df020fe66424",
        "Payment": {
            "PaymentId": 1644542,
            "ActivityId": 3202558,
            "UniqueCode": "4ca48496-0dc5-40f1-8bdd-df020fe66424",
            "MerchantUniqueKey": "122saassa1ada3msaaaaaasaaaa"
        }
    }
}

Form Post

MerchantSuccessBackUrl veya MerchantFailBackUrl adreslerine iletilen parametreler (Parametre isimlerini aşağıda belirtildiği gibi kullanınız)

ParametreTipBoş Olabilir?Açıklama

date

string

Hayır

Ödeme tarihi

status

string

Hayır

Ödeme'nin durumunu ifade eder ve başarılı ödemeler için Success başarısız ödemeler için de Unsuccessful değerine sahip olur

errorCode

string

Evet

Ödeme'nin başarısız bitmesi durumunda PayWall hata kodularından, başarısız ödeme nedenini döner

errorMessage

string

Evet

Ödeme'nin başarısız olması durumunda, başarısızlık nedeniyle ilgili detay bilgi döner

paymentCode

string

Hayır

Ödeme için oluşan PayWall görev kimliği

uniqueCode

string

Hayır

Üye işyeri (siz) tarafından ödeme için oluşturulan tekil kod

amount

string

Hayır

Ödeme tutarı

installment

string

Hayır

Ödeme taksit bilgisi

paymentId

string

Hayır

Ödeme kimliği

Last updated