Ödeme Detayı
- Endpoint:
/pws/payment/transaction - HTTP Method:
GET - Request Content-Type:
application/json(opsiyonel) - Response Content-Type:
application/json - Yetkilendirme: Geçerli AccessToken zorunludur.
(Bkz: 2. Kimlik Doğrulama – AccessToken Alınması)
Açıklama
Bir ödeme işleminin tüm detaylarını döndürür. ERP’deki GetPayment çıktısıyla uyumludur (alan adları & anlamları).
- Sorgu; transactionId, referenceNumber veya clientReferenceNumber üzerinden yapılabilir.
- 3D/3D’siz, tek çekim/taksitli tüm işlemler için geçerlidir.
Header Bilgileri
| Header Adı | Zorunlu | Açıklama |
|---|---|---|
| Authorization | Evet | Bearer {AccessToken} formatında geçerli token. |
| Content-Type | Hayır | application/json |
Sorgu Parametreleri (GET)
Aşağıdaki tanımlayıcılardan en az biri zorunludur
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
transactionId | string (GUID) | Evet* | İşlemin sistem içi benzersiz ID’si. |
referenceNumber | string | Evet* | Sistem referansı (örn. NTH2P00000002250). |
clientReferenceNumber | string | Evet* | Üye işyeri/sipariş referansı. |
* En az birini gönderin. Birden fazlası gönderilirse 404 hatası alırsınız.
Örnek İstekler (GET)
/pws/payment/transaction?transactionId=99248acb-3dbe-4654-9f3f-49f02111ee3e/pws/payment/transaction?referenceNumber=NTH2P00000002249/pws/payment/transaction?clientOrderReferenceCode=11001122011
Yanıt (Response) Yapısı
data (Transaction) Alanları
Üst Düzey Alanlar
| Alan | Tip | Örnek | Açıklama |
|---|---|---|---|
clientReferenceNumber | string | null | "ORDER-2025-0001" |
referenceNumber | string | "NTH2P00000002250" | Sistem referans numarası. |
tenantId | string (GUID) | "670683c1-2fe0-4846-87b2-6cba9b793ab2" | İşlemin ait olduğu tenant. |
tenantPosId | string (GUID) | "384badef-11ec-ee11-98f2-005056b0d2e5" | Kullanılan POS kaydı. |
commRate | number | 1.0000 | Uygulanan komisyon oranı (%). |
currencyType | string | "TRY" | İşlem para birimi (ör. TRY). |
transactionDate | string (ISO datetime) | "2025-10-24T17:23:51.5461093" | İşlem tarihi/saatı. |
transactionDetailId | string (GUID) | "99624afe-b2ee-4483-2f6c-08de12f76968" | Detay kaydı id’si. |
installment | integer | 1 | Taksit adedi. |
lastAmount | number | 54.00 | Son (brüt) tutar. |
lastNetAmount | number | 53.46 | Komisyon sonrası net tutar. |
id | string (GUID) | "49acb76f-d4ea-427b-a1b3-46532fb87653" | İşlemin sistem içi benzersiz id’si (transactionId). |
vposCommRate | number | 1.0000 | Banka/VPos komisyon oranı. |
bankPaymentDays | integer | null | null |
paymentSetErpCode | string | "Kobi" | Ödeme seti ERP kodu. |
vPosERPCode | string | "29072025" | VPos ERP kodu/kimliği. |
impersonated | boolean | true | Yetkili adına işlem yapıldı bilgisi. |
paidTenantId | string (GUID) | null | null |
rePayPlanCode | string | null | null |
currencyId | string (GUID) | "8e6cc739-83e0-4af5-accf-a55476e758c6" | Para birimi dahili id’si. |
erpTransactionCode | string | null | null |
erpTransactionCodeUpdateDate | string (ISO) | null | null |
errorMessage | string | null | null |
errorCode | string | null | null |
transactionStatusId | integer | 1 | İşlem durumu (bkz. Durum Notu). |
reversal | object | null | null |
agent
| Alan | Tip | Örnek | Açıklama |
|---|---|---|---|
agentId | string (GUID) | "1f9c9e65-1bf3-48fc-887a-42c325d21cd2" | Müşteri/bayi benzersiz id. |
name | string | "örnek kullanıcı" | Ad/Unvan. |
email | string | "[email protected]" | E-posta. |
agentCode | string | "NT53240185" | Kod. |
erpCode | string | "" | ERP kodu. |
workplaceCode… businessCode | string | null | null |
isCompany | boolean | false | Kurumsal mı. |
isCustomer | boolean | true | Müşteri bayrak. |
taxNumber | string | null | null |
customerRepresentativeIds | array | [] | Temsilci id’leri. |
dynamicFields | array | [] | Serbest alanlar. |
paymentAccountTransactions
| Alan | Tip | Örnek | Açıklama |
|---|---|---|---|
amount | number | 0.0 | İlişkili muhasebe/hesap hareketi tutarı. |
erpCode | string | null | null |
transactionErpCode | string | null | null |
paymentGeneral
| Alan | Tip | Örnek | Açıklama |
|---|---|---|---|
plusInstallment | integer | 0 | Ek taksit. |
deferral | integer | 0 | Erteleme (gün/ay—kuruluma bağlı). |
commApplyType | string | "İçinde" | Komisyon uygulama tipi (İçinde/Hariç). |
provisionNumber | string | null | null |
paymentSetName | string | null | null |
paymentItemGroupName | string | null | null |
paymentItemName | string | null | null |
paymentItemErpCode | string | null | null |
paymentItemCode | string | null | null |
paymentItemStartDate | string | null | null |
paymentItemEndDate | string | null | null |
paymentItemAmount | number | null | null |
dynamicFields | array | [] | Serbest alanlar. |
paymentContact
| Alan | Tip | Örnek | Açıklama |
|---|---|---|---|
taxNumber | string | "26179246186" | TCKN/VKN (örnekte TCKN). |
fullName | string | "john Doe" | Ad Soyad. |
description | string | "test" | Açıklama. |
phoneNumber | string | "5888888888" | Telefon. |
email | string | "[email protected]" | E-posta. |
paymentSet
| Alan | Tip | Örnek | Açıklama |
|---|---|---|---|
id | string (GUID) | "504978bf-bebd-40c5-89aa-b76f3a20341c" | Set id. |
name | string | "QNB Seti" | Set adı. |
erpCode | string | "QNBSeti" | Set ERP kodu. |
transactionType | string | "Provizyon" | İşlem tipi (kuruluma bağlı). |
commApplyType | string | "İçinde" | Komisyon uygulama tipi. |
creditCard
| Alan | Tip | Örnek | Açıklama |
|---|---|---|---|
cardHolderName | string | "Test Test" | Kart üzerindeki ad. |
cardNumber | string (maskeli) | "415565******6111" | Maskeli PAN (ilk 6 + son 4). |
cardType | string | "Visa" | Kart şeması. |
cardBank | string | "QNB Finansbank" | Kart bankası. |
cardClass | string | "Classic" | Kart sınıfı. |
- Örnek Yanıt
- Örnek cURL
{
"clientReferenceNumber": null,
"referenceNumber": "NTH2P00000002250",
"tenantId": "670683c1-2fe0-4846-87b2-6cba9b793ab2",
"tenantPosId": "384badef-11ec-ee11-98f2-005056b0d2e5",
"commRate": 1.0000,
"currencyType": "TRY",
"transactionDate": "2025-10-24T17:23:51.5461093",
"transactionDetailId": "99624afe-b2ee-4483-2f6c-08de12f76968",
"installment": 1,
"lastAmount": 54.00,
"lastNetAmount": 53.46,
"id": "49acb76f-d4ea-427b-a1b3-46532fb87653",
"vposCommRate": 1.0000,
"bankPaymentDays": null,
"paymentSetErpCode": "Kobi",
"vPosERPCode": "29072025",
"impersonated": true,
"paidTenantId": null,
"rePayPlanCode": null,
"agent": {
"agentId": "1f9c9e65-1bf3-48fc-887a-42c325d21cd2",
"name": "0210 Deneme 0210 Deneme",
"email": "[email protected]",
"agentCode": "NT53240185",
"erpCode": "",
"workplaceCode": null,
"departmentCode": null,
"speCode": null,
"authCode": null,
"projectCode": null,
"salesmanCode": null,
"busTranCode": null,
"branchCode": null,
"businessCode": null,
"isCompany": false,
"isCustomer": true,
"taxNumber": null,
"customerRepresentativeIds": [],
"dynamicFields": []
},
"currencyId": "8e6cc739-83e0-4af5-accf-a55476e758c6",
"paymentAccountTransactions": [
{
"amount": 0.0,
"erpCode": null,
"transactionErpCode": null
}
],
"paymentGeneral": {
"plusInstallment": 0,
"deferral": 0,
"commApplyType": "İçinde",
"provisionNumber": null,
"paymentSetName": null,
"paymentItemGroupName": null,
"paymentItemName": null,
"paymentItemErpCode": null,
"paymentItemCode": null,
"paymentItemStartDate": null,
"paymentItemEndDate": null,
"paymentItemAmount": null,
"dynamicFields": []
},
"paymentContact": {
"taxNumber": "00000000000",
"fullName": "John Doe",
"description": "test",
"phoneNumber": "5074458449",
"email": "[email protected]"
},
"paymentSet": {
"id": "504978bf-bebd-40c5-89aa-b76f3a20341c",
"name": "QNB Seti",
"erpCode": "QNBSeti",
"transactionType": "Provizyon",
"commApplyType": "İçinde"
},
"creditCard": {
"cardHolderName": "Test Test",
"cardNumber": "415565******6111",
"cardType": "Visa",
"cardBank": "QNB Finansbank",
"cardClass": "Classic"
},
"erpTransactionCode": null,
"erpTransactionCodeUpdateDate": null,
"errorMessage": null,
"errorCode": null,
"transactionStatusId": 1,
"reversal": null
}
curl --location 'https://pgw.netahsilatdemo.com/pws/transaction?transactionId=49acb76f-d4ea-427b-a1b3-46532fb87653' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZSI6WyJwd3N2MS5hcGkiLCJlcnB2MS5hcGkiLCJjYXR2MS5hcGkiLCJ2ZW5kb3J2MS5hcGkiXSwiYWN0b3J0Ijoic2VydmljZSIsInJvbGUiOiJzZXJ2aWNlIiwiVW5pcXVlIjoiOGE2NjQxZGYtMGU4Ny00OWVkLWEyOTgtNjNjN2M3Y2JjNTk1IiwiVGVuYW50SWQiOiI2NzA2ODNjMS0yZmUwLTQ4NDYtODdiMi02Y2JhOWI3OTNhYjIiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL2V4cGlyYXRpb24iOiI2Mzg5NzA3MjQxNDMzMzI2OTUiLCJuYmYiOjE3NjEzMDI4MTQsImV4cCI6MTc2MTQ3NTYxNCwiaWF0IjoxNzYxMzAyODE0LCJpc3MiOiJzc28uYXBpIiwiYXVkIjoiZWNvenVtLnNzbyJ9.IbmVm9oVxUvDXhzYnCncNMYPBFqqJTXFQLkFYfhSbUA'
Notlar & En İyi Uygulamalar
-
Doğrudan kimlik: En kesin eşleşme için mümkünse
transactionIdkullanın. -
3D akışlarında OTP’den sonra sonucu teyit etmek için bu endpoint’i çağırın.
-
Kart PAN maskeli döner; tam PAN hiçbir zaman dönmez.
-
İptal/İade sonrası güncel durumu tekrar bu uç noktadan kontrol edin.