İşlem İade / İptal

Bir ödemenin iade işlemi, belli durumlar için iptal, belli durumlar için iade şeklinde gerçekleştirilir.

İptal: Eğer iade edilecek ödeme için henüz gün sonu olmamışsa ve bu ödemenin daha önce yapılmış bir kısmi iadesi yoksa bu işlem "İptal" olarak adlandırılır.

İade: Eğer iade edilecek ödemenin daha önce bir kısmi iadesi yapılmış ise, ya da ödemenin geçtiği günden farklı bir günde iade isteği gelirse, bu işlem "İade" olarak adlandırılır.

Http metotu, Enpoint, Headers(Başlıklar) ve Request(İstek) bilgileri aşağıda verilmiştir.

Metod API Endpoint Content-Type
POST /api/refund application/json

HASH ANAHTARI OLUŞTURMA

function generateRefundHashKey($amount, $invoice_id, $merchant_key, $app_secret) {

    $data = $amount.'|'.$invoice_id.'|'.$merchant_key;

    $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";
    $hash_key = str_replace('/', '__', $msg_encrypted_bundle);

    return $hash_key;
}

Status Code 100 ve 101 döndüğü durumlar İade işleminin başarılı bir şekilde yapıldığını bildirmektedir. İşlem Durumunu Refunded olarak güncelleyebilirsiniz. Banka tarafında iade işleminin kabul edilmediği durumlarda PayBull Operasyon ekibi tarafından iadeler yapılmaktadır.

status_code transaction_status
100 Refunded
101 Awaiting Refunded

ÖRNEK KODLAR

{
  "amount" : "10",
  "invoice_id" : "c9fa2586-89f5-4898-a6b6-34554fbe1c89",
  "hash_key": "1al1:47tri3g5nM4Snmc_ri3g_R1NylhHZcj0Zu3EuluVWRq9YMaHo2npFjXr7Nfe04po",
  "app_id": "c3d81ae3cc3011ef10dcefa31a458d65",
  "app_secret": "217071ea9f3f2e9b695d8f0039024e64",
  "merchant_key" :"$2y$10$w/ODdbTmfubcbUCUq/ia3OoJFMUmkM1UVNBiIQIuLfUlPmaLUT1he"
}