From gitlab at videolan.org Sat May 2 20:55:03 2026 From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=) Date: Sat, 02 May 2026 22:55:03 +0200 Subject: [www-doc] [Git][VideoLAN.org/websites][master] donation: add stripe as an option Message-ID: <69f664a7cf293_34239a98952486345a6@gitlab.mail> Felix Paul K?hne pushed to branch master at VideoLAN organization / websites Commits: 25880bc2 by Felix Paul K?hne at 2026-05-02T22:40:04+02:00 donation: add stripe as an option - - - - - 3 changed files: - www.videolan.org/contribute.php - + www.videolan.org/include/donate_stripe.php - + www.videolan.org/stripe/checkout.php Changes: ===================================== www.videolan.org/contribute.php ===================================== @@ -3,6 +3,7 @@ $title = "Contribute to the project"; $lang = "en"; $menu = array( "project", "contribute" ); require($_SERVER["DOCUMENT_ROOT"]."/include/header.php"); +require_once($_SERVER["DOCUMENT_ROOT"]."/include/donate_stripe.php"); ?>
@@ -87,6 +88,23 @@ require($_SERVER["DOCUMENT_ROOT"]."/include/header.php");

VideoLAN is a non-profit organization, under French law. VideoLAN has its own bank account and is responsible for running and maintaining the VideoLAN servers.

+

Donate to VideoLAN via card, Apple Pay, Google Pay or SEPA

+ + +

You can donate by credit or debit card, Apple Pay, Google Pay, + or SEPA Direct Debit (for EUR donations from eligible European bank accounts). + Payments are processed securely by Stripe; + no account is required.

+ +
+

Euros €

+ +
+
+

Dollars $

+ +
+

Donate to VideoLAN via PayPal

===================================== www.videolan.org/include/donate_stripe.php ===================================== @@ -0,0 +1,29 @@ + +
+
+ + + +
+
+ ===================================== www.videolan.org/stripe/checkout.php ===================================== @@ -0,0 +1,99 @@ + 10000000) { + http_response_code(400); + echo 'Amount out of range (minimum 1.00, maximum 100000.00).'; + exit; +} + +$params = [ + 'mode' => 'payment', + 'submit_type' => 'donate', + 'success_url' => 'https://www.videolan.org/thank_you.html?session_id={CHECKOUT_SESSION_ID}', + 'cancel_url' => 'https://www.videolan.org/contribute.html#money', + 'line_items' => [ + [ + 'quantity' => 1, + 'price_data' => [ + 'currency' => strtolower($currency), + 'unit_amount' => $unit_amount, + 'product_data' => [ + 'name' => 'Donation to VideoLAN', + 'description' => 'Development and communication of VideoLAN', + 'images' => [ + 'https://images.videolan.org/images/goodies/Cone-Video-small.png', + ], + ], + ], + ], + ], + 'metadata' => [ + 'item_name' => 'Development and communication of VideoLAN', + ], +]; + +$ch = curl_init('https://api.stripe.com/v1/checkout/sessions'); +curl_setopt_array($ch, [ + CURLOPT_RETURNTRANSFER => true, + CURLOPT_POST => true, + CURLOPT_POSTFIELDS => http_build_query($params, '', '&'), + CURLOPT_HTTPHEADER => [ + 'Authorization: Bearer ' . $secret_key, + 'Content-Type: application/x-www-form-urlencoded', + ], + CURLOPT_TIMEOUT => 15, +]); +$response = curl_exec($ch); +$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE); +$err = curl_error($ch); +unset($ch); + +if ($response === false) { + http_response_code(502); + error_log('donate_stripe: curl error: ' . $err); + echo 'Could not reach payment provider. Please try again later.'; + exit; +} + +$body = json_decode($response, true); +if ($status >= 400 || !isset($body['url'])) { + http_response_code(502); + $msg = isset($body['error']['message']) ? $body['error']['message'] : 'unknown error'; + error_log('donate_stripe: Stripe API error (HTTP ' . $status . '): ' . $msg); + echo 'Could not start the payment session. Please try again later.'; + exit; +} + +header('Location: ' . $body['url'], true, 303); +exit; +?> View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/25880bc2a73f8c2aa5421f7ba01a628259d1f11b -- View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/25880bc2a73f8c2aa5421f7ba01a628259d1f11b You're receiving this email because of your account on code.videolan.org. From gitlab at videolan.org Sun May 3 10:29:25 2026 From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=) Date: Sun, 03 May 2026 12:29:25 +0200 Subject: [www-doc] [Git][VideoLAN.org/websites][master] menu: switch to stripe donation box Message-ID: <69f7238592b03_34239a71cc6e86917bb@gitlab.mail> Felix Paul K?hne pushed to branch master at VideoLAN organization / websites Commits: b99e7f46 by Felix Paul K?hne at 2026-05-03T12:29:13+02:00 menu: switch to stripe donation box The legacy code is left as is for now to allow an easy fallback - - - - - 1 changed file: - www.videolan.org/include/menus.php Changes: ===================================== www.videolan.org/include/menus.php ===================================== @@ -1,6 +1,6 @@
===================================== www.videolan.org/layouts/partials/site/head.html ===================================== @@ -1,5 +1,5 @@ {{- $page := . -}} -{{- $isRTL := eq site.Language.Direction "rtl" -}} +{{- $isRTL := eq site.Language.Params.direction "rtl" -}} View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/aadddc294f7b6fbd95557c5900e1e7ea833d692c -- View it on GitLab: https://code.videolan.org/VideoLAN.org/websites/-/commit/aadddc294f7b6fbd95557c5900e1e7ea833d692c You're receiving this email because of your account on code.videolan.org. From gitlab at videolan.org Tue May 5 11:08:12 2026 From: gitlab at videolan.org (=?UTF-8?B?RmVsaXggUGF1bCBLw7xobmUgKEBma3VlaG5lKQ==?=) Date: Tue, 05 May 2026 13:08:12 +0200 Subject: [www-doc] [Git][VideoLAN.org/websites][hugo-rewrite] hugo: use site.Sites/Data instead of hugo.* for 0.131 compatibility Message-ID: <69f9cf9cd4449_34239a71be7b4110356a@gitlab.mail> Felix Paul K?hne pushed to branch hugo-rewrite at VideoLAN organization / websites Commits: be46a702 by Felix Paul K?hne at 2026-05-05T13:07:49+02:00 hugo: use site.Sites/Data instead of hugo.* for 0.131 compatibility - - - - - 10 changed files: - www.videolan.org/layouts/index.html - www.videolan.org/layouts/partials/site/footer.html - www.videolan.org/layouts/partials/site/head.html - www.videolan.org/layouts/partials/site/sponsors.html - www.videolan.org/layouts/partials/vlc/download-hero.html - www.videolan.org/layouts/partials/vlc/download-os-hero.html - www.videolan.org/layouts/partials/vlc/url.html - www.videolan.org/layouts/release/single.html - www.videolan.org/layouts/shortcodes/vlc-version.html - www.videolan.org/layouts/vlc/list.html Changes: ===================================== www.videolan.org/layouts/index.html ===================================== @@ -154,7 +154,7 @@

{{ i18n "News & Updates" | safeHTML }}

- {{ $en := index (where hugo.Sites "Language.Lang" "en") 0 }} + {{ $en := index (where site.Sites "Language.Lang" "en") 0 }} {{ $news := where $en.RegularPages "Section" "news" }} {{ range first 5 ($news.ByDate.Reverse) }}
===================================== www.videolan.org/layouts/partials/site/footer.html ===================================== @@ -83,14 +83,14 @@
{{- /* Language switcher: jump to the same path under the chosen language. */ -}} - {{- if gt (len hugo.Sites) 1 }} + {{- if gt (len site.Sites) 1 }}
Language: