3. 3D Ödeme

PayWall 3D ödeme servisine istek gönderdiğinizde, ilgili isteğin cevabında istek başarılıysa PayWall ödeme agent linki dönülmektedir. Bu linki uygulamanızda açmalısınız. Link 3D ekranına yönlendirir

3D Ödeme

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

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

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

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.

PayWall İstek Payload

{
    "PaymentDetail": {
        "Amount": 1.00,
        "MerchantUniqueCode": "22123222256226225",
        "Half3D": false,
        "MerchantSuccessBackUrl": "https://domain.com/callback",
        "MerchantFailBackUrl": "https://domain.com/callback",
        "ClientIP": "0.0.0.0",
        "CurrencyId": 1,
        "Installment": 1,
        "ChannelId": 0,
        "TagId": 0,
        "PayWatch": null,
        "PayWatchMultipleSupport": false,
        "PayWatchMultiple": null,
        "EndOfTheDay": 1,
        "RegionId": 1,
        "ProviderBased": false,
        "ProviderKey": "providerkey",
        "MarketPlace": {
            "BasketAmount": 1.00
        }
    },
    "Card":{
        "OwnerName":"Iyzico Kartı",
        "Number":"5528790000000008",
        "ExpireMonth":"12",
        "ExpireYear":"2030",
        "Cvv":"123",
        "UniqueCode":"",
        "CardSave": {
            "Nickname": "Kredi kartım",
            "RelationalId1": "userid19283746",
            "RelationalId2": "",
            "RelationalId3": "",
            "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": 1.0,
        "MemberId": 0,
        "DiscountOwnerType": 0,
        "DiscountType": 0,
        "DiscountValue": 0,
        "CargoType": 0,
        "CargoCurrencyId": 0,
        "CargoCost": 0,
        "MemberCustomCommission": false,
        "MemberCommission": 0,
        "MemberEarningCalculated": false,
        "MemberEarning": 0
    }]
}

Ana Dizin: PaymentDetail

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

MerchantSuccessBackUrl

string

Evet

Başarılı işlem için 3D ekranının FormPost ile yönlendirileceği adres Uzunluk: 250 karakter Bkz: İncele

MerchantFailBackUrl

string

Evet

Başarısız işlem için 3D ekranının FormPost ile yönlendirileceği adres Uzunluk: 250 karakter Bkz: İncele

CurrencyId

int

Evet

Para birimi Bkz: İncele

Installment

int

Evet

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

Half2D

bool

Hayır

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

ClientIP

string

Evet

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

TagId

int?

Hayır

Ödemelerinize etiketleme uygulamak istediğinizde kullanılır

ChannelId

int?

Hayır

Ödemelerinizin PayWall'a iletildiği kanalları ayrıştırmak istediğinizde kullanılır

EndOfTheDay

int?

Hayır

Gün sonu değeridir. Bağlı sağlayıcılar arasından ödemenizin sadece "Ertesi Gün" ödemeleri sağlayıcılardan geçmesini istediğinizde bu parametreyi dolu göndermelisiniz Bkz: İncele

RegionId

short?

Hayır

Ödemenizin hangi ülke altındaki sağlayıcılardan geçmesini istediğinizi belirtebileceğiniz parametredir. Belirtilmediği durumda ödemeniz 'Global' olarak işlenir

ProviderBased

bool

Hayır

Ödemenizin hangi sağlayıcıdan geçmesi gerektiğine kendi tarafınızda karar verdiğinizde kullanılır

ProviderKey

string

Evet/Hayır

Ödemenizin geçmesini istediğiniz sağlayıcı anahtarı

MarketPlace > BasketAmount

decimal

Hayır

Pazaryeri kapsamında kullanılır

PayWatch > Watch

bool?

Hayır

Ödeme, PayWatch ile izlensin mi?

PayWatch > PaymentStatus[]

List<int>

Evet/Hayır

Ödeme, hangi durumlardaysa izlensin

PayWatch > ActionId

short

Evet/Hayır

İzlenme sonucunda alınacak aksiyon Bkz: İncele

PayWatch > WebhookAddress

string

Evet/Hayır

İzlenme aksiyonu Webhook olarak ayarlandığında, bildirim atılacak adres

PayWatch > WatchMin

short

Evet/Hayır

Ödeme kaç dakika sonra izlensin Min: 5 Max: 20

PayWatchMultipleSupport

bool

Hayır

Ödeme çoklu kurallı PayWatch ile izlensin mi?

PayWatchMultiple > Watch

bool

Evet/Hayır

Ödeme, PayWatch çoklu ile izlensin mi?

PayWatchMultiple > Jobs[] > PaymentStatus[]

List<int>

Evet/Hayır

Ödeme, hangi durumlardaysa izlensin

PayWatchMultiple > Jobs[] > ActionId

short

Evet/Hayır

İzlenme sonucunda alınacak aksiyon Bkz: İncele

PayWatchMultiple > Jobs[] > WebhookAddress

string

Evet/Hayır

İzlenme aksiyonu Webhook olarak ayarlandığında, bildirim atılacak adres

PayWatchMultiple > Jobs[] > WatchMin

short

Evet/Hayır

Ödeme kaç dakika sonra izlensin Min: 2 Max: 20

Ana Dizin: Card

ParametreTipZorunluAçıklama

OwnerName

string

Evet/Hayır

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

Number

string

Evet/Hayır

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

ExpireMonth

string

Evet/Hayır

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

ExpireYear

string

Evet/Hayır

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

Cvv

string

Evet/Hayır

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

UniqueCode

string

Evet/Hayır

Kayıtlı karta ait kimlik bilgisi. Kaydetme ve listeleme anında PayWall'dan döner

TempCardToken

string

Evet/Hayır

Geçici kayıtlı kart (Client-Side Tokenization) ile ödeme almak istediğinizde kullanılması gereken parametredir

Partner? > PartnerBased

bool?

Evet/Hayır

Kartları Partner tabanlı kurguladığınızda kullanılacak parametredir

Partner? > PartnerIdentity

string

Evet/Hayır

Kartları Partner tabanlı kurguladığınızda, şirketinizin PayWall'daki partnerlik kimlik bilgisidir. Bu bilgiyi PayWall panelinden edinebilirsiniz

CardSave? > Save

bool

Evet/Hayır

Ödeme anında, ödemenin başarılı olması durumunda kartın kayıt edilmesi istenirse True gönderilmelidir. True gönderildiğinde CardSave objesi altındaki diğer parametreler dikkate alınır

CardSave? > Nickname

string

Evet/Hayır

Kart'a ait takma isimdir

CardSave? > RelationalId1

string

Evet/Hayır

Kart'ın ilişki değeridir

CardSave? > RelationalId2

string

Evet/Hayır

Kart'ın ikinci (ağaç yapısı) ilişki değeridir

CardSave? > RelationalId3

string

Evet/Hayır

Kart'ın üçüncü (ağaç yapısı) ilişki değeridir

Ana Dizin: Customer

ParametreTipZorunluAçıklama

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

Hayır

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

TaxNumber

string

Hayır

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

Ana Dizin: Product<Array>

ParametreTipZorunluAçıklama

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

Hayır

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

DiscountType

int

Hayır

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

DiscountValue

decimal

Hayır

Ü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

Hayır

Ürüne ait kargo tipi Bkz: Kargo Tipleri

CargoCurrencyId

int

Hayır

Kargo maliyetinin para birimi

CargoCost

decimal

Hayır

Kargo maliyeti

MemberId

int?

Evet/Hayır

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

MemberEarningCalculated

bool?

Evet/Hayır

Pazaryeri kapsamında, alt şirketin hak edişini siz hesapladıysanız bu parametreyi true göndermelisiniz

MemberEarning

decimal?

Evet/Hayır

Pazaryeri kapsamında, alt şirketin hak edişini siz hesapladıysanız bu parametreyi hak ediş değerini PayWall'a bildirmelisiniz

MemberCustomCommission

bool

Evet/Hayır

Pazaryeri kapsamında, alt şirkete bu satış özelinde komisyon belirtmek isterseniz kullanılan parametredir

MemberCommission

decimal?

Evet/Hayır

Pazaryeri kapsamında, alt şirkete bu satış özelinde komisyon belirtmek isterdiğinizde, komisyon değerinin gönderildiği parametredir

PayWall 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

İşlem hatalıysa, bu hataya dair belirtilen kodudur.

{
    "ErrorCode": 0,
    "Result": true,
    "Message": "Success",
    "Body": {
        "Message": null,
        "RedirectUrl": "https://dev-payment-agent.itspaywall.com/paywall/callback?UniqueNumber=xxxxxx-xxxxxxx-xxxxxxx-xxxxxx",
        "Payment": {
            "PaymentId": 1918272,
            "ActivityId": 3820721,
            "UniqueCode": "87e30149-817b-42cf-a8a8-81af2af5722b",
            "MerchantUniqueKey": "96aaa33633aaaa3aaaaa3aa2aa2322a2aaaa4a21331a234aas33aaaa3aasa"
        }
    }
}

Last updated