Banka Sipariş Sorgula

Bankadan sipariş 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

Servise gönderilmesi gereken parametreler şu şekildedir:
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
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
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 Hayır 123456 İşlem sipariş numarası
Servisten dönen parametreler şu şekildedir. List tipinde sonuç dönecektir:
Parametre ismi Tip Uzunluk Açıklama
orderId string 64 Sipariş ID bilgisi
cardNo string 16 Kart numarası
ccNo string 16 Kart numarası
amount decimal 16 İşlem tutar 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 statüsü
hostLogKey string 16 host log anahtar bilgisi
currencyCode string 3 İşlem para birimi
responseCode string 16 İşlem cevap kodu
responseMessage string 64 İşlem cevap mesajı
Örnek JSON formatında istek ve cevaplar aşağıdadır:

HTTP Method: POST

Content-Type: application/json

TEST URL: https://ppgpayment-test.birlesikodeme.com:20000/api/ppg/Payment/OrderInquiry

PROD URL: https://{baseUrl}/api/ppg/Payment/OrderInquiry

*Prod için baseUrl adresi, size entegrasyon mailinde "paymentBaseUrl" alanında iletilecektir.

Request
{
  "memberId": 0,
  "merchantId": 0,
  "customerId": "string",
  "hash": "string",
  "rnd": "string",
  "orderNo": "string"
}
Response
{
  "fail": false,
  "statusCode": 200,
  "result": [
    {
      "orderId": "4d2b3fa9-ed44-48da-a3fa-04ba701e5416",
      "cardNo": "4546 71** **** 7894",
      "ccNo": null,
      "amount": "586.86",
      "authCode": "647913",
      "tranDate": "2021-05-26 08:43:39.922",
      "txnType": "Satış",
      "txnStatus": null,
      "hostLogKey": null,
      "currencyCode": "TL",
      "responseCode": "00",
      "responseMessage": null
    }
  ],
  "errorCode": null,
  "errorDescription": null
}

HASH Hesaplama



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.OrderNo}{request.Rnd}";

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.OrderNo}+{request.Rnd}";

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.$OrderNo.$rnd;

$hash = mb_convert_encoding($hash, "UTF-16LE");

$hashString = hash("sha512", $hash);