Müşteri Kartlarını Listeleme

Üye işyerine bağlı kaydedilmiş kartları 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 integer 16 Evet 1 Her zaman 1
merchantId string 16 Evet 2 Üye işyeri ID bilginiz
customerId string 16 Hayır 123 Müşteri ID bilgisi
userCode string 16 Evet apiUserCode Kullanıcı kodu bilgisi
rnd integer 64 Evet 012345 İşlem tanımsal değeri
hash string 64 Evet *** Hash bilgisi
Servisten dönen parametreler şu şekildedir:
Parametre ismi Tip Uzunluk Açıklama
cardStatus string 16 Kart statüsü. A --> Açık
customerId string 16 Müşteri ID bilgisi
cardHolderName string 16 Kart hamili adı soyadı
cardMask string 16 Maskeli kart numarası
priorityRate string 16 İşlem öncelik sırası
cardAlias string 16 Kart takma adı
cardBin string 6 Kart BIN bilgisi
expireDate string 6 Kart geçerlilik tarihi
secureDataId string 64 Kart güvenlik verisi ID bilgisi
Ö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/Cardlist

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

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

Request
{
 "MemberId": 1,
 "MerchantId": 2,
 "CustomerId": "123",
 "UserCode": "apiUserCode",
 "Rnd": "637177919941800711",
 "Hash": "*******"
}
Response
{
 "fail": false,
 "statusCode": 200,
 "result": [
 {
 "cardStatus": "A",
 "customerId": "123",
 "cardHolderName": "",
 "cardMask": "522221******5853",
 "priorityRate": 1,
 "cardAlias": "",
 "cardBin": 522221,
 "expireDate": 421,
 "secureDataId": 123,

 },
 .
 .

 ]
}

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

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

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

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

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

C# ile Hesaplama Metodu

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.UserCode}{request.Rnd}{request.CustomerId}";
 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;
 }
Java ile Hesaplama Metodu

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[i] & 0xff) + 0x100,
16).substring(1));
 }
 generatedHash = sb.toString().toUpperCase();

 } catch (NoSuchAlgorithmException e) {
 e.printStackTrace();
 }
 return generatedHash;
}
PHP ile Hesaplama Metodu

$hash = $hashkey . $userCode . $rnd . $customerId;
$hash= mb_convert_encoding($hash, "UTF-16LE");
$hashString = hash("sha512", $hash);