prepare('SELECT r.*, b.name as band_name, b.price as band_price
FROM requests r
JOIN bands b ON b.id = r.band_id
WHERE r.id = :id AND r.user_id = :user_id');
$stmt->execute([':id' => $requestId, ':user_id' => $user['id']]);
$request = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$request) {
http_response_code(404);
echo 'Anfrage nicht gefunden';
exit;
}
$settings = settings();
if ($settings['paypal_enabled'] !== '1') {
http_response_code(403);
echo 'PayPal-Zahlungen sind derzeit nicht aktiviert';
exit;
}
// Calculate amounts
$bandPrice = (int) $request['band_price'];
$serviceFeePercent = (float) $settings['service_fee'];
$serviceFee = $bandPrice * ($serviceFeePercent / 100);
$totalAmount = $bandPrice + $serviceFee;
// Check if already paid
$stmt = db()->prepare('SELECT * FROM payments WHERE request_id = :id AND status = "completed"');
$stmt->execute([':id' => $requestId]);
$existingPayment = $stmt->fetch(PDO::FETCH_ASSOC);
if ($existingPayment) {
$message = 'Diese Buchung wurde bereits bezahlt.';
}
?>
PayPal Zahlung – = SITE_NAME ?>
= htmlspecialchars($message) ?>
Buchungsdetails
Band: = htmlspecialchars($request['band_name']) ?>
Event-Datum: = htmlspecialchars($request['event_date']) ?>
Location: = htmlspecialchars($request['location']) ?>
Event-Typ: = htmlspecialchars($request['event_type']) ?>
Zahlungsübersicht
Band-Gage: = formatPrice($bandPrice) ?>
Service Fee (= htmlspecialchars($serviceFeePercent) ?>%): = formatPrice((int) $serviceFee) ?>
Gesamtbetrag: = formatPrice((int) $totalAmount) ?>
Hinweis: Dies ist eine Demo-Integration. Für die Produktivumgebung benötigen Sie echte PayPal API-Credentials.
Aktuell wird im Sandbox-Modus gearbeitet.