diff --git a/browser/app/payments/sumup.py b/browser/app/payments/sumup.py index 21c3e0b..227d4f5 100644 --- a/browser/app/payments/sumup.py +++ b/browser/app/payments/sumup.py @@ -42,8 +42,16 @@ async def create_checkout( redirect_url: str, webhook_url: str | None = None, description: str | None = None, + page_config: Any | None = None, ) -> Dict[str, Any]: settings = _sumup_settings() + + # Per-page SumUp credentials override globals + if page_config and getattr(page_config, "sumup_api_key", None): + settings["api_key"] = page_config.sumup_api_key + if page_config and getattr(page_config, "sumup_merchant_code", None): + settings["merchant_code"] = page_config.sumup_merchant_code + # Use stored reference if present, otherwise build it checkout_reference = order.sumup_reference or f"{settings['checkout_reference_prefix']}{order.id}"