# 2. Paywall İşlem Numarası

## Ödeme Sorgulama (UniqueCode)

<mark style="color:blue;">`GET`</mark> `{{Private Base Address}}/api/paywall/private/query/by/uniquecode`

{% hint style="info" %}
Önemli: **Ödeme Sorgulama** servisini kullanabilmeniz için 'Header' alanında '**apikeyprivate**' ve '**apiclientprivate**' parametrelerini göndermeniz gerekmektedir.\
\
[<mark style="color:green;">**PaymentPrivateAPI Adresi**</mark>](https://developer.paywall.one/ortam)
{% endhint %}

<table><thead><tr><th width="282">Parametre</th><th width="79">Tip</th><th width="107">Zorunlu</th><th width="403">Açıklama</th></tr></thead><tbody><tr><td>apikeyprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Public Key.</td></tr><tr><td>apiclientprivate</td><td>string</td><td>Evet</td><td>Üye işyeri panelinden temin etmiş olduğunuz Public Client.</td></tr><tr><td>uniquecode</td><td>Guid</td><td>Evet</td><td>Ödeme'ye Paywall tarafından atanan tekil takip numarası</td></tr></tbody></table>

**Örnek Kod:**

{% tabs %}
{% tab title="C#" %}

```csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class Program
{
    private static readonly HttpClient client = new HttpClient();

    private static async Task Main()
    {
        client.DefaultRequestHeaders.Add("apikeyprivate", "%PRIVATEKEY%");
        client.DefaultRequestHeaders.Add("apiclientprivate", "%PRIVATECLIENT%");
        client.DefaultRequestHeaders.Add("uniquecode", "%UniqueCode%");
        var response = await client.GetAsync("{{Private Base Address}}/api/paywall/private/query/by/uniquecode");
        var responseString = await response.Content.ReadAsStringAsync();
        var responseObject = JsonConvert.DeserializeObject<Response>(responseString);
        Console.WriteLine(responseObject.Body.Paywall.StatusName);
    }

    public class Response
    {
        public int ErrorCode { get; set; }
        public bool Result { get; set; }
        public string Message { get; set; }
        public Body Body { get; set; }
    }

    public class Body
    {
        public Paywall Paywall { get; set; }
    }

    public class Paywall
    {
        public int PaymentId { get; set; }
        public int ActivityId { get; set; }
        public bool Status { get; set; }
        public string StatusName { get; set; }
        // Define other properties as needed...
    }
}
```

{% endtab %}
{% endtabs %}

**Parametre Açıklamaları:**

<table><thead><tr><th width="265">Parametre</th><th width="124.33333333333331">Tip</th><th>Açıklama</th></tr></thead><tbody><tr><td>PaymentId</td><td>int</td><td>Ödeme kimliği</td></tr><tr><td>UniqueCode</td><td>Guid</td><td>Paywall'un ödemeye ilişkin ürettiği tekil takip numarası</td></tr><tr><td>MerchantUniqueCode</td><td>string</td><td>Üye işyerinin, ödeme başlatma anında verdiği <strong>tekil</strong> takip numarası</td></tr><tr><td>TrackingCode</td><td>string</td><td>Üye işyerinin, ödeme başlatma anında verdiği takip numası</td></tr><tr><td>ActivityId</td><td>int</td><td>Ödeme son hareket kimliği</td></tr><tr><td>PaymentGatewayId</td><td>int</td><td>İşlemin gerçekleştiği sağlayıcının bağlantı kimlik numarası</td></tr><tr><td>PaymentGatewayName</td><td>string</td><td>İşlemin gerçekleştiği sağlayıcının bağlantı ismi</td></tr><tr><td>PaymentGatewayProviderName</td><td>string</td><td>İşlemin gerçekleştiği sağlayıcının sistemdeki ismi</td></tr><tr><td>IsThreeDSecure</td><td>bool</td><td>İşlem 3D mi?</td></tr><tr><td>IsNonThreeDSecure</td><td>bool</td><td>İşlem Non-3D mi?</td></tr><tr><td>IsInsuranceSecure</td><td>bool</td><td>İşlem sigortacılığa özel ilk 8 son 4 mü?</td></tr><tr><td>IsProvision</td><td>bool</td><td>İşlem ön provizyonlu mu?</td></tr><tr><td>IsOtp</td><td>bool</td><td>İşlem Otp yöntemiyle mi gerçekleşiyor?</td></tr><tr><td>AnySuccessPayment</td><td>bool</td><td>İşlem kapsamında başarılı satış var mı?</td></tr><tr><td>AnySuccessRefund</td><td>bool</td><td>İşlem kapsamında başarılı iade var mı?</td></tr><tr><td>AnySuccessPartialRefund</td><td>bool</td><td>İşlem kapsamında başarılı kısmi iade var mı?</td></tr><tr><td>AnySuccessCancel</td><td>bool</td><td>İşlem kapsamında başarılı iptal var mı?</td></tr><tr><td>Status</td><td>boolean</td><td>Son hareketin durumu, true: başarılı / false: başarısız</td></tr><tr><td>StatusName</td><td>string</td><td>Ödeme durumu</td></tr><tr><td>StatusId</td><td>int</td><td>Ödeme durum kimliği</td></tr><tr><td>TypeName</td><td>string</td><td>Ödeme son hareket tipi</td></tr><tr><td>TypeId</td><td>int</td><td>Ödeme son hareket tipinin kimliği</td></tr><tr><td>Installment</td><td>int</td><td>Taksit bilgisi</td></tr><tr><td>CurrencyId</td><td>int</td><td>Ödeme para birimi kimliği</td></tr><tr><td>CurrencyName</td><td>string</td><td>Ödeme para birimi</td></tr><tr><td>PaymentMethodId</td><td>int</td><td>Ödeme yöntemi kimliği<br><br>Bkz: <a href="../../sistem-verileri/odeme-yontemleri">Ödeme Yöntemleri</a></td></tr><tr><td>PaymentMethodName</td><td>string</td><td>Ödeme yöntemi</td></tr><tr><td>PaymentChannelId</td><td>int</td><td>Ödeme kanal kimliği<br><br>Bkz: <a href="../../sistem-verileri/odeme-kanallari">Ödeme Kanalları</a></td></tr><tr><td>PaymentChannelName</td><td>string</td><td>Ödeme kanalı</td></tr><tr><td>PaymentTagId</td><td>int</td><td>Ödeme etiket kimliği</td></tr><tr><td>PaymentTagName</td><td>string</td><td>Ödeme etiketi</td></tr><tr><td>CardNumber</td><td>string</td><td>Maskeli kart numarası</td></tr><tr><td>CardOwnerName</td><td>string</td><td>Maskeli kart sahibinin ismi</td></tr><tr><td>CardBankId</td><td>int</td><td>Kart bankasının kimliği</td></tr><tr><td>CardBankName</td><td>string</td><td>Kart bankasının ismi</td></tr><tr><td>CardBrandId</td><td>int</td><td>Kart markasının kimliği</td></tr><tr><td>CardBrandName</td><td>string</td><td>Kart markasının ismi</td></tr><tr><td>CardTypeId</td><td>int</td><td>Kart tipinin kimliği</td></tr><tr><td>CardTypeName</td><td>string</td><td>Kart tipinin ismi</td></tr><tr><td>CardFamilyId</td><td>int</td><td>Kart ailesinin kimliği</td></tr><tr><td>CardFamilyName</td><td>string</td><td>Kart ailesinin ismi</td></tr><tr><td>LastActivityDateTime</td><td>DateTime</td><td>İşlem özelinde yapılan son işlemin tarih/saat bilgisi</td></tr><tr><td>PaymentAmount</td><td>decimal</td><td>Ödemenin ana tutarı</td></tr><tr><td>ActivityAmount</td><td>decimal</td><td>Son işlem tutarı<br><br>Örnek: 1000TL'lik bir ana tutarlı işlem 100TL kısmi iade yapıldıysa bu parametre 100 olarak dönmektedir</td></tr><tr><td>IP</td><td>string</td><td>İşlemin gönderildiği IP bilgisi</td></tr><tr><td>ClientIP</td><td>string</td><td>Ödeme anında iletilen, ödemenin gerçekleştiği cihazın IP bilgisi</td></tr><tr><td>AppliedInterest</td><td>bool</td><td>Ödemeye vade uygulandı mı?</td></tr><tr><td>InterestRate</td><td>decimal?</td><td>Ödemeye uygulanan vade oranı</td></tr><tr><td>CommissionRate</td><td>decimal?</td><td>Ödemenin gerçekleştiği sağlayıcının uyguladığı komisyon bilgisi<br><br>Paywall panelinden ayarladığınız değer dönmektedir</td></tr><tr><td>OriginalAmount</td><td>decimal</td><td>Ödemenin orjinal tutarı<br><br>Örnek: Eğer ödeme 1000TL ise ve 100TL vade uygulanma sonucunda çekilen tutar 1100TL olduysa. Bu parametre 1000TL olarak vade uygulanmamış orjinal haliyle döner</td></tr><tr><td>InterestAmount</td><td>decimal?</td><td>Varsa, uygulanan vade tutarı</td></tr><tr><td>CommissionAmount</td><td>decimal</td><td>Ödeme kuruluşu/banka tarafından ödemeye uygulanan komisyon tutarı</td></tr><tr><td>UsedSavedCard</td><td>bool</td><td>İlgili ödeme kayıtlı kartla mı gerçekleşti?</td></tr><tr><td>UsedTempCard</td><td>bool</td><td>İlgili ödeme client-side tokenize edilmiş kartla mı gerçekleşti?</td></tr><tr><td>Activities</td><td>List</td><td>İşleme dair gerçekleşen tüm hareketler (Oluşturuldu, Satış Başladı, Satış Başarısız, İptal Başarılı vb)</td></tr><tr><td>IsFullyRefunded</td><td>bool</td><td>İşlemin tamamen iptal/iade edilip edilmediğinin bilgisi</td></tr><tr><td>RemainingRefundAmount</td><td>decimal</td><td>İade edilebilir toplam tutar. Kısmi iade yaptıkça bu tutar azalır</td></tr><tr><td>PaymentExternalAuthCode</td><td>string</td><td><em>İlgili parametrenin dolu gelmesi için sağlayıcının (Banka/PF) değeri dönmesi gerekmektedir</em></td></tr><tr><td>PaymentExternalOrderId</td><td>string</td><td><em>İlgili parametrenin dolu gelmesi için sağlayıcının (Banka/PF) değeri dönmesi gerekmektedir</em></td></tr><tr><td>PaymentExternalTransId</td><td>string</td><td><em>İlgili parametrenin dolu gelmesi için sağlayıcının (Banka/PF) değeri dönmesi gerekmektedir</em></td></tr><tr><td>PaymentExternalHostReference</td><td>string</td><td><em>İlgili parametrenin dolu gelmesi için sağlayıcının (Banka/PF) değeri dönmesi gerekmektedir</em></td></tr><tr><td>PaymentExternalMerchantId</td><td>string</td><td><em>İlgili parametrenin dolu gelmesi için sağlayıcının (Banka/PF) değeri dönmesi gerekmektedir</em></td></tr></tbody></table>

{% tabs %}
{% tab title="Json" %}
{% code lineNumbers="true" %}

```json
{
    "ErrorCodeType": 1,
    "ErrorMessage": null,
    "ErrorCode": 0,
    "Result": true,
    "Message": "",
    "Body": {
        "Paywall": {
            "PaymentId": 4045713,
            "UniqueCode": "cdd14b16-74fd-4f3b-863f-fccb3ec80baf",
            "MerchantUniqueCode": "5b0287fb-0ccc-4366-9b2a-048be739e54c",
            "TrackingCode": "123123912831092831092-34534535-3453454",
            "ActivityId": 8907375,
            "PaymentGatewayId": 1570,
            "PaymentGatewayName": "ProviderConnectionName",
            "PaymentGatewayProviderName": "ProviderSystemName",
            "IsThreeDSecure": false,
            "IsNonThreeDSecure": true,
            "IsInsuranceSecure": false,
            "IsProvision": true,
            "IsOtp": false,
            "AnySuccessPayment": false,
            "AnySuccessRefund": false,
            "AnySuccessPartialRefund": false,
            "AnySuccessCancel": false,
            "Error": {
                "AnyError": false,
                "ErrorType": 0,
                "ErrorMessage": ""
            },
            "Status": false,
            "StatusName": "Finansallaştırma Bekliyor",
            "StatusId": 3,
            "TypeName": "Satış",
            "TypeId": 1,
            "Installment": 1,
            "CurrencyId": 1,
            "CurrencyName": "TRY",
            "PaymentMethodId": 4,
            "PaymentMethodName": "Half Direct Payment",
            "PaymentChannelId": 0,
            "PaymentChannelName": null,
            "PaymentTagId": 0,
            "PaymentTagName": null,
            "CardNumber": "552879******0008",
            "CardOwnerName": "Enes Selman Tütüncü",
            "CardBankId": 55,
            "CardBankName": "T.HALK BANKASI A.Ş.",
            "CardBrandId": 1,
            "CardBrandName": "Master Card",
            "CardTypeId": 1,
            "CardTypeName": "Credit",
            "CardFamilyId": 5,
            "CardFamilyName": "Paraf",
            "LastActivityDateTime": "2025-06-04T18:42:27.5447456",
            "PaymentAmount": 1000.00,
            "ActivityAmount": 1000.00,
            "IP": "35.245.18.66",
            "ClientIP": null,
            "AppliedInterest": false,
            "InterestRate": 0.00,
            "CommissionRate": 0.00,
            "OriginalAmount": 1000.00,
            "InterestAmount": 0.00,
            "CommissionAmount": 0.00,
            "UsedSavedCard": true,
            "UsedTempCard": false,
            "PaymentExternalAuthCode": "",
            "PaymentExternalOrderId": "",
            "PaymentExternalTransId": "",
            "PaymentExternalHostReference": "",
            "PaymentExternalMerchantId": ""
        }
    }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}
