Kart Kaydetme

Kart Kayıt servisi, kart bilgilerini Sipay Sisteminde saklamak ve bir tokenı geri göndermek için kullanılır.

payByCardToken API'de kullanılacak yanıt.

İstek

Method URL İçerik TÜrü
POST /api/saveCard application/json


Type Parametre Data Type Şart
Key merchant_key string Zorunlu
Key card_holder_name string Zorunlu
KEY card_number number Zorunlu
KEY expiry_month string Zorunlu
KEY expiry_year string Zorunlu
KEY customer_number number-unique Zorunlu
KEY hash_key string Zorunlu
KEY customer_name string Opsiyonel
KEY customer_phone string Opsiyonel

Authorization

Authorization bağlantı girişimine izin verildiğini doğrulayan tanımlayan bir başlık anahtarıdır. Yöntem “Bearer” olmalıdır

Örnek değer

Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImRlMGVlZGFiZjdhZDhkODYzYTgyMzQ4Nzk
5NTFkYzFlMDZkZTUxYjU0NWRjYmU3MzRjMmQ1OGNkMWFlOWE4YjliZTkyMjdlZGVmZDdlMDliIn0.eyJ
hdWQiOiIxNSIsImp0aSI6ImRlMGVlZGFiZjdhZDhkODYzYTgyMzQ4Nzk5NTFkYzFlMDZkZTUxYjU0NWR
jYmU3MzRjMmQ1OGNkMWFlOWE4YjliZTkyMjdlZGVmZDdlMDliIiwiaWF0IjoxNTczNzUyNDcyLCJuYm
YiOjE1NzM3NTI0NzIsImV4cCI6MTYwNTM3NDg3Miwic3ViIjoiMSIsInNjb3BlcyI6W119.mDtdzcv15p
8SnYjZYJUJrhdskO5NohXbkcAxKWWZ72lNtrg86RZ1yxQwfQlRu6IPoa1rfG3M4jfsNeH-Sh7g6PaVf
fIoKvjdcUG7Cc2lLqhE4qMEdPgO28luCMOFf6UHn6XxeEhK3XWaboZJvrubdeb0t04a6btr
dHUa-FgeV6I8bNSRlzUjOjBcsVrd1pxKhKnsREFHCWfzYVC_ZQ4RRCi9CZsJGz7_KQ8mo0BdNmtbNKwfvY
kpcdsmVicsJYvnw7OMZ3u-TorhakndhQkUK0JPAzl_LSHqAKCju8dTG1-vZjbh9ifRB85TGwW4HimQk46R
PG9Hp6kydLnuhFOkbvGpaxcs5qyZ67-cmjDa6aeGNjZHfNa7dQ8bTokdbkxqwKrVVUUVjgkMtPXhpL9
yffaHHPNBCkc-1Vz40nsmNFeaoWlk2S7fDxFTcGYv8HFFiSRyfsPpfTbXPIRMoZUX1kC4c-DMyQmjuBq
txIwEFzJexs9PkZEUze5Qcm_ZrkqeKUlL4tJidO9ZzwfCI9bpihMATHlDyM6IP7Xyhg
MRt3yr2WvzxuxavqSyu09YlybYU0WpTUtDVOavL7xnuKBXhwDSoCjtCMh__tL9ZfK9lDvq6mrHQ5Z
4RXLixvWMbl98_Btbnfg_SqnCNYwL14FSHyeb3lnuF8VFyERwbf-tAlI

Acceept

Accept client tarafında ne tür bir temsilin isteneceğini belirler. Değer “application / json” olmalıdır

merchant_key

merchant_key Sipay tarafından kuruma sağlanan eşsiz anahtarıdır

card_holder_name

card_holder_name kartın isim bilgisi

card_number

card_number kart numara bilgisi

expiry_month

expiry_month kartın son kullanıl ay bilgisi

expiry_year

expiry_year kartın son kullanıl yıl bilgisi

customer_number

customer_number kart bilgisi kaydedilecek müşterinin numarası, bu numara numerik ve eşşiz bir değer olmalıdır

customer_name

customer_name kart bilgisi kaydedilecek müşterinin adı

customer_phone

customer_phone kart bilgisi kaydedilecek müşterinin telefon numarası

hash_key

hash_keyi kullanıcının kart saklama aşamasında değişiklik yapmasını engellemek ve kart kaydetme işleminin güvenli bir şekilde sonuçlanmasını sağlamak için kullanılır. Aşağıda verilen hash anahtarını yazmak için kullanılan algoritma:

function generateHashKey($merchant_key, $customer_number, $card_number, $card_holder_name, $customer_number, $expiry_month, $expiry_year, $app_secret) { $data = $merchant_key.'|'. $customer_number '|'.$card_holder_name.'|'.$card_number.'|'.$expiry_month.'|'.$expiry_year;

$iv = substr(sha1(mt_rand()), 0, 16); $password = sha1($app_secret);

$salt = substr(sha1(mt_rand()), 0, 4); $saltWithPassword = hash('sha256', $password . $salt);

$encrypted = openssl_encrypt("$data", 'aes-256-cbc', "$saltWithPassword", null, $iv);

$msg_encrypted_bundle = "$iv:$salt:$encrypted"; $msg_encrypted_bundle = str_replace('/', '__', $msg_encrypted_bundle);

return $msg_encrypted_bundle; }

Yanıt

Başarısız Yanıt

{
   "status_code": "86",
"status_description": "The card token save failed"
}

Başarılı Yanıt

{
    "status_code": 100,
    "status_description": "The card token saved successfully",
    "card_token": "WNPDZDQNMVNRQO23IAHKDKXIWCRGWHEXCFNRDXXK5CMXGM5A"
}