İade WebHook

Üye iş yerinin, İade Webhook URL adresindeki Paybull üye iş yeri panelinde geri ödeme web hook URL'nizi (anahtar/key, değer/value) ayarlaması gerekir. İade için, refund_webhook_key anahtarı gönderilmelidir.

İade onayında, aşağıda verilen aşağıdaki parametrelerle üye işyeri iade webhook url'ine bir POST isteği gönderilir.

Parametre Açıklama
invoice_id Ödemeyi başlattığın benzersiz fatura numarası
order_id Paybull tarafından oluşturulan benzersiz sipariş numarası
amount Tutar
status İşlem durumu. Completed / Failed
hash_key Paybull tarafından işlemin hash anahtarı. bkz.

Hash Anahtarını Kullanarak WebHook İade Yanıt Doğrulaması

İade Onayında Paybull, web hook url'sine bir gönderi isteği gönderir. Bu bağlantılarla ilgili sorun, anonim bir kişi tarafından erişilebilmesidir. Bu sorunu önlemek için, istek parametreleriyle birlikte durum, invoice_id, order_id, amount ve hash_key gibi bağlantılara bazı parametreler eklendiğinden, talebin hash anahtarı kullanılarak doğrulanması önerilir.

function validateHashKey($hash_key, $secret_key){
    $status = '';
    $amount = $invoice_id = $order_id = 0;
    if (!empty($hash_key)) {
        $hash_key = str_replace('__', '/', $hash_key);
        $password = sha1($secret_key);
        $components = explode(':', $hash_key);
        if (count($components) >2) {
            $iv = $components[0] ?? '';
            $salt = $components[1] ?? '';
            $salt = hash('sha256', $password . $salt);
            $encrypted_msg = $components[2] ?? '';
            $decrypted_msg = openssl_decrypt($encrypted_msg, 'aes-256-cbc', $salt, null, $iv);
            if (strpos($decrypted_msg, '|') !== false){
                $array = explode('|', $decrypted_msg);
                $status = $array[0] ?? 0;
                $amount = $array[1] ?? 0;
                $invoice_id = $array[2] ?? '0';
                $order_id = $array[3] ?? 0;
            }
        }
    }
    return [$status, $amount, $invoice_id, $order_id];
}