1. Satış

Terminallerinize sync satış emri göndermek için bu servisi kullanabilirsiniz

POST {{Base Address}}/api/payment/sync/sale

Yukarıda verilmiş olan adrese istek atmanız yeterli olacaktır. Test ortamı ve Gerçek ortam için 'Base Address' istediğiniz gibi kullanabilirsiniz.

Önemli: Sync Satış servisini kullanabilmeniz için 'Header' alanında 'apikeyprivate' ve 'apiclientprivate' parametrelerini göndermeniz gerekmektedir. PhysicalAPI Adresi

Servise gönderilmesi gereken header bilgileri şu şekildedir:

Parametre
Tip
Zorunlu
Açıklama

apikeyprivate

string

Evet

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

apiclientprivate

string

Evet

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

Servise gönderilmesi gereken body bilgileri şu şekildedir:

{
    "TerminalId": "38e895c3-1a9a-4b73-8816-8557d1d031d6",
    // "TerminalTagCode": "",
    "MerchantUniqueCode": "{{$guid}}",
    "DisplayCode": "Kişisel Bakım",
    "Amount": 22,
    "CurrencyId": 1,
    "Methods": [
        {
            "PaymentMethodId": 1
        },
        {
            "PaymentMethodId": 2
        }
    ],
    "CallbackAddress": "https://webhook.site/276d912e-090e-461a-aad5-5f137ab03cf4",
    "SplitPaymentSupport": false,
    "Customer": {
        "Type": 1,
        "FirstName": "eda",
        "MiddleName": "seda",
        "LastName": "meda",
        "CompanyName": "",
        "TaxOfficeCode": "",
        "TaxNumber": "",
        "Phone": "",
        "Email": "",
        "Identity": "11111111110",
        "Country": "Türkiye",
        "City": "İstanbul",
        "District": "Mesela",
        "Neighborhood": "Öyle",
        "Address": "Tam sokağın ortası"
    },
    "Products": [
        {
            "Name": "Saç Tıraşı",
            "TaxGroupId": 10,
            "UnitCodeId": 1,
            "Amount": 22,
            "Quantity": 1,
            "PaymentMethodId": 2
        }
    ],
    "SkipPrintCustomer": false,
    "SkipPrintMerchant": false
    "SkipPaymentOptionScreen": false,
    "ReceiptOptions": { // Opsiyonal
        "TopSupport": true,
        "Top": {
            "Text": "Üst başlık",
            "FontSize": 10
        },
        "BottomSupport": true,
        "Bottom": {
            "Text": "Alt başlık",
            "FontSize": 50
        }
    }
}
Parametre
Tip
Zorunlu
Uzunluk
Açıklama
TerminalId

string

Evet/Hayır

Guid

Terminalinizin kimlik (Id) bilgisiniz

TerminalTagCode

string

Evet

25

Etiket kodu

MerchantUniqueCode

Guid

Evet

-

Ödemenin sizin tarafınızdan oluşturulan takip numarası

SplitPaymentSupport

bool

Hayır

-

Her ürün özelinde ödeme almak için kullanılır

Amount

decimal

Evet

-

Satış tutarı

DisplayCode

string

Hayır

25

Ödemenin terminalde görüntülenmesi anında görülecek ödeme kodu

CurrencyId

string

Evet

-

Bkz: Para Birimi

CallbackAddress

string

Hayır

150

Ödeme durumunu ilettiğimiz geri bildirim adresiniz Bkz: Örnek

Methods

Array<Method>

Hayır

-

Ödemenin hangi yöntemleri desteklemesini istediğinizi bu parametrelerle belirleyebilirsiniz

Customer

Customer

Hayır

-

Ödemenin gerçekleştirildiği müşterinin bilgileri

Products

Array<Product>

Evet

-

Ürün bilgileri

SkipPrintCustomer

bool

Hayır

-

Müşteri fişinin çıktı alma işlemi yapılmaz

SkipPrintMerchant

bool

Hayır

-

Kurum fişinin çıktı alma işlemi yapılmaz

SkipPaymentOptionScreen

bool

Hayır

-

Ödeme anında kartlı işlem detay ekranı ekranda gösterilmez (Taksit vb)

ReceiptOptions

ReceiptOptions

Hayır

-

Ödeme sonrasında çıkacak fiş için özel ayarlamalar

Yöntem Nesnesi <Method>

Parametre
Tip
Zorunlu
Uzunluk
Açıklama
PaymentMethodId

int

Evet

-

Ödeme Yöntemleri

Yöntem Nesnesi <ReceiptOptions>

Parametre
Tip
Zorunlu
Uzunluk
Açıklama
TopSupport

bool

Evet

-

Fiş'in üst kısmına yazı konumlandırılacak mı?

Top > Text

string

Evet

150

Fiş'in üst kısmına yazılacak bilgi

Top > FontSize

int

Evet

2

Fiş'in üst kısmına yazılacak bilginin boyutu

BottomSupport

bool

Evet

-

Fiş'in alt kısmına yazı konumlandırılacak mı?

Bottom > Text

string

Evet

150

Fiş'in alt kısmına yazılacak bilgi

Bottom > FontSize

int

Evet

2

Fiş'in alt kısmına yazılacak bilginin boyutu

Müşteri Nesnesi <Customer>

Parametre
Tip
Zorunlu
Uzunluk
Açıklama
Type

int

Evet

-

Müşteri Tipleri Bkz: Tipleri

FirstName

string

Evet/Hayır

50

Müşteri adı

MiddleName

string

Hayır

50

Müşteri 2. adı

LastName

string

Evet/Hayır

50

Müşteri soyadı

CompanyName

string

Evet/Hayır

175

Şirket ismi

TaxOfficeCode

string

Evet/Hayır

50

Şirket vergi daire kodu

TaxNumber

string

Evet/Hayır

25

Şirket vergi numarası

Phone

string

Hayır

20

Telefon

Email

string

Hayır

100

Eposta adresi

Identity

string

Evet/Hayır

20

Kimlik numarası

Country

string

Hayır

50

Ülke

City

string

Hayır

100

Şehir

District

string

Hayır

100

Semt/Mahalle

Neighborhood

string

Hayır

100

Sokak

Address

string

Hayır

255

Açık adres

Ürün Nesnesi <Product>

Parametre
Tip
Zorunlu
Uzunluk
Açıklama
Name

string

Evet

75

Ürün adı

TaxGroupId

int

Evet

-

Ürünün KDV dilimi Bkz: Vergi Grubu

UnitCodeId

int

Evet

-

Ürünün birim bilgisi Bkz: Birim Kodları

CurrencyId

string

Evet

-

Bkz: Para Birimi

Amount

decimal

Evet

150

Ürün tutarı Not: Ürün tutarlarının toplamı satış tutarına eşit olmalıdır

Quantity

int

Evet

-

Ürün adedi

Servisten dönen cevap:

Parametre
Tip
Açıklama

Result

object

Servisin detayındaki bilgileri döner

ErrorCode

int

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

Succeeded

bool

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

Failed

bool

True ya da false değeri döner. İşlem başarısız 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.

ClientMessage

string

Paywall hata kodlarının sabit değerlerini döner. Map'leme yapabilirsiniz

{
    "Result": {
        "PaymentRequestId": "1eb856a8-1d41-49ab-8994-ecee2880d62c",
        "PaymentRequestActivityId": "2015c508-4029-4f6b-b7e2-4bf34a213c41",
        "PaymentRequestActivityTypeId": 1,
        "PaymentStatus": 4
    },
    "Failed": false,
    "Message": null,
    "ClientMessage": null,
    "Succeeded": true
}
Parametre
Tip
Açıklama
PaymentRequestId

Guid

Async ödemenin Paywall'daki kimlik bilgisidir. Saklanmalıdır

PaymentRequestActivityId

Guid

Async ödemenin son hareketinin kimlik bilgisidir

PaymentRequestActivityTypeId

int

Async ödemenin son işlem tipi Bkz: Ödeme Tipi

PaymentStatus

int

Async ödemenin son durumu Bkz: Ödeme Durumu

Last updated