Kayıtlı Kart Silme

KULLANICI KARTINI SİLME (CAPI DELETE)

1- Bir kullanıcının kayıtlı kartları arasından bir kart silmek için https://www.paytr.com/odeme/capi/delete adresine aşağıdaki parametreleri göndererek istek yapın.

Token üretiminde kullanılacak veriler

Alan adı / tipi Açıklama Zorunlu Kısıtlar
utoken Kart kayıt sonrası ödeme bildiriminde tarafınıza PayTR sisteminden bildirilen kullanıcıya özel token Evet -
ctoken CAPI LIST servisinden kullanıcınıza ait karta token bilgisi Evet -
merchant_salt PayTR Mağaza Paneli > Destek & Kurulum > Entegrasyon Bilgileri sayfası üzerinden ulaşabileceğiniz, mağazanıza özgü değer. Evet -
merchant_key PayTR Mağaza Paneli > Destek & Kurulum > Entegrasyon Bilgileri sayfası üzerinden ulaşabileceğiniz, mağazanıza özgü değer. Evet -


POST REQUEST içeriğinde gönderilecek değerler:

Alan adı / tipi Zorunlu Açıklama
merchant_id (integer) Evet Mağaza No: PayTR tarafından size verilen Mağaza numarası
utoken (string) Evet User Token: Kart kayıt sonrası ödeme bildiriminde tarafınıza PayTR sisteminden bildirilen kullanıcıya özel token
paytr_token (string) Evet PayTR Token: İsteğin sizden geldiğine ve içeriğin değişmediğine emin olmamız için oluşturacağınız değerdir (Hesaplama ile ilgili olarak örnek kodlara bakmalısınız)
ctoken (string) Evet Card Token: Kullanıcının kayıtlı kartını tanımlayan token.


2- Yapılan isteğe aşağıdaki tabloda bulunan değerler JSON formatında dönecektir. Dönen cevaba göre kullanıcınızı bilgilendirebilirsiniz.

Alan adı / tipi Zorunlu Olası/Örnek Değerler
status (string) Status: Yapılan kart silme isteğinin başarılı ya da başarısız olduğunu belirtir success veya error
err_msg (string) Error Message: İstek başarısız olduğu durumlarda err_msg’de hata nedeni döndürülür Örnek: Kart yok veya daha önce silinmiş


    <?php

    ## Kart silmek için örnek kodlar ##

    ####################### DÜZENLEMESİ ZORUNLU ALANLAR #######################
    #
    ## API Entegrasyon Bilgileri - Mağaza paneline giriş yaparak BİLGİ sayfasından alabilirsiniz.
    $merchant_id    = 'XXXXXX';
    $merchant_key   = 'YYYYYYYYYYYYYY';
    $merchant_salt  = 'ZZZZZZZZZZZZZZ';
    #
    ## Kart kayıt sonrası ödeme bildiriminde tarafınıza PAYTR sisteminden bildirilen kullanıcıya özel token
    $utoken = "";
    #
    ## Kullanıcının kayıtlı kartını tanımlayan token (Kullanıcı kayıtlı kart listesini alma sonucunda dönen yanıtta bulunur)
    $ctoken = "";
    #
    ############################################################################################

    ####### Bu kısımda herhangi bir değişiklik yapmanıza gerek yoktur. #######
    $hash_str = $ctoken . $utoken . $merchant_salt;
    $paytr_token=base64_encode(hash_hmac('sha256', $hash_str, $merchant_key, true));
    $post_vals=array(
        'merchant_id'=>$merchant_id,
        'ctoken'=>$ctoken,
        'utoken'=>$utoken,
        'paytr_token'=>$paytr_token
    );
    ############################################################################################

    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.paytr.com/odeme/capi/delete");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1) ;
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_vals);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);

    //XXX: DİKKAT: lokal makinanızda "SSL certificate problem: unable to get local issuer certificate" uyarısı alırsanız eğer
    //aşağıdaki kodu açıp deneyebilirsiniz. ANCAK, güvenlik nedeniyle sunucunuzda (gerçek ortamınızda) bu kodun kapalı kalması çok önemlidir!
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

    $result = @curl_exec($ch);

    if(curl_errno($ch))
        die("PAYTR CAPI Delete connection error. err:".curl_error($ch));

    curl_close($ch);

    $result=json_decode($result,1);

    if($result['status']=='success')
        echo "Kart silindi!";
    else
        die("PAYTR CAPI Delete failed. Error:".$result['err_msg']);

    ?>

Delete Card Servisi örnek kodlarını indirmek için tıklayın.