Selamlar.
Callback url doğru yapılandırıldı mı her 2 tarafta? Bazen http-https protokolleri veya yazım hataları nedeniyle sıkıntı çıkabiliyor, örneğin shopier tarafında callback http ile başlıyor olabilir.
Shopier'dan gelen POST verilerini doğru şekilde aldığınızdan emin olun. Şu anda $_POST kullanıyorsunuz, ancak bazen bu veriler php://input üzerinden gelebilir. Şu şekilde kontrol edebilirsiniz:
$postData = json_decode(file_get_contents('php://input'), true);
if (empty($postData)) {
$postData = $_POST;
}Callback fonksiyonunun çalışıp çalışmadığını anlamak için daha detaylı loglama yapabilirsiniz
file_put_contents('odeme_log.txt', date('Y-m-d H:i:s') . " - Callback çağrıldı\n", FILE_APPEND);
file_put_contents('odeme_log.txt', print_r($postData, true) . "\n", FILE_APPEND);Veritabanı işlemlerinin başarılı olup olmadığını kontrol edin. Her sorgudan sonra hata kontrolü yapabilirsiniz:
$updateBalance = $vt->prepare("UPDATE users SET balance = ? WHERE id = ?");
if (!$updateBalance->execute([$newBalance, $paymentInfo->user_id])) {
file_put_contents('odeme_log.txt', "Bakiye güncelleme hatası: " . print_r($updateBalance->errorInfo(), true) . "\n", FILE_APPEND);
}