Ödeme sorgulamak için kullanılan servistir. Bu serviste istek yapabilmesi için token bilgisinin Header'da gönderilmesi gerekmektedir. Bu linkten Üye İşyeri Doğrulama token bilgilerine ulaşabilirsiniz
| Parametre ismi | Tip | Uzunluk | Zorunluluk | Örnek Değer | Açıklama | 
|---|---|---|---|---|---|
| memberId | long | 16 | Evet | 1 | Her zaman 1 | 
| merchantId | long | 16 | Evet | 2 | Sizin için oluşturulan Üye işyeri ID'si | 
| rnd | string | 64 | Evet | abcd | Hash hesaplamasında kullanılan random numaradır. | 
| hash | string | 2048 | Evet | abcdefgh | İşlemin güvenliği için oluşturulan hash bilgisidir. | 
| orderNo | string | 64 | Evet | 123456 | İşlem sipariş numarası | 
| totalAmount | string | 16 | Evet | 9950 | İşlem tutarı 9950 99 TL 50 kuruş demektir, virgül veya noktalama içermez küsürat için 2 hanedir. 1 TL için 100 gönderilmelidir. | 
| customerId | string | 100 | Hayır | test@test.com | Üye işyeri tarafında kayıtlı olan kullanıcının tekil bilgisidir. İster bir id ister bir email olabilir | 
| txnType | String | 20 | Hayır | Auth | Provizyon isteğinde göndermiş olduğunuz işlem tipini giriniz. Gönderilebilecek parametreler aşağıdadır: Auth --> Satış, PreAuth --> Ön Provizyon, PostAuth --> Provizyon kapama, Inquiry --> Ödeme sorgulama, QrAuth --> QR kod ile ödeme, PointAuth --> Puanlı Ödeme | 
| Parametre ismi | Tip | Uzunluk | Açıklama | 
|---|---|---|---|
| orderId | string | 64 | Sipariş ID bilgisi | 
| cardNo | string | 16 | Kart numarası | 
| amount | decimal | 16 | İşlem tutar bilgisi | 
| rnd | string | 16 | İşlem rnd bilgisi | 
| hostReferenceNumber | string | 16 | İşlem referans numarası bilgisi | 
| installmentCount | string | 16 | İşlem taksit bilgisi | 
| totalAmount | string | 16 | İşlem toplam tutar bilgisi | 
| responseHash | string | 16 | Cevap hash bilgisi | 
| vposId | string | 16 | İşlem sanal pos ID bilgisi | 
| vposName | string | 64 | İşlem sanal pos banka bilgisi | 
| authCode | string | 16 | Otorizasyon kodu | 
| tranDate | date | 16 | İşlem tarihi bilgisi | 
| txnType | String | 20 | İşlem Tipi. Gönderilebilecek parametreler aşağıdadır: Auth --> Satış, PreAuth --> Ön Provizyon, PostAuth --> Provizyon kapama, Void --> İptal, Refund --> İade, Inquiry --> Ödeme sorgulama, QrAuth --> QR kod ile ödeme, PointAuth --> Puanlı Ödeme | 
| txnStatus | string | 16 | İşlem durumu. 'Y' --> 'Başarılı', 'E' --> 'Başarısız', 'P' --> 'Beklemede', 'V' --> 'İptal Edildi', 'R' --> 'İade Edildi', 'A' --> 'Satışa Çevrildi', 'K' --> 'Kısmi İade Edildi' | 
| currencyCode | string | 3 | İşlem para birimi | 
| responseCode | string | 16 | İşlem cevap kodu | 
| responseMessage | string | 64 | İşlem cevap mesajı | 
| extraData | string | 64 | İşlem detay verisi | 
| transId | string | 16 | İşlem ID kodu | 
| customerId | string | 64 | İşleme ait müşteri ID'si | 
| merchantId | string | 64 | İşleme ait üye işyeri ID'si | 
| description | string | 2000 | İşleme açıklaması | 
| maturityPeriod | string | 4 | Vade Dönemi | 
| paymentFrequency | string | 4 | Vade Ödeme Sıklığı | 
| cardHolderName | string | 100 | Kart Sahibi Adı Soyadı | 
HTTP Method: POST
Content-Type: application/json
TEST URL: https://ppgpayment-test.birlesikodeme.com:20000/api/ppg/Payment/PaymentInquiry
PROD URL: https://{baseUrl}/api/ppg/Payment/PaymentInquiry
*Prod için baseUrl adresi, size entegrasyon mailinde "paymentBaseUrl" alanında iletilecektir.
{
  "memberId": 0,
  "merchantId": 0,
  "customerId": "string",
  "hash": "string",
  "txnType": "string",
  "rnd": "string",
  "orderNo": "string",
  "totalAmount": "string"
}
{
  "orderId": "string",
  "cardNumber": "string",
  "amount": "string",
  "rnd": "string",
  "hostReferenceNumber": "string",
  "installmentCount": "string",
  "totalAmount": "string",
  "responseHash": "string",
  "vposId": "string",
  "vposName": "string",
  "authCode": "string",
  "tranDate": "string",
  "txnType": "string",
  "txnStatus": "string",
  "currencyCode": "string",
  "responseCode": "string",
  "responseMessage": "string",
  "extraData": "string",
  "transId": 0,
  "customerId": "string",
  "merchantId": 0
}
public static string CreateHash(VposRequest request)
{
var hashPassword =""; // Bu bilgi size özel olup kayıtlı kullanıcınıza mail olarak gönderilmiştir.
var hashString = $"{hashPassword}{request.Rnd}{request.OrderNo}{request.TotalAmount}";
System.Security.Cryptography.SHA512 s512 = System.Security.Cryptography.SHA512.Create();
System.Text.UnicodeEncoding ByteConverter = new System.Text.UnicodeEncoding();
byte[] bytes = s512.ComputeHash(ByteConverter.GetBytes(hashString));
var hash = System.BitConverter.ToString(bytes).Replace("-","");
return hash;
}
var crypto = require('crypto');
var param = "{hashPassword}+{request.Rnd}+{request.OrderNo}+{request.TotalAmount}";
var hash = crypto.createHash('sha512');
data = hash.update(param, 'utf-16le');
hash = data.digest('hex');
console.log("hash : " + hash);
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public static String getSecureData(String dataToHash ){
String generatedHash = null;
try {
MessageDigest md = MessageDigest.getInstance("SHA-512");
byte[] bytes = md.digest(dataToHash.getBytes(StandardCharsets.UTF_16LE));
StringBuilder sb = new StringBuilder();
for(int i=0; i< bytes.length ;i++){
sb.append(Integer.toString((bytes & 0xff) + 0x100,16).substring(1));
}
generatedHash = sb.toString().toUpperCase();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return generatedHash
}
$hash = $hashkey.$rnd.$OrderNo.$totalAmount;
$hash = mb_convert_encoding($hash, "UTF-16LE");
$hashString = hash("sha512", $hash);