Ü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. |
İ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];
}