Satış Ortağı Ödeme Talepleri
Ortakların açtığı ödeme taleplerini gören ve sonuçlandıran üç uç.
Genel Bakış
Satış ortağı kazandığı komisyonu doğrudan alamaz; bir ödeme talebi açar ve ekip bunu onaylar. Bu makale o talepleri gören ve sonuçlandıran üç ucu anlatır.
Talep beş durumdan birindedir: bekliyor, işlemde, tamamlandı, reddedildi, iptal edildi. Yalnız tamamlandı durumu paranın gerçekten çıktığı andır ve ortağın bakiyesinden düşer.
Bakiye hareketi bu yüzden kritiktir: onay parayı düşürür, silme geri verir, ret ise bakiyeye dokunmaz. Üçünü aynı sanmak ortağa yanlış borç gösterir.
Referans
Ödeme Taleplerini Listeleme
Satış ortaklarının açtığı ödeme taleplerini döndürür.
awaiting, process, completed, rejected ya da cancelled.curl 'https://panel.ornek.com/api/v1/admin/affiliates/withdrawals?status=awaiting' \
-H "Authorization: Bearer $API_KEY"const res = await fetch('https://panel.ornek.com/api/v1/admin/affiliates/withdrawals?status=awaiting', {
headers: { Authorization: `Bearer ${apiKey}` },
});
const { data, meta } = await res.json();
const owed = data.reduce((s, w) => s + Number(w.amount), 0);$ch = curl_init('https://panel.ornek.com/api/v1/admin/affiliates/withdrawals?status=awaiting');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Tutarlar HER TALEBIN kendi para biriminde; toplamadan once cevirmeniz gerekir.
$rows = Api::Affiliates()->GetWithdrawals([], ['status' => 'awaiting'])['data'];
$byCurrency = [];
foreach ($rows as $w) $byCurrency[$w['currency']] = ($byCurrency[$w['currency']] ?? 0) + (float) $w['amount'];Talepleri Toplu İşleme
Birden çok ödeme talebini onaylar, reddeder ya da siler.
approve, reject ya da delete.curl -X POST 'https://panel.ornek.com/api/v1/admin/affiliates/withdrawals/bulk' \
-H "Authorization: Bearer $API_KEY" \
-H 'Content-Type: application/json' \
-d '{"action":"approve","ids":[3,5]}'const res = await fetch('https://panel.ornek.com/api/v1/admin/affiliates/withdrawals/bulk', {
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'approve', ids: [3, 5] }),
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/affiliates/withdrawals/bulk');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['action' => 'approve', 'ids' => [3, 5]]),
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// ONAY bakiyeden duser, RET bakiyeyi GERI VERMEZ; parayi iade eden tek is silmedir.
Api::Affiliates()->BulkWithdrawals(['action' => 'approve', 'ids' => [3, 5]]);
// yanlis onayladiysaniz: reject degil delete
Api::Affiliates()->BulkWithdrawals(['action' => 'delete', 'ids' => [3]]);Tek Talebi Silme
Tek bir ödeme talebini siler ve gerekiyorsa tutarı geri verir.
curl -X DELETE 'https://panel.ornek.com/api/v1/admin/affiliates/withdrawals/3' \
-H "Authorization: Bearer $API_KEY"const res = await fetch(`https://panel.ornek.com/api/v1/admin/affiliates/withdrawals/${wid}`, {
method: 'DELETE',
headers: { Authorization: `Bearer ${apiKey}` },
});
const body = await res.json();$ch = curl_init('https://panel.ornek.com/api/v1/admin/affiliates/withdrawals/' . $wid);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $apiKey],
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);// Toplu silmeden tek farki: bulunamayan numara burada 404 verir, toplu iste sessizce atlanir.
Api::Affiliates()->DeleteWithdrawal(['wid' => $wid]);Tuzaklar
Onay tutarı ortağın bakiyesinden düşer. Ret ise yalnız durumu yazar ve düşülen tutarı geri koymaz; bu yüzden onaylanmış bir talebi reddetmek parayı ortağın bakiyesinden kalıcı olarak eksiltir. Yanlış onaydan dönmenin yolu ret değil silmedir.
Onay yalnız talep tamamlanmış değilken bakiyeden düşer. Onayladığınız bir talebi reddedip yeniden onaylarsanız durum tamamlanmış olmaktan çıktığı için ikinci kez düşer ve ortak aynı ödeme için iki kez eksilir. Böyle bir turdan sonra bakiyeyi elle doğrulayın.
processed alanı gönderdiğiniz numaraların aynısıdır. Bulunamayan bir talep sessizce atlanır, ama numarası yine bu listede görünür. Toplu bir işin gerçekten oturduğunu görmek için listeleme ucundan durumları geri okuyun.
Bakiyeden düşen her iş sonucu sıfırda tutar. Bakiyeden büyük bir talebi onaylarsanız bakiye sıfır olur ve aradaki fark kaybolur; hata dönmez. Onaydan önce talep tutarını ortağın bakiyesiyle karşılaştırın.
Tek talep silme ile toplu silme aynı işi yapar ve tamamlanmış talepte tutarı ikisi de geri verir. Tek fark bulunamayan numaradadır: tek silme 404 döndürür, toplu silme sessizce atlar. Var olduğundan emin olmadığınız numarada tek uç daha güvenlidir.
İlgili Makaleler
Geri bildiriminiz için teşekkürler!
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.