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
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ı |
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ı |
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.
{
"memberId": 0,
"merchantId": 0,
"customerId": "string",
"hash": "string",
"rnd": "string",
"orderNo": "string"
}
{
"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
}
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);