CINXE.COM
Soutenez notre association
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr_FR" lang="fr_FR"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"/> <title>Soutenez notre association</title> <meta name="description" content="Soutenez notre association en effectuant un don" /> <meta name="keywords" content="association,don,dons,donner,soutenir" /> <link type="text/css" href="https://donate.cernandsocietyfoundation.cern/themes/default/css/style_v2.css?hash=431af37a1d48fa5580562bd86e2a7121" rel="stylesheet" /> <script type="text/javascript"> // <![CDATA[ const cacheVersion = "24070"; var gamonitoring_previous_page = sessionStorage.getItem('gamonitoring_previous_page') || document.referrer || "https:\/\/donate.cernandsocietyfoundation.cern"; var gamonitoring_session_id = sessionStorage.getItem('gamonitoring_session_id') || String(Math.floor(Math.random() * 8999999999) + 1000000000)+'.'+String(Math.floor(Date.now()/1000)); var gamonitoring_v2_client_id = gamonitoring_session_id; var gamonitoring_v2_session_id = gamonitoring_v2_client_id.replace(/^.*\./, ''); var gamonitoring_sc = ''; if(!sessionStorage.getItem('gamonitoring_session_id')) gamonitoring_sc = 'start'; if(typeof(monitoringvga)=='undefined'){ monitoringvga=1; monitoring_serialize=serialize=function(n){var e=[];for(var o in n)n.hasOwnProperty(o)&&n[o]&&e.push(encodeURIComponent(o)+"="+encodeURIComponent(n[o]));return e.join("&")}; try{ var head = document.getElementsByTagName('HEAD')[0]; document.addEventListener('DOMContentLoaded', function(event) { var monitoringparams = {z:Math.random(),cid:"donate.cernandsocietyfoundation.cern\/"+gamonitoring_session_id,dl:"https:\/\/donate.cernandsocietyfoundation.cern\/CERN\/b:steps\/cid=3",sc:gamonitoring_sc,dr:gamonitoring_previous_page,cd:"2025-03-01:12.51.54-67c2f4da29fa6",dt:window.location.host+'/'+"donations",ul:"fr-FR",ds:"web",}; var inputs = document.querySelectorAll('input[type=hidden][name=context_form_id]'), i; var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'https://monitoring.iraiser.eu/check.css?'+monitoring_serialize(monitoringparams); head.appendChild(link); var input = document.createElement("input"); input.setAttribute("type", "hidden"); input.setAttribute("name", "private_monitoring_session_id"); input.setAttribute("value", "donate.cernandsocietyfoundation.cern\/"+gamonitoring_session_id); for (i = 0; i < inputs.length; ++i) { inputs[i].parentNode.insertBefore(input, inputs[i]); } var link_v2 = document.createElement('link'); monitoringparams.cid = gamonitoring_v2_client_id; monitoringparams.sid = gamonitoring_v2_session_id; link_v2.rel = 'stylesheet'; link_v2.type = 'text/css'; link_v2.href = 'https://monitoring.iraiser.eu/v2/check.css?'+monitoring_serialize(monitoringparams); head.appendChild(link_v2); var input_v2_client_id = document.createElement("input"); input_v2_client_id.setAttribute("type", "hidden"); input_v2_client_id.setAttribute("name", "private_monitoring_v2_client_id"); input_v2_client_id.setAttribute("value", gamonitoring_v2_client_id); var input_v2_session_id = document.createElement("input"); input_v2_session_id.setAttribute("type", "hidden"); input_v2_session_id.setAttribute("name", "private_monitoring_v2_session_id"); input_v2_session_id.setAttribute("value", gamonitoring_v2_session_id); for (i = 0; i < inputs.length; ++i) { inputs[i].parentNode.insertBefore(input_v2_client_id, inputs[i]); inputs[i].parentNode.insertBefore(input_v2_session_id, inputs[i]); } }); window.onerror = function (eventOrMessage, url, lineNumber, colNumber, error) { var monitoringerrorparams = {z:Math.random(),cid:"donate.cernandsocietyfoundation.cern\/"+gamonitoring_session_id,t:"event",ec:"JSError",ev:1,ea:"\/CERN\/b:steps\/cid=3\/",}; if (!eventOrMessage) { return; } if (typeof eventOrMessage !== 'string') { error = eventOrMessage.error; url = eventOrMessage.filename || eventOrMessage.fileName; lineNumber = eventOrMessage.lineno || eventOrMessage.lineNumber; colNumber = eventOrMessage.colno || eventOrMessage.columnNumber; eventOrMessage = eventOrMessage.message || eventOrMessage.name || error.message || error.name; } if (error && error.stack) { eventOrMessage = [eventOrMessage, '; Stack: ', error.stack, '.'].join(''); } var jsFile = (/[^/]+\.js/i.exec(url || '') || [])[0] || 'inline', eventOrMessage = eventOrMessage.replace(/https?\:\/\/[^/]+/gi, '').replace(/[?&]context_form_[^ &]+/gi, ''); stack = [eventOrMessage, ' > ' + jsFile, ':', lineNumber || '?', ':', colNumber || '?'].join('').substring(0,450); monitoringerrorparams.ea += jsFile; monitoringerrorparams.el = stack; var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'https://monitoring.iraiser.eu/error.css?'+monitoring_serialize(monitoringerrorparams); head.appendChild(link); monitoringerrorparams.cid = gamonitoring_v2_client_id; monitoringerrorparams.sid = gamonitoring_v2_session_id; var link_v2 = document.createElement('link'); link_v2.rel = 'stylesheet'; link_v2.type = 'text/css'; link_v2.href = 'https://monitoring.iraiser.eu/v2/error.css?'+monitoring_serialize(monitoringerrorparams); head.appendChild(link_v2); } } catch (error) {console.error(error);} sessionStorage.setItem('gamonitoring_previous_page',gamonitoring_previous_page); sessionStorage.setItem('gamonitoring_session_id',gamonitoring_session_id); } // ]]> </script><script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/jquery-1.11.2.min.js?hash=5790ead7ad3ba27397aedfa3d263b867" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/jquery.patch.min.js?hash=8c3155becb5ec93b830922ca82081911" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/jquery.cookie-1.0.min.js?hash=6f6ed3cd5486dbf3bb9143eea287a6a5" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/dnterrors.min.js?hash=af6b6c3691e205792b5ad49d7fa92b5a" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/jquery.config.min.js?hash=aae7bb01c8a0e6da615dd41aaafab4b5" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/dynamic_form.min.js?hash=d0fa20a4d6821cc2aeba535277ff9b6e" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/step1.min.js?hash=9f5ee1cdcfc17951a981e36d87e9a39a" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/step2.min.js?hash=fc9d12b26133396b31c1dde1bbfcf963" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/step3.min.js?hash=771c3951e11e0c848809922564437423" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/steps.min.js?hash=16e160d27e772967b816c0ec55f712ab" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/jquery.ir-priceinput.min.js?hash=07482ff72021c2c53278074abe52347f" ></script> <script type="text/javascript" src="https://donate.cernandsocietyfoundation.cern/themes/default/js/common.min.js?hash=ef2e383a6a180f6fe62a1f93d12c1436" ></script> <script type="text/javascript"> // <![CDATA[ old_console_log = console.log; if(typeof $.cookie == 'undefined' || !$.cookie('DntManager')){ console.log = function(){}; } if(typeof(String.prototype.replaceAll) == 'undefined') String.prototype.replaceAll = String.prototype.replace; var ira_form_version = 'b'; Common.price_pattern = "1,22 \u20ac" Common.price_default_currency = "CHF" Common.price_campaign_currency = "CHF" Common.price_currencies = {"EUR":"\u20ac","USD":"$","AED":"DH","AFN":"AFN","ALL":"Lek","AMD":"AMD","ANG":"ANG","AOA":"Kz","ARS":"$","AUD":"$","AWG":"AWG","AZN":"AZN","BAM":"KM","BBD":"BBD","BDT":"\u09f3","BGN":"\u043b\u0432","BHD":".\u062f.\u0628 ","BIF":"BIF","BMD":"BMD","BND":"B$","BOB":"BOB","BRL":"R$","BSD":"BSD","BTC":"BTC","BTN":"BTN","BWP":"BWP","BYN":"BYN","BYR":"p.","BZD":"BZD","CAD":"$","CDF":"CDF","CHF":"CHF","CLF":"CLF","CLP":"$","CNY":"CN\u00a5","COP":"$","CRC":"CRC","CUC":"CUC","CUP":"CUP","CVE":"CVE","CYP":"\u00a3","CZK":"K\u010d","DJF":"DJF","DKK":"DKK","DOP":"DOP","DZD":"D.A.","EGP":"E\u00a3","ERN":"ERN","ETB":"ETB","FJD":"FJD","FKP":"FKP","GBP":"\u00a3","GEL":"GEL","GGP":"GGP","GHS":"GH\u20b5","GIP":"GIP","GMD":"GMD","GNF":"GNF","GTQ":"Q","GYD":"GYD","HKD":"$","HNL":"HNL","HRK":"kn","HTG":"HTG","HUF":"Ft","IDR":"Rp","ILS":"\u20aa","IMP":"IMP","INR":"\u20b9","IQD":"\u062f.\u0639","IRR":"IRR","ISK":"kr","JEP":"JEP","JMD":"JMD","JOD":"\u062f.\u0623","JPY":"\u00a5","KES":"KES","KGS":"KGS","KHR":"KHR","KMF":"KMF","KPW":"KPW","KRW":"\u20a9","KWD":"\u062f.\u0643 ","KYD":"KYD","KZT":"KZT","LAK":"LAK","LBP":"\u0644.\u0644.","LKR":"LKR","LRD":"LRD","LSL":"LSL","LTL":"LTL","LVL":"LVL","LYD":"LYD","MAD":"\u062f.\u0645","MDL":"MDL","MGA":"MGA","MKD":"\u0434\u0435\u043d","MMK":"MMK","MNT":"MNT","MOP":"MOP","MRO":"MRO","MUR":"MUR","MVR":"MVR","MWK":"MWK","MXN":"MX$","MYR":"RM","MZN":"MZN","NAD":"NAD","NGN":"\u20a6","NIO":"NIO","NOK":"kr","NPR":"NPR","NZD":"$","OMR":"\u0631.\u0639.","PAB":"PAB","PEN":"S\/.","PGK":"PGK","PHP":"\u20b1","PKR":"\u20a8","PLN":"z\u0142","PYG":"Gs","QAR":"QR","RON":"RON","RSD":"RSD","RUB":"\u0440\u0443\u0431","RWF":"RF","SAR":"SR","SBD":"SBD","SCR":"SCR","SDG":"SDG","SEK":"kr","SGD":"$","SHP":"SHP","SLL":"SLL","SOS":"SOS","SRD":"SRD","STD":"STD","SVC":"SVC","SYP":"SYP","SZL":"SZL","THB":"\u0e3f","TJS":"TJS","TMT":"TMT","TND":"DT","TOP":"TOP","TRY":"\u20ba","TTD":"TTD","TWD":"TWD","TZS":"TZS","UAH":"\u20b4","UGX":"UGX","UYU":"$U","UZS":"UZS","VEF":"VEF","VES":"Bs. S","VND":"\u20ab","VUV":"VUV","WST":"WST","XAF":"FCFA","XAG":"XAG","XAU":"XAU","XCD":"XCD","XDR":"XDR","XOF":"CFA","XPF":"XPF","YER":"YER","ZAR":"R","ZMK":"ZMK","ZMW":"ZK","ZWL":"ZWL"} Common.price_rates = {"AED":3.853523,"AFN":76.65755,"ALL":98.868808,"AMD":417.749656,"ANG":1.884082,"AOA":959.452945,"ARS":1106.527024,"AUD":1.647516,"AWG":1.888475,"AZN":1.781982,"BAM":1.953227,"BBD":2.110819,"BDT":127.02266,"BGN":1.95319,"BHD":0.393973,"BIF":3095.463022,"BMD":1.049153,"BND":1.402625,"BOB":7.223484,"BRL":6.004879,"BSD":1.045403,"BTC":1.0885333e-5,"BTN":90.6326,"BWP":14.419729,"BYN":3.421228,"BYR":20563.395738,"BZD":2.099934,"CAD":1.487033,"CDF":3006.872018,"CHF":0.944763,"CLF":0.02575,"CLP":988.134016,"CNY":7.610526,"CNH":7.605597,"COP":4327.923345,"CRC":530.091551,"CUC":1.049153,"CUP":27.80255,"CVE":110.119928,"CZK":25.035949,"DJF":186.164746,"DKK":7.460709,"DOP":64.983152,"DZD":141.815469,"EGP":53.117354,"ERN":15.737293,"ETB":133.902045,"EUR":1,"FJD":2.410215,"FKP":0.843156,"GBP":0.833426,"GEL":2.963876,"GGP":0.843156,"GHS":16.151722,"GIP":0.843156,"GMD":75.017529,"GNF":9037.921133,"GTQ":8.070368,"GYD":218.721855,"HKD":8.163406,"HNL":26.651381,"HRK":7.580209,"HTG":136.788491,"HUF":402.20481,"IDR":17000.420223,"ILS":3.722284,"IMP":0.843156,"INR":91.017524,"IQD":1369.495823,"IRR":44156.270712,"ISK":147.122557,"JEP":0.843156,"JMD":165.079377,"JOD":0.744375,"JPY":158.971315,"KES":135.497552,"KGS":91.748452,"KHR":4185.486032,"KMF":491.635933,"KPW":944.332047,"KRW":1512.532149,"KWD":0.323475,"KYD":0.871152,"KZT":519.755273,"LAK":22720.068533,"LBP":93615.586031,"LKR":308.962972,"LRD":208.565236,"LSL":19.209693,"LTL":3.097875,"LVL":0.634622,"LYD":5.129243,"MAD":10.43705,"MDL":19.549246,"MGA":4924.418686,"MKD":61.449047,"MMK":3407.607512,"MNT":3631.277359,"MOP":8.381358,"MRU":41.61738,"MUR":48.573534,"MVR":16.155165,"MWK":1812.577553,"MXN":21.301842,"MYR":4.647227,"MZN":67.035267,"NAD":19.209693,"NGN":1584.021223,"NIO":38.468588,"NOK":11.659132,"NPR":145.0092,"NZD":1.829114,"OMR":0.403399,"PAB":1.045423,"PEN":3.884083,"PGK":4.204381,"PHP":60.816281,"PKR":291.813083,"PLN":4.162301,"PYG":8237.148363,"QAR":3.811179,"RON":4.977493,"RSD":116.975896,"RUB":95.512549,"RWF":1466.739753,"SAR":3.934951,"SBD":8.847208,"SCR":15.097473,"SDG":630.540683,"SEK":11.222867,"SGD":1.404989,"SHP":0.864069,"SLE":23.867739,"SLL":22000.216473,"SOS":597.401594,"SRD":36.954361,"STD":21715.345635,"SVC":9.14695,"SYP":13642.151265,"SZL":19.205516,"THB":35.351728,"TJS":11.410767,"TMT":3.672035,"TND":3.310039,"TOP":2.457219,"TRY":38.011327,"TTD":7.094653,"TWD":34.31611,"TZS":2733.043099,"UAH":43.500962,"UGX":3846.932043,"USD":1.049153,"UYU":45.410177,"UZS":13583.105587,"VES":65.039998,"VND":26693.071228,"VUV":129.741646,"WST":2.976834,"XAF":655.081506,"XAG":0.032731,"XAU":0.000363,"XCD":2.835388,"XDR":0.80043,"XOF":655.081506,"XPF":119.331742,"YER":260.189893,"ZAR":19.249874,"ZMK":9443.630957,"ZMW":29.455196,"ZWL":337.826788,"CYP":1.7086,"SSP":633.704955,"VEF":3902666.416477} Common.price_currency_position = "right" Common.price_frequency_texts = {"once":"Je donne une fois","regular":"Je donne tous les mois"} Common.campaign_default_frequency = "regular" Step1.tax_reduction_rates = {"ir":[66],"isf":[75,0],"corp":[60],"custom1":[],"custom2":[]}; Step1.tax_reduction_ceils = {"ir":[],"isf":[50000],"corp":[],"custom1":[],"custom2":[]}; Step1.tax_reduction_notices = {"ir":"\u00e0 hauteur de 20% du revenu imposable","isf":"","corp":"dans la limite de 5\u2030 du chiffre d'affaires annuel","custom1":"","custom2":""}; Step1.tax_reduction_triggers = {"ir":"0","isf":"0","corp":"0","custom1":"0","custom2":"0"}; Step1.active_tax_reduction = 0; Step1.adapt_tax_bloc = false; Step1.tax_info = "Votre don ne vous co\u00fbte r\u00e9ellement que <strong><span class='price'><data class='price_amount'>%s<\/data> <data class='price_currency'>CHF<\/data><\/span><\/strong> apr\u00e8s r\u00e9duction fiscale (r\u00e9duction de <span class='price'><data class='price_amount'>%d<\/data> <data class='price_currency'>CHF<\/data><\/span>[notice])"; Step1.is_french_isf = 0; Step1.is_tipping_campaign = 0; Step1.amount_equivalences = {"once":[],"regular":[]} Step1.decimal_sep = ","; Step1.min_once_amount = 5; Step1.max_once_amount = 10000; Step1.min_regular_amount = 5; Step1.max_regular_amount = 10000; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.choose_amount = "Vous devez choisir un montant pour votre don"; DntErrors.errorMsg.min_once_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} "; DntErrors.errorMsg.max_once_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} "; DntErrors.errorMsg.min_regular_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} "; DntErrors.errorMsg.max_regular_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} "; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.qualification = "Le champ \u00ab %s \u00bb est obligatoire"; DntErrors.errorMsg.firstname = "Vous devez saisir votre pr\u00e9nom"; DntErrors.errorMsg.lastname = "Vous devez saisir votre nom"; DntErrors.errorMsg.email = "Vous devez saisir une adresse email valide"; DntErrors.errorMsg.company = "La raison sociale ne doit pas d\u00e9passer 70 caract\u00e8res"; DntErrors.errorMsg.company_siren = "Le SIREN est vide ou invalide"; DntErrors.errorMsg.company_status = "La forme juridique est vide ou inconnue"; DntErrors.errorMsg.address1 = "Vous devez saisir votre adresse"; DntErrors.errorMsg.postcode = "Vous devez saisir votre code postal (10 caract\u00e8res maximum)"; DntErrors.errorMsg.city = "Vous devez saisir votre ville"; DntErrors.errorMsg.civility = "Vous devez s\u00e9lectionner votre civilit\u00e9"; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.cardtype = "S\u00e9lectionnez votre type de carte bancaire"; DntErrors.errorMsg.cardnumber = "Saisissez correctement les chiffres de votre carte bancaire"; DntErrors.errorMsg.cardscode = DntErrors.errorMsg.scode = "Saisissez correctement les chiffres du code de s\u00e9curit\u00e9 situ\u00e9s au dos de votre carte bancaire"; DntErrors.errorMsg.cardmonth = "S\u00e9lectionnez le mois d'expiration de votre carte bancaire"; DntErrors.errorMsg.cardyear = "S\u00e9lectionnez l'ann\u00e9e d'expiration de votre carte bancaire"; DntErrors.errorMsg.gocardless = "Ce mode de paiement implique un montant inf\u00e9rieur \u00e0 5000\u20ac. Merci de diminuer le montant ou de s\u00e9lectionner un autre moyen de paiement"; Step2.failed_dnt_url = "/index.php?module=donations&action=xhr:attemptSave"; form_context_lang = "fr_FR"; form_context_cid = "3"; Step3.alert_msg = ""; Step3.modal_qualif = "0"; Step3.modal_qualif_url = "/index.php?module=donations&action=default:modalQualification"; Step3.modal_save_card = "0"; Step3.modal_save_card_url = "/index.php?module=donations&action=default:modalSaveCard"; Step3.modal_save_card_set_url = "/index.php?context_form_id=form_cached_2025-03-01.12:51:54_67c2f4da29e069.63672886&module=donations&action=default:setSaveCard"; Step3.cards_mastercard_length=16; Step3.cards_mastercard_cvvlength=3; Step3.cards_mastercard_hasalias=1; Step3.cards_visa_length=16; Step3.cards_visa_cvvlength=3; Step3.cards_visa_hasalias=1; $(document).ready(function() { Step1.init(); Step2.init(); Steps.init(); Steps.submit(); }); organisation_name = "Fondation CERN & Soci\u00e9t\u00e9"; try{ var ira_context_infos = {"form_id":"form_cached_2025-03-01.12:51:54_67c2f4da29e069.63672886","campaign":"3","version":"b","lang":"fr_FR","amount":{"amount":"0","amount_donation":"0","frequency":"once","free_amount":false,"currency":"CHF"},"reserved":"[]","affectation":null,"_cpn_name_":"donate"}; console.warn(ira_context_infos); }catch(err){} try{ $.cookie('dnt_coords',null,{'path':'/','domain':'.donate.cernandsocietyfoundation.cern'}); }catch(err){} $(document).ready(function() { try{ var context_form_input = $("input[name='context_form_id']"); if(context_form_input){ var context_form_val = context_form_input.val(); if(!context_form_val || context_form_val == 'form_cached'){ context_form_input.val("form_cached_"+Math.floor(Math.random() * 1000000000)); } } if(typeof ira_form_version != 'undefined'){ $('input[name=lang]').after( $('<input type="hidden" name="form_version" />').val(ira_form_version) ); } var dnt_amount = {"amount":"0","amount_donation":"0","frequency":"once","free_amount":false,"currency":"CHF"}; if(typeof Step1 != 'undefined' && dnt_amount){ Step1.initValues(dnt_amount); } }catch(err){} }); // ]]> </script><meta name="viewport" content="width=device-width" /> <link rel="canonical" href="https://donate.cernandsocietyfoundation.cern/~share?cid=3&lang=fr_FR" /> <style type="text/css"> .regularblock { display:none; } body { background: url(/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/origin/CERN.jpg); } #header { } </style> <script type='text/javascript'> optionsGlobal = {"active_theme":"1","font":"Source+Sans+Pro","font_title":"Open+Sans","fontsize":"","wedge":"5","donation_grid":"2","layout":"1","widgets_footer":"2","widgets_header":"1","widgets_progress_bar":"false","widgets_progress_bar_currency":"","widgets_color_progress_bar_goal":"#191919","widgets_progress_bar_goal":"","widgets_progress_bar_text_fr_FR":"","widgets_progress_bar_text_en_EN":"","widgets_last_donors":"false","widgets_color_last_donors":"#191919","widgets_last_donors_filter":"","widgets_last_donors_text_fr_FR":"","widgets_last_donors_text_en_EN":"","widgets_cookies_banner":"false","widgets_color_cookies_banner":"#191919","widgets_cookies_banner_text_fr_FR":"","widgets_cookies_banner_text_en_EN":"","widgets_cookies_banner_button_fr_FR":"","widgets_cookies_banner_button_en_EN":"","--main-action-color":"#0855A0","--main-action-color-lighter":"#3e71c0","--description-color":"#0855A0","--information-color":"#191919","--column-background-color":"","--banner-color":"#191919","--banner-color-darker":"#000000"}; optionsCampaign = ''; context_lang = "fr_FR"; campaign_stats = {"count":"99","sum":"982654","min":"500","max":"84400","avg":"99.26","progress":"100","last_donators":[{"firstname":"Eurovision","total":"50000","currency":"CHF","date":"2025-02-27 23:24:00","campaign":"3","city":"SATIGNY","message":"","avatar":""},{"firstname":"Philippe","total":"5600","currency":"EUR","date":"2025-02-05 03:31:00","campaign":"3","city":"BRAX","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2025-02-05 03:30:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Anonymous","total":"2000","currency":"CHF","date":"2025-01-14 14:20:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2025-01-05 03:36:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2025-01-05 03:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2025-01-05 03:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2025-01-05 03:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2025-01-05 03:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Pranjal","total":"500","currency":"CHF","date":"2024-12-12 04:18:00","campaign":"3","city":"LUCKNOW","message":"Hanuman Setu.","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-12-05 03:36:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-12-05 03:36:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-12-05 03:36:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-12-05 03:36:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-12-05 03:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Edward","total":"2000","currency":"CHF","date":"2024-11-14 10:08:00","campaign":"3","city":"SAINT-GENIS-POUILLY","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-11-05 03:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-11-05 03:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-11-05 03:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-11-05 03:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-11-05 03:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-10-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-10-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-10-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-10-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-10-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Nilesh Sanjay","total":"630","currency":"USD","date":"2024-10-02 06:34:00","campaign":"3","city":"JALGAON","message":"","avatar":""},{"firstname":"Yannik","total":"500","currency":"EUR","date":"2024-09-18 17:17:00","campaign":"3","city":"KASSEL","message":"","avatar":""},{"firstname":"Michel","total":"20000","currency":"CHF","date":"2024-09-18 14:39:00","campaign":"3","city":"JOUY-EN-JOSAS","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-09-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-09-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-09-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-09-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-09-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-08-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-08-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-08-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-08-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-08-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Catherine","total":"6000","currency":"CHF","date":"2024-07-31 18:51:00","campaign":"3","city":"SHREWSBURY","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-07-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-07-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-07-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-07-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-07-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"University of Nevada Las Vegas","total":"1050","currency":"USD","date":"2024-06-09 06:18:00","campaign":"3","city":"LAS VEGAS","message":"Thank you","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-06-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-06-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-06-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-06-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""}],"date_cache":"2025-03-01"}; campaign_stats_last_donators = [{"firstname":"Eurovision","total":"50000","currency":"CHF","date":"2025-02-27 23:24:00","campaign":"3","city":"SATIGNY","message":"","avatar":""},{"firstname":"Philippe","total":"5600","currency":"EUR","date":"2025-02-05 03:31:00","campaign":"3","city":"BRAX","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2025-02-05 03:30:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Anonymous","total":"2000","currency":"CHF","date":"2025-01-14 14:20:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2025-01-05 03:36:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2025-01-05 03:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2025-01-05 03:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2025-01-05 03:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2025-01-05 03:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Pranjal","total":"500","currency":"CHF","date":"2024-12-12 04:18:00","campaign":"3","city":"LUCKNOW","message":"Hanuman Setu.","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-12-05 03:36:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-12-05 03:36:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-12-05 03:36:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-12-05 03:36:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-12-05 03:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Edward","total":"2000","currency":"CHF","date":"2024-11-14 10:08:00","campaign":"3","city":"SAINT-GENIS-POUILLY","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-11-05 03:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-11-05 03:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-11-05 03:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-11-05 03:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-11-05 03:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-10-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-10-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-10-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-10-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-10-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Nilesh Sanjay","total":"630","currency":"USD","date":"2024-10-02 06:34:00","campaign":"3","city":"JALGAON","message":"","avatar":""},{"firstname":"Yannik","total":"500","currency":"EUR","date":"2024-09-18 17:17:00","campaign":"3","city":"KASSEL","message":"","avatar":""},{"firstname":"Michel","total":"20000","currency":"CHF","date":"2024-09-18 14:39:00","campaign":"3","city":"JOUY-EN-JOSAS","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-09-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-09-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-09-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-09-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-09-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-08-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-08-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-08-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-08-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-08-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"Catherine","total":"6000","currency":"CHF","date":"2024-07-31 18:51:00","campaign":"3","city":"SHREWSBURY","message":"","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-07-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-07-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-07-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-07-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""},{"firstname":"Stefan","total":"20000","currency":"CHF","date":"2024-07-05 04:31:00","campaign":"3","city":"FORCH","message":"","avatar":""},{"firstname":"University of Nevada Las Vegas","total":"1050","currency":"USD","date":"2024-06-09 06:18:00","campaign":"3","city":"LAS VEGAS","message":"Thank you","avatar":""},{"firstname":"Valentina","total":"1000","currency":"CHF","date":"2024-06-05 04:35:00","campaign":"3","city":"GEN\u00e8VE","message":"","avatar":""},{"firstname":"Michael","total":"1500","currency":"EUR","date":"2024-06-05 04:35:00","campaign":"3","city":"M\u00fcNCHEN","message":"","avatar":""},{"firstname":"Evlogica Srls","total":"1000","currency":"EUR","date":"2024-06-05 04:35:00","campaign":"3","city":"FROSINONE","message":"","avatar":""},{"firstname":"Anonymous","total":"2100","currency":"USD","date":"2024-06-05 04:35:00","campaign":"3","city":"TRINEC","message":"","avatar":""}]; </script> <script src="https://donate.cernandsocietyfoundation.cern/themes/default/arya/webfont.js?hash=7c96a5f11d9741541d5e3c42ff6380d7"></script> <script src="https://donate.cernandsocietyfoundation.cern/themes/default/arya/chroma.min.js?hash=b7e64e0792ce46ef9cc84a15b136d840"></script> <link rel="stylesheet" href="https://donate.cernandsocietyfoundation.cern/themes/default/arya/jquery-ui.css?hash=a132ede819bad05cca4164b7aa720043" /> <script src="https://donate.cernandsocietyfoundation.cern/themes/default/arya/jquery-ui.js?hash=ab5284de5e3d221e53647fd348e5644b"></script> <script src="https://donate.cernandsocietyfoundation.cern/themes/default/arya/cleave.min.js?hash=001edaa76bb6bebf2e4b6a0e04df95d1"></script> <script src="https://donate.cernandsocietyfoundation.cern/themes/default/arya/js.cookie.js?hash=fa93e8894edb6245ab03883633b12b6e"></script> <script src="https://donate.cernandsocietyfoundation.cern/themes/default/arya/current-device.min.js?hash=d64edef1483a5909cc245f1588ee0fca"></script> <script src="https://donate.cernandsocietyfoundation.cern/themes/default/arya/script.js?hash=d8eb85235aaca1fea7f777e12a4be4c0"></script> <link rel="stylesheet" href="https://donate.cernandsocietyfoundation.cern/themes/default/arya/styles.css?hash=6d53f7ef2d4e6708ab5028c65a816d0a" /> <!-- Disable the standard multi-currency feature incompatible with old multi-currency customizations - Multi-currency support - Release Payment V19 - https://portal.iraiser.eu/web#id=1240&action=730&model=knowsystem.article&view_type=form&menu_id=516 --> <script> $(document).on('ira_step1_init_before', () => { Common.allowCurrencyChange = () => false; Common.getCurrency = () => (Common.get_value('currency') || Common.price_default_currency); }); </script> <script> var currencies = {"DKK":{"symbol":"kr.","rate":"7.77","order":"4"},"CHF":{"symbol":"CHF","rate":"1","order":"1"},"GBP":{"symbol":"\u00a3","rate":"0.87","order":"3"},"EUR":{"symbol":"\u20ac","rate":"0.94","order":"2"},"USD":{"symbol":"$","rate":"1.03","order":"6"}}; var defaultCurrency = 'CHF'; var customCurrency = ''; </script> <script type="text/javascript" src="//libs.iraiser.eu/libs/multi_currency/script.js" ></script> <style> #type-b.arya p#c-currency { margin: 0 20px 0; clear: both; padding: 0 0 20px 0; min-height: 50px; } </style></head><body id="type-b" > <div id="container"> <div id="header" class="line"> <div class="container" id="header_wrapinner"> <div id="logo" class="unit size3of4"> <h1><a href="https://cernandsocietyfoundation.cern" title="Fondation CERN & Soci茅t茅"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/origin/Logotesto290-2.png" alt="Fondation CERN & Soci茅t茅"/></a></h1> </div> <!-- End Logo --> <div id="lang" class="unit size1of4 lastUnit"> <p>Langues : <a href="/donate/~my-donation?_cv=1" title="English">English</a> <span>|</span> <a href="/donate/~mon-don?_cv=1" title="Français" class="current">Français</a> </p> <script> let searchParams = new URLSearchParams(window.location.search) if (searchParams.has('ns_ira_cr_arg')) { let param = encodeURIComponent(searchParams.get('ns_ira_cr_arg')) $('div[id="lang"] a').each(function() { $(this).attr('href', $(this).attr('href') + '&ns_ira_cr_arg=' + param); }); } </script> </div> <!-- End Lang --> </div> </div> <!-- End Header --> <div id="_wait"> <div id="floatingCirclesG"> <div class="f_circleG" id="frotateG_01"></div> <div class="f_circleG" id="frotateG_02"></div> <div class="f_circleG" id="frotateG_03"></div> <div class="f_circleG" id="frotateG_04"></div> <div class="f_circleG" id="frotateG_05"></div> <div class="f_circleG" id="frotateG_06"></div> <div class="f_circleG" id="frotateG_07"></div> <div class="f_circleG" id="frotateG_08"></div> </div> </div> <div id="main" class="line"> <div class="container" id="main_wrapinner"> <div id="form-info" class="line"> Faites la différence pour la prochaine génération de scientifiques avec un don maintenant! </div> <noscript> </noscript> <form action="/b/steps/save" method="post" id="form-steps" autocomplete="off"> <input type="hidden" name="context_form" value="" /> <input type="hidden" name="context_form_id" value="" /> <input type="hidden" name="cid" value="3" /> <input type="hidden" name="lang" value="fr_FR" /> <input type="hidden" name="scope" value="" id="scope"/> <input id="useragent_input_0" type="hidden" name="private_user_agent_cli" value=""/> <script type="text/javascript"> document.getElementById("useragent_input_0").value = navigator.userAgent; </script> <input id="referer_input_0" type="hidden" name="private_referer" value=""/> <script type="text/javascript"> document.getElementById("referer_input_0").value = document.referrer; </script> <input id="random_input_0" type="hidden" name="private_random" value=""/> <script type="text/javascript"> document.getElementById("random_input_0").value = Math.random(); setTimeout(function(){ document.getElementById("random_input_0").value = Math.random(); }, 3000); </script> <div id="step-1" class="unit size1of3"> <div class="step-container"> <div class="step-title"> <h2>Mon don</h2> </div> <div class="step-content"> <div> </div> <div id="regular" class="bloc"> <div class="bloc-content"> <h3>Je donne tous les mois</h3> <p class="content-desc">Avoir un impact plus important avec un don mensuel plus petit</p> <div id="bloc-amount-regular"> <fieldset class="amount type2ct"> <ul class="radio-desc line" id="amount-list-regular"> <li> <div class="unit size1of2"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/pricelist_item/summerstudents.jpg" width="120" height="90" alt="" /></div> <div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-regular" value="6000" id="amount-regular-6000" type="radio" /> <span id="value_of_amount-regular-6000"><data class='price_amount'>60</data> <data class='price_currency'>CHF</data></span></label><p>Dans un an, pourrait payer pour une semaine d'activit茅s pratiques pour un 茅l猫ve du secondaire</p></div> </li> <li> <div class="unit size1of2"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/pricelist_item/201907-20325.jpg" width="120" height="90" alt="" /></div> <div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-regular" value="8000" id="amount-regular-8000" type="radio" /> <span id="value_of_amount-regular-8000"><data class='price_amount'>80</data> <data class='price_currency'>CHF</data></span></label><p>Dans un an, pourrait payer un s茅jour d'une semaine au CERN pour un 茅tudiant d'茅t茅</p></div> </li> <li> <div class="unit size1of2"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/pricelist_item/NTP1.jpg" width="120" height="90" alt="" /></div> <div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-regular" value="12000" id="amount-regular-12000" type="radio" /> <span id="value_of_amount-regular-12000"><data class='price_amount'>120</data> <data class='price_currency'>CHF</data></span></label><p>Dans un an, pourrait payer pour un cours avanc茅 de physique moderne pour un enseignant du secondaire</p></div> </li> </ul> </fieldset> <div class="amount-equivalences"> <p class="amount-equivalences-img"></p> <p class="amount-equivalences-description"></p> </div> <fieldset class="free-amount"> <p><label>Montant libre <input autocomplete="section-famount" name="famount-regular" type="text" size="6" id="famount-regular" /> <span class="price_currency">CHF</span> </label></p> </fieldset> <p class="tax-info"></p> <!--<input type="hidden" value="" name="iraiser_analytics_session_id" id="iraiser_analytics_session_id"/>--> <input type="hidden" name="referrer" /> <script type="text/javascript"> try{ $("input[name=referrer]").val(document.referrer); if(document.location.search.indexOf('_cv')>1) { $('input[name=referrer]').after($('<input type="hidden" name="query_string" />').val(document.location.search.substring(1))); } }catch(e){} </script> </div> </div> </div> <!-- End Each-month --> <div class="regularblock"> </div> <div id="or"> <p>ou</p> </div> <div id="once" class="bloc"> <div class="bloc-content"> <h3>Je donne une fois</h3> <p class="content-desc">Faire un don ponctuel l脿 o霉 le besoin est le plus grand</p> <div id="bloc-amount-once"> <fieldset class="amount type2ct"> <ul class="radio-desc line" id="amount-list-once"> <li> <div class="unit size1of2"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/pricelist_item/hands-onworkshop.jpg" width="120" height="90" alt="" /></div> <div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-once" value="6000" id="amount-once-6000" type="radio" /> <span id="value_of_amount-once-6000"><data class='price_amount'>60</data> <data class='price_currency'>CHF</data></span></label><p>Vous offrez par exemple un atelier pratique pour un e虂tudiant</p></div> </li> <li> <div class="unit size1of2"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/pricelist_item/H61A9153.jpg" width="120" height="90" alt="" /></div> <div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-once" value="10000" id="amount-once-10000" type="radio" /> <span id="value_of_amount-once-10000"><data class='price_amount'>100</data> <data class='price_currency'>CHF</data></span></label><p>Vous offrez par exemple une journe虂e d鈥檈xpe虂rience de travail dans un laboratoire du CERN</p></div> </li> <li> <div class="unit size1of2"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/pricelist_item/ITP2.jpg" width="120" height="90" alt="" /></div> <div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-once" value="12000" id="amount-once-12000" type="radio" /> <span id="value_of_amount-once-12000"><data class='price_amount'>120</data> <data class='price_currency'>CHF</data></span></label><p>Vous offrez par exemple une journe虂e de confe虂rences personnalise虂es par des experts du CERN</p></div> </li> </ul> </fieldset> <div class="amount-equivalences"> <p class="amount-equivalences-img"></p> <p class="amount-equivalences-description"></p> </div> <fieldset class="free-amount"> <p><label>Montant libre <input autocomplete="section-famount" name="famount-once" type="text" size="6" id="famount-once" /> <span class="price_currency">CHF</span> </label></p> </fieldset> <p class="tax-info"></p> <!--<input type="hidden" value="" name="iraiser_analytics_session_id" id="iraiser_analytics_session_id"/>--> <input type="hidden" name="referrer" /> <script type="text/javascript"> try{ $("input[name=referrer]").val(document.referrer); if(document.location.search.indexOf('_cv')>1) { $('input[name=referrer]').after($('<input type="hidden" name="query_string" />').val(document.location.search.substring(1))); } }catch(e){} </script> </div> </div> </div> <!-- End Once --> <div class="onceblock"> </div> <div> </div> </div> <!-- End Step-content --> <div class="step-info"> <h4>Pourquoi donner ?</h4> <div class="step-info-body"> <p>La Fondation CERN & Société est une organization caritative suisse à but non lucratif. Le but de la Fondation est de diffuser l鈥檈sprit de curiosité scientifique du CERN et être source d鈥檌nspiration et d鈥檃pports positifs pour la société.</p> <p>Pour mener à bien sa mission, la Fondation est active au niveau national et au niveau international, dans trois domaines principaux聽: l'éducation et la communication grand public, l'innovation et l'échange de connaissances, et la culture et les arts.聽</p> </div> </div> <!-- End Step-info --> </div> <!-- End Step-container --> </div> <!-- End Step-1 --> <div id="step-2" class="unit size1of3"> <div class="step-container"> <div class="step-title"> <h2>Mes coordonn茅es</h2> </div> <div class="step-content"> <fieldset id="fielset-step2-connect" class="step2_connect_block "> <h4 class="step2_head">Je me connecte et valide mon paiement en un clic</h4> <fieldset id="stripe-connect" class=""> <input type="button" class="button apple_pay_styled_button" id="StripePayButtonLogin" style="display: none;"> </button> <input type="hidden" name="private_stripe_connect_paymentMethod"/> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <script type="text/javascript"> var Stripe_obj = { PayWithApple:true, PayWithWallet:true, StripeButtonPopulate: false, buttons: { Step2: false, Step3: false }, paymentRequest: false, populate: function (ev) { try { $('input[name=private_stripe_connect_paymentMethod]').val(JSON.stringify(ev)); if ((!$('input[name=lastname]').val() || !$('input[name=firstname]').val()) && ev.payerName) { var name = ev.payerName.split(' ').filter(function(x){ return x&&true;}); if (name.length) { $('input[name=firstname]').val(name[0]); $('input[name=lastname]').val(name.slice(1).join(' ')); }else{ $('input[name=firstname]').val('N/A'); $('input[name=lastname]').val(ev.payerName); } } if (ev.payerEmail) { $('input[name=email]').val(ev.payerEmail); } if (!$('select[name=civility] option:selected').val()) { // If no civility was selected, force a "0" civility value // for the step 2 validation not to fail if the civility was mandatory $('select[name=civility] option:first').prop('selected', 'selected').val("0"); } if ($('input[type=tel]').length && !$('input[type=tel]').val() && ev.payerPhone) { $('input[type=tel]').val(ev.payerPhone); } if (ev.paymentMethod && ev.paymentMethod.billing_details) { let evBillingDetails = ev.paymentMethod.billing_details; if ((!$('input[name=lastname]').val() || !$('input[name=firstname]').val()) && evBillingDetails.name) { var name = evBillingDetails.name.replace('').split(' ').filter(function(x){ return x&&true;}); if (name.length) { $('input[name=firstname]').val(name[0]); $('input[name=lastname]').val(name.slice(1).join(' ')); }else{ $('input[name=firstname]').val('N/A'); $('input[name=lastname]').val(evBillingDetails.name); } } if (evBillingDetails.address) { let evBillingAddress = evBillingDetails.address; if (!$('input[name=country]').val() && evBillingAddress.country) { $('select[name=country] option[value=' + evBillingAddress.country + ']').prop('selected', 'selected'); } if (!$('input[name=address1]').val() && evBillingAddress.line1) { $('input[name=address1]').val(evBillingAddress.line1); } if (!$('input[name=address2]').val() && evBillingAddress.line2) { $('input[name=address2]').val(evBillingAddress.line2); } if (!$('input[name=postcode]').val() && evBillingAddress.postal_code) { $('input[name=postcode]').val(evBillingAddress.postal_code); } if (!$('input[name=city]').val() && evBillingAddress.city) { $('input[name=city]').val(evBillingAddress.city); } } } } catch (err) { let msg = 'Stripe_obj.populate exception: ' + err; console.log(msg); window.onerror(msg); } }, createStripeButton: function (ev) { console.log('Stripe_obj.createStripeButton'); if(!Stripe_obj.buttons.Step3 && !Stripe_obj.buttons.Step2) return; var amount = parseInt(Common.getDonation().amount); var currency = (Common.getCurrency() || "CHF").toLowerCase(); var accountCountry = "SG"; var frequency = Step1.current_donation.frequency; // Some currencies are having an amount with three decimal cents, // We must write 12340 for 12.340 KWD for example (in those cases, last digit must always be a 0) const threeDecimalCurrencies = ["BHD","JOD","KWD","OMR","TND"]; if (threeDecimalCurrencies.includes(currency.toUpperCase())) { amount = amount * 10; } // Some currencies are having an amount with no decimal cents, const zeroDecimalCurrencies = ["BIF","CLP","DJF","GNF","JPY","KMF","KRW","MGA","PYG","RWF","UGX","VND","VUV","XAF","XOF","XPF"]; if (zeroDecimalCurrencies.includes(currency.toUpperCase())) { amount = amount / 100; } console.log({Step2: Stripe_obj.buttons.Step2 && true,Step3: Stripe_obj.buttons.Step3 && true}); console.log({amount: amount, currency: currency, accountCountry: accountCountry, frequency: frequency}); Stripe_obj.paymentRequest = false; try{ if (!Stripe_obj.stripe) { // Create a Stripe client. Stripe_obj.stripe = Stripe("pk_live_srqYyZqem3SpTx2GjUycaPjN", { apiVersion: "2020-08-27" }); } Stripe_obj.paymentRequest = Stripe_obj.stripe.paymentRequest({ country: accountCountry, currency: currency, total: { label: "Fondation CERN & Soci\u00e9t\u00e9", amount: parseInt(amount) }, requestPayerName: true, requestPayerEmail: true //requestPayerPhone: true }); }catch(error){ console.log("paymentRequest creation failed"); console.log(error); } if(!Stripe_obj.paymentRequest){ // nothing available Stripe_obj.removeStripeConnect(); Stripe_obj.removeStripePay(); }else { Stripe_obj.paymentRequest.canMakePayment().then( function (result) { console.log('paymentRequest.canMakePayment() - promise fulfilled'); console.log(result); var fieldset = $('#payment_mode-apple_pay-'+frequency); // show / hide the appropriate blocks and mount the button if (result) { if (!result.applePay) { var txt = $("fieldset[data-scope='stripe_apple_pay'] .payment_mode_title").first().text(); var ua = window.navigator.userAgent; if (ua.indexOf('Edge/') > 0) { fieldset.attr('data-stripe-mode','microsoft'); txt = txt.replace('Apple Pay', 'Microsoft Pay'); } else if (ua.indexOf('Chrome') > 0) { txt = txt.replace('Apple Pay', 'Google Pay'); fieldset.attr('data-stripe-mode','google'); } else { txt = txt.replace('Apple Pay', 'Saved Credit Cards'); fieldset.attr('data-stripe-mode','other'); } if(txt) { Common.select("[data-scope='stripe_apple_pay'] .payment_mode_title").text(txt); } Stripe_obj.removeStripeConnect(); if (Stripe_obj.PayWithWallet) { Stripe_obj.mountStripePay(frequency); } else { Stripe_obj.removeStripePay(); } } else { fieldset.attr('data-stripe-mode','apple'); $('#stripe_apple_pay_submit.' + frequency).addClass('apple_pay_styled_button'); //Apple Pay OK if (Stripe_obj.buttons.Step2) { Stripe_obj.mountStripeConnect(frequency); } if (Stripe_obj.buttons.Step3) { if (Stripe_obj.PayWithApple) { // Mount the button with its value cleared // for it not to interfere with Apple Pay styling Stripe_obj.mountStripePay(frequency); } else { Stripe_obj.removeStripePay(); } } Stripe_obj.validatePaymentMethodIfExists(); } } else { // nothing available Stripe_obj.removeStripeConnect(); Stripe_obj.removeStripePay(); } }, function (reason) { console.log('paymentRequest.canMakePayment() - promise rejected'); console.log(reason); Stripe_obj.removeStripeConnect(); Stripe_obj.removeStripePay(); } ); Stripe_obj.paymentRequest.on('cancel', function (ev) { console.log('paymentRequest.on(cancel)'); $('.ira-processing').removeClass('ira-processing'); }); Stripe_obj.paymentRequest.on('paymentmethod', function (ev) { console.log('paymentRequest.on(paymentMethod)'); console.log(ev); if (Stripe_obj.StripeButtonPopulate) { Stripe_obj.populate(ev); Stripe_obj.StripeButtonPopulate = false; } // Send the paymentMethod to your server to charge it $('#stripe_apple_pay_paymentMethod.' + frequency).val(ev.paymentMethod.id); ev.complete('success'); $('#stripe_apple_pay_submit.' + frequency).prop('disabled', false).trigger('click'); //$('.ira-processing').removeClass('ira-processing'); }); } }, mountStripePay:function(frequency){ console.log(`mountStripePay(${frequency})`); $('#stripe_apple_pay_submit.' + frequency).prop('disabled', false).show(); }, validatePaymentMethodIfExists:function(){ }, removeStripePay: function(){ Stripe_obj.buttons.Step3 = false; console.log("removeStripePay"); const stripeApplePayElmt = Common.select("[data-scope='stripe_apple_pay']"); stripeApplePayElmt.filter('h4').addClass('unavailable-payment-method'); stripeApplePayElmt.hide(); $('body').trigger($.Event('paymentModeListUpdated')); }, mountStripeConnect:function(frequency){ console.log(`mountStripeConnect(${frequency})`); $('#StripePayButtonLogin').attr('data-frequency', frequency).show(); }, removeStripeConnect: function(){ console.log("removeStripeConnect"); Stripe_obj.buttons.Step2 = false; $("#stripe-connect").detach(); if(!$('#fielset-step2-connect fieldset').length){ // no connector available $('.step2_connect_block').detach(); // remove all blocks related to connectors }else{ var fieldsetlength = $('#fielset-step2-connect fieldset').length; if($("#fielset-step2-connect fieldset.regularblock").length == fieldsetlength){ $('.step2_connect_block').addClass('regularblock'); }else if($("#fielset-step2-connect fieldset.onceblock").length == fieldsetlength){ $('.step2_connect_block').addClass('onceblock'); } } }, stripe: false } window.stripeJsLoaded.then(() => { $('body').on('init_done tip_changed', Stripe_obj.createStripeButton); Stripe_obj.createStripeButton(); }); </script> <script> Stripe_obj.buttons.Step2 = true; $('#StripePayButtonLogin').click(function(event){ if (Stripe_obj.buttons.Step2 && Step1.check()) { Stripe_obj.StripeButtonPopulate = true; console.log('paymentRequest.show() -- stripeConnect'); Stripe_obj.paymentRequest.show(); } return false; }); </script> <style> #StripePayButtonLogin { -webkit-appearance: -apple-pay-button !important; } #StripePayButtonLogin[data-frequency='once'] { -apple-pay-button-type: donate; } #StripePayButtonLogin[data-frequency='regular'] { -apple-pay-button-type: subscribe; } </style> </fieldset> </fieldset> <fieldset id="fieldset-step2"> <h4 class="step2_head step2_connect_block ">ou je saisis mes coordonn茅es</h4> <p id="c-email"> <label for="email"> Email <span class="required">*</span> <span class="help"> partnerships.fundraising@cern.ch </span> </label> <input type="text" name="email" id="email" /> </p> <fieldset id="fielset-name"> <p id="c-isc"> <label> <input type="checkbox" value="OK" name="iscompany" id="iscompany" /> Je fais un don au nom d'une organisation ou d'une soci茅t茅 </label> </p> <p id="c-isc-inf" class="company-infos hidden"> <label for="company">Raison sociale <span class="help"> Fondation CERN & Soci茅t茅 </span> </label> <input type="text" name="company" id="company" /> </p> <p id="c-civ"> <label for="civility"> Civilit茅 <span class="required">*</span> </label> <select name="civility" id="civility"> <option value=""></option> <option value="1">M</option> <option value="2">Mme</option> <option value="3">Mlle</option> </select> </p> <p id="c-fname"> <label for="firstname">Pr茅nom <span class="required">*</span> <span class="help"> ex. Bernard </span> </label> <input type="text" name="firstname" id="firstname" /> </p> <p id="c-lname"> <label for="lastname"> Nom <span class="required">*</span> <span class="help"> ex. Dupond </span> </label> <input type="text" name="lastname" id="lastname" /> </p> </fieldset> <fieldset id="fielset-address"> <p id="c-addr1"> <label for="address1"> Adresse <span class="required">*</span> <span class="help"> C/o CERN </span> </label> <input type="text" name="address1" id="address1" /> </p> <p id="c-addr2"> <label for="address2"> Compl茅ment adresse <span class="help"> Esplanade des Particules, 1 </span> </label> <input type="text" name="address2" id="address2" /> </p> <div class="line"> <p id="c-pcode" class="unit size1of2"> <label for="postcode"> Code postal <span class="required">*</span> <span class="help"> 1211 </span> </label> <input type="text" name="postcode" id="postcode" /> </p> <p id="c-city" class="unit size2of2 lastUnit"> <label for="city"> Ville <span class="required">*</span> <span class="help"> Gen猫ve </span> </label> <input type="text" name="city" id="city" /> </p> </div> <p id="c-country"> <label for="country"> Pays <span class="required">*</span> <span class="help"> Suisse </span> </label> <select name="country" id="country"> <option value="US">脡TATS-UNIS</option> <option value="FR">FRANCE</option> <option value="GB">ROYAUME-UNI</option> <option value="CH">SUISSE</option> <option value="ZW">ZIMBABWE</option> <option value="">----------------------------------</option> <option value="AF">AFGHANISTAN</option> <option value="ZA">AFRIQUE DU SUD</option> <option value="AX">脜LAND, 脦LES</option> <option value="AL">ALBANIE</option> <option value="DZ">ALG脡RIE</option> <option value="DE">ALLEMAGNE</option> <option value="AD">ANDORRE</option> <option value="AO">ANGOLA</option> <option value="AI">ANGUILLA</option> <option value="AQ">ANTARCTIQUE</option> <option value="AG">ANTIGUA-ET-BARBUDA</option> <option value="AN">ANTILLES N脡ERLANDAISES</option> <option value="SA">ARABIE SAOUDITE</option> <option value="AR">ARGENTINE</option> <option value="AM">ARM脡NIE</option> <option value="AW">ARUBA</option> <option value="AU">AUSTRALIE</option> <option value="AT">AUTRICHE</option> <option value="AZ">AZERBA脧DJAN</option> <option value="BS">BAHAMAS</option> <option value="BH">BAHRE脧N</option> <option value="BD">BANGLADESH</option> <option value="BB">BARBADE</option> <option value="BY">B脡LARUS</option> <option value="BE">BELGIQUE</option> <option value="BZ">BELIZE</option> <option value="BJ">B脡NIN</option> <option value="BM">BERMUDES</option> <option value="BT">BHOUTAN</option> <option value="BO">BOLIVIE, l'脡TAT PLURINATIONAL DE</option> <option value="BA">BOSNIE-HERZ脡GOVINE</option> <option value="BW">BOTSWANA</option> <option value="BV">BOUVET, 脦LE</option> <option value="BR">BR脡SIL</option> <option value="BN">BRUN脡I DARUSSALAM</option> <option value="BG">BULGARIE</option> <option value="BF">BURKINA FASO</option> <option value="BI">BURUNDI</option> <option value="KY">CA脧MANES, 脦LES</option> <option value="KH">CAMBODGE</option> <option value="CM">CAMEROUN</option> <option value="CA">CANADA</option> <option value="CV">CAP-VERT</option> <option value="CF">CENTRAFRICAINE, R脡PUBLIQUE</option> <option value="CL">CHILI</option> <option value="CN">CHINE</option> <option value="CX">CHRISTMAS, 脦LE</option> <option value="CY">CHYPRE</option> <option value="CC">COCOS (KEELING), 脦LES</option> <option value="CO">COLOMBIE</option> <option value="KM">COMORES</option> <option value="CG">CONGO</option> <option value="CD">CONGO, LA R脡PUBLIQUE D脡MOCRATIQUE DU</option> <option value="CK">COOK, 脦LES</option> <option value="KR">COR脡E, R脡PUBLIQUE DE</option> <option value="KP">COR脡E, R脡PUBLIQUE POPULAIRE D脡MOCRATIQUE DE</option> <option value="CR">COSTA RICA</option> <option value="CI">C脭TE D'IVOIRE</option> <option value="HR">CROATIE</option> <option value="CU">CUBA</option> <option value="DK">DANEMARK</option> <option value="DJ">DJIBOUTI</option> <option value="DO">DOMINICAINE, R脡PUBLIQUE</option> <option value="DM">DOMINIQUE</option> <option value="EG">脡GYPTE</option> <option value="SV">EL SALVADOR</option> <option value="AE">脡MIRATS ARABES UNIS</option> <option value="EC">脡QUATEUR</option> <option value="ER">脡RYTHR脡E</option> <option value="ES">ESPAGNE</option> <option value="EE">ESTONIE</option> <option value="US">脡TATS-UNIS</option> <option value="ET">脡THIOPIE</option> <option value="FK">FALKLAND, 脦LES (MALVINAS)</option> <option value="FO">F脡RO脡, 脦LES</option> <option value="FJ">FIDJI</option> <option value="FI">FINLANDE</option> <option value="FR">FRANCE</option> <option value="GA">GABON</option> <option value="GM">GAMBIE</option> <option value="GE">G脡ORGIE</option> <option value="GS">G脡ORGIE DU SUD ET LES 脦LES SANDWICH DU SUD</option> <option value="GH">GHANA</option> <option value="GI">GIBRALTAR</option> <option value="GR">GR脠CE</option> <option value="GD">GRENADE</option> <option value="GL">GROENLAND</option> <option value="GP">GUADELOUPE</option> <option value="GU">GUAM</option> <option value="GT">GUATEMALA</option> <option value="GG">GUERNESEY</option> <option value="GN">GUIN脡E</option> <option value="GQ">GUIN脡E 脡QUATORIALE</option> <option value="GW">GUIN脡E-BISSAU</option> <option value="GY">GUYANA</option> <option value="GF">GUYANE FRAN脟AISE</option> <option value="HT">HA脧TI</option> <option value="HM">HEARD, 脦LE ET MCDONALD, 脦LES</option> <option value="HN">HONDURAS</option> <option value="HK">HONG-KONG</option> <option value="HU">HONGRIE</option> <option value="IM">脦LE DE MAN</option> <option value="UM">脦LES MINEURES 脡LOIGN脡ES DES 脡TATS-UNIS</option> <option value="VG">脦LES VIERGES BRITANNIQUES</option> <option value="VI">脦LES VIERGES DES 脡TATS-UNIS</option> <option value="IN">INDE</option> <option value="ID">INDON脡SIE</option> <option value="IR">IRAN, R脡PUBLIQUE ISLAMIQUE D'</option> <option value="IQ">IRAQ</option> <option value="IE">IRLANDE</option> <option value="IS">ISLANDE</option> <option value="IL">ISRA脣L</option> <option value="IT">ITALIE</option> <option value="JM">JAMA脧QUE</option> <option value="JP">JAPON</option> <option value="JE">JERSEY</option> <option value="JO">JORDANIE</option> <option value="KZ">KAZAKHSTAN</option> <option value="KE">KENYA</option> <option value="KG">KIRGHIZISTAN</option> <option value="KI">KIRIBATI</option> <option value="KW">KOWE脧T</option> <option value="LA">LAO, R脡PUBLIQUE D脡MOCRATIQUE POPULAIRE</option> <option value="LS">LESOTHO</option> <option value="LV">LETTONIE</option> <option value="LB">LIBAN</option> <option value="LR">LIB脡RIA</option> <option value="LY">LIBYENNE, JAMAHIRIYA ARABE</option> <option value="LI">LIECHTENSTEIN</option> <option value="LT">LITUANIE</option> <option value="LU">LUXEMBOURG</option> <option value="MO">MACAO</option> <option value="MK">MAC脡DOINE, L'EX-R脡PUBLIQUE YOUGOSLAVE DE</option> <option value="MG">MADAGASCAR</option> <option value="MY">MALAISIE</option> <option value="MW">MALAWI</option> <option value="MV">MALDIVES</option> <option value="ML">MALI</option> <option value="MT">MALTE</option> <option value="MP">MARIANNES DU NORD, 脦LES</option> <option value="MA">MAROC</option> <option value="MH">MARSHALL, 脦LES</option> <option value="MQ">MARTINIQUE</option> <option value="MU">MAURICE</option> <option value="MR">MAURITANIE</option> <option value="YT">MAYOTTE</option> <option value="MX">MEXIQUE</option> <option value="FM">MICRON脡SIE, 脡TATS F脡D脡R脡S DE</option> <option value="MD">MOLDOVA, R脡PUBLIQUE DE</option> <option value="MC">MONACO</option> <option value="MN">MONGOLIE</option> <option value="ME">MONT脡N脡GRO</option> <option value="MS">MONTSERRAT</option> <option value="MZ">MOZAMBIQUE</option> <option value="MM">MYANMAR</option> <option value="NA">NAMIBIE</option> <option value="NR">NAURU</option> <option value="NP">N脡PAL</option> <option value="NI">NICARAGUA</option> <option value="NE">NIGER</option> <option value="NG">NIG脡RIA</option> <option value="NU">NIU脡</option> <option value="NF">NORFOLK, 脦LE</option> <option value="NO">NORV脠GE</option> <option value="NC">NOUVELLE-CAL脡DONIE</option> <option value="NZ">NOUVELLE-Z脡LANDE</option> <option value="IO">OC脡AN INDIEN, TERRITOIRE BRITANNIQUE DE L'</option> <option value="OM">OMAN</option> <option value="UG">OUGANDA</option> <option value="UZ">OUZB脡KISTAN</option> <option value="PK">PAKISTAN</option> <option value="PW">PALAOS</option> <option value="PS">PALESTINIEN OCCUP脡, TERRITOIRE</option> <option value="PA">PANAMA</option> <option value="PG">PAPOUASIE-NOUVELLE-GUIN脡E</option> <option value="PY">PARAGUAY</option> <option value="NL">PAYS-BAS</option> <option value="PE">P脡ROU</option> <option value="PH">PHILIPPINES</option> <option value="PN">PITCAIRN</option> <option value="PL">POLOGNE</option> <option value="PF">POLYN脡SIE FRAN脟AISE</option> <option value="PR">PORTO RICO</option> <option value="PT">PORTUGAL</option> <option value="QA">QATAR</option> <option value="RE">R脡UNION</option> <option value="RO">ROUMANIE</option> <option value="GB">ROYAUME-UNI</option> <option value="RU">RUSSIE, F脡D脡RATION DE</option> <option value="RW">RWANDA</option> <option value="EH">SAHARA OCCIDENTAL</option> <option value="BL">SAINT-BARTH脡LEMY</option> <option value="KN">SAINT-KITTS-ET-NEVIS</option> <option value="SM">SAINT-MARIN</option> <option value="MF">SAINT-MARTIN</option> <option value="PM">SAINT-PIERRE-ET-MIQUELON</option> <option value="VA">SAINT-SI脠GE (脡TAT DE LA CIT脡 DU VATICAN)</option> <option value="VC">SAINT-VINCENT-ET-LES GRENADINES</option> <option value="SH">SAINTE-H脡L脠NE, ASCENSION ET TRISTAN DA CUNHA</option> <option value="LC">SAINTE-LUCIE</option> <option value="SB">SALOMON, 脦LES</option> <option value="WS">SAMOA</option> <option value="AS">SAMOA AM脡RICAINES</option> <option value="ST">SAO TOM脡-ET-PRINCIPE</option> <option value="SN">S脡N脡GAL</option> <option value="RS">SERBIE</option> <option value="SC">SEYCHELLES</option> <option value="SL">SIERRA LEONE</option> <option value="SG" selected="selected">SINGAPOUR</option> <option value="SK">SLOVAQUIE</option> <option value="SI">SLOV脡NIE</option> <option value="SO">SOMALIE</option> <option value="SD">SOUDAN</option> <option value="LK">SRI LANKA</option> <option value="SE">SU脠DE</option> <option value="CH">SUISSE</option> <option value="SR">SURINAME</option> <option value="SJ">SVALBARD ET 脦LE JAN MAYEN</option> <option value="SZ">SWAZILAND</option> <option value="SY">SYRIENNE, R脡PUBLIQUE ARABE</option> <option value="TJ">TADJIKISTAN</option> <option value="TW">TA脧WAN, PROVINCE DE CHINE</option> <option value="TZ">TANZANIE, R脡PUBLIQUE-UNIE DE</option> <option value="TD">TCHAD</option> <option value="CZ">TCH脠QUE, R脡PUBLIQUE</option> <option value="TF">TERRES AUSTRALES FRAN脟AISES</option> <option value="TH">THA脧LANDE</option> <option value="TL">TIMOR-LESTE</option> <option value="TG">TOGO</option> <option value="TK">TOKELAU</option> <option value="TO">TONGA</option> <option value="TT">TRINIT脡-ET-TOBAGO</option> <option value="TN">TUNISIE</option> <option value="TM">TURKM脡NISTAN</option> <option value="TC">TURKS ET CA脧QUES, 脦LES</option> <option value="TR">TURQUIE</option> <option value="TV">TUVALU</option> <option value="UA">UKRAINE</option> <option value="UY">URUGUAY</option> <option value="VU">VANUATU</option> <option value="VE">VENEZUELA, R脡PUBLIQUE BOLIVARIENNE DU</option> <option value="VN">VIET NAM</option> <option value="WF">WALLIS ET FUTUNA</option> <option value="YE">Y脡MEN</option> <option value="ZM">ZAMBIE</option> <option value="ZW">ZIMBABWE</option> </select> </p> <!-- FindMyAddress not enabled on this campaign --> </fieldset> <p id="required-info"> <span class="required">*</span> <span class="help"> Champs obligatoires </span> </p> </fieldset> </div> <!-- End Bloc --> <div class="step-info"> <h4>Respect de votre vie priv茅e</h4> <div class="step-info-body"> <div>Vos données à caractère personnel seront conservées en toute sécurité et ne seront pas divulguées. En fournissant ces informations, vous acceptez de recevoir des informations à propos de nos campagnes et vous acceptez l'utilisation de cookies, conformément à notre <a href="https://cern.service-now.com/service-portal/privacy-policy.do?se=Fundraising-Service&notice=online">Avis sur l'utilisation des données à caractère personnel </a>(en anglais).</div> <div style="text-align: justify;">聽 <hr /><span style="font-size:20px;">VOTRE DON</span> <div><br /> Nous souhaitons faire preuve de transparence et de responsabilité dans la manière dont nous utilisons vos dons. Le CERN fournit les ressources opérationnelles nécessaires pour la collecte de fonds. Une petite partie des dons non dédiés est néanmoins utilisée pour couvrir les frais de traitement liés aux contributions reçues en ligne et d'autres coûts opérationnels.<br /> 聽</div> </div> </div> </div> <!-- End Step-info --> </div> <!-- End Step-container --> </div> <!-- End Step-2 --> <div id="step-3" class="unit size1of3 lastUnit"> <div class="step-container"> <div class="step-title"> <h2>Mon r猫glement</h2> </div> <div class="step-content"> <div id="security-info"> <p>Paiements hautement s茅curis茅s gr芒ce 脿 la m茅thode de cryptage SSL 256 bits, la norme de s茅curit茅 la plus 茅lev茅e.</p> </div> <div class="payment"> <div id="payment_modes_once"> <input type="hidden" name="paymentNonce" id="paymentNonce" value="" autocomplete="off"/> <input type="hidden" name="stripeErrorCode" id="stripeErrorCode" value="" autocomplete="off"/> <input type="hidden" name="stripeError" id="stripeError" value="" autocomplete="off"/> <fieldset id="payment_mode-card" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Carte bancaire</span> </h4> <div class="payment_body" id="creditcard"> <p id="card-number"> <label for="stripe_creditcard_cardNumber_placeholder_once">Saisissez votre num茅ro de carte bancaire</label> <input type="text" id="stripe_creditcard_cardNumber_placeholder_once" autocomplete="off"/> </p> <div class="line"> <p id="card-expiry" class="unit size1of2"> <label for="stripe_creditcard_cardExpiry_placeholder_once">Date d'expiration</label> <input type="text" id="stripe_creditcard_cardExpiry_placeholder_once" autocomplete="off"/> </p> <p id="card-scode" class="unit size2of2 lastUnit"> <label for="stripe_creditcard_cardCvc_placeholder_once">Code de s茅curit茅</label> <input type="text" id="stripe_creditcard_cardCvc_placeholder_once" autocomplete="off"/> <span class="help">Le code de s茅curit茅 est constitu茅 des 3 derniers chiffres inscrits au dos de votre carte bancaire</span> <span class="help amex" style="display: none;">Le code de s茅curit茅 est constitu茅 des 4 derniers chiffres inscrits au recto de votre carte bancaire</span> </p> </div> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_once" data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('once')"/> <script> var stripeElementGetFrequency = () => Step1.current_donation.frequency; if (!window.stripe_creditcard) { const VAL_ERROR = 'error'; const VAL_NOT_SET = 'N/A'; const defaultCoords = {}; defaultCoords["firstname"] = null; defaultCoords["lastname"] = null; defaultCoords["email"] = null; const defaultPaymentMethodErrorMessage = "Les coordonnées bancaires saisies sont incorrectes. Merci de les vérifier et de les saisir à nouveau."; const lang = "fr_FR"; const cardCvcPlaceholder = "Use the value provided by Stripe"; const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN"; const stripeApiVersion = "2020-08-27"; const coordNames = Object.keys(defaultCoords); const elementConf = { 'cardNumber': { defaultErrorMessage: DntErrors.errorMsg.cardnumber, options: {showIcon: true}, }, 'cardExpiry': { defaultErrorMessage: DntErrors.errorMsg.cardmonth, }, 'cardCvc': { defaultErrorMessage: DntErrors.errorMsg.cardscode, }, }; // only add a CVC placeholder for languages which have a short CVC provided if (cardCvcPlaceholder != 'Use the value provided by Stripe') { elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder}; } const elementTypes = Object.keys(elementConf); window.stripe_creditcard = { complete: {}, elements: {}, error: {}, frequencies: {}, lastInitFrequency: '', stripe: false, checkElement: function(frequency, elementType) { this.log('checkElement', [frequency, elementType]); if (frequency !== this.lastInitFrequency) return false; const complete = this.complete[frequency][elementType]; const error = this.error[frequency][elementType]; const placeholder = $('#' + this.getPlaceholderId(frequency, elementType)); if (!complete || error) { placeholder.attr('data-ira-errormsg', error && error.message ? error.message : elementConf[elementType].defaultErrorMessage ); return false; } else { placeholder.removeAttr('data-ira-errormsg'); return true; } }, checkPaymentMethod: function(frequency) { this.log('checkPaymentMethod', [frequency]); if (frequency !== this.lastInitFrequency) return false; const paymentMethodInput = this.getPaymentMethodInput(frequency); if (paymentMethodInput.val() === VAL_ERROR) { paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage); return false; } else { paymentMethodInput.removeAttr('data-ira-errormsg'); return true; } }, createPaymentMethod: function (frequency) { if (frequency !== this.lastInitFrequency) return; this.log('createPaymentMethod', [frequency]); const paymentMethodInput = this.resetPaymentMethod(frequency); for (let elementType of elementTypes) { if (!this.complete[frequency][elementType]) return; } const coords = {}; for (let coordName of coordNames) { const coordInput = $('input[name="' + coordName + '"]'); coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName]; if (!coords[coordName]) return; } // All other inputs we rely on are ok and won't trigger any error message display, // so until createPaymentMethod succeds, we must ensure paymentMethodInput does paymentMethodInput.val(VAL_ERROR); // Prevent form submission before createPaymentMethod answers $('#stripe_submit.' + frequency).prop('disabled', true); setTimeout(() => { try { this.stripe.createPaymentMethod({ type: 'card', card: this.elements[frequency].cardNumber, billing_details: { name: coords.firstname + ' ' + coords.lastname, email: coords.email, } }).then(result => { $('#stripe_submit.' + frequency).prop('disabled', false); console.log(result); if (result.paymentMethod && result.paymentMethod.id) { paymentMethodInput.val(result.paymentMethod.id); console.log('paymentMethod = ' + paymentMethodInput.val()); } else { this.error[frequency].paymentMethod = result.error.message; for (let prop of ['type', 'code', 'decline_code', 'message']) { window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]); } } }); } catch (e) { console.log(e); $('#stripe_submit.' + frequency).prop('disabled', false); } }, 500); }, getContainerId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_container_' + frequency; }, getPaymentMethodInput: function(frequency) { return $('#stripe_creditcard_paymentMethod_' + frequency); }, getPlaceholderId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency; }, /** * Build an array of Stripe JS CssFontSource objects * from the fonts used by the specified elements. * * See https://stripe.com/docs/js/appendix/css_font_source_object * * Warning: works only for fonts loaded from a google-style stylesheet URL * with a family=xxx parameter (where xxx is the font-family) */ getStripeJsCssFontSources: function(ids) { try { const used = {}; for (let id of ids) { const computedStyle = window.getComputedStyle(document.getElementById(id)); const fontFamily = computedStyle.getPropertyValue('font-family'); used[fontFamily] = true; } const hrefs = []; for (let s of document.styleSheets) { if (!s.href) continue; const params = new URLSearchParams(new URL(s.href).search); const fontFamily = params.get('family'); if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) { hrefs.push(s.href); } } return hrefs.map(href => ({cssSrc: href})); } catch (error) { /** * Stripe Element implementation has javascript incompatibility with Opera browser. * We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list. * This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations. */ return []; } }, /** * Get the locale as expected by Stripe JS * * See https://stripe.com/docs/js/appendix/supported_locales */ getStripeJsLocale: function () { switch(lang) { case 'en_EN': return 'en-GB'; case 'se_SE': return 'sv'; case 'zh_TW': return lang.substring(0, 2) + '-' + lang.substring(3, 5); default: return lang.substring(0, 2); } }, /** * Build a Stripe JS Style object from the specified element's computed style * and copy all other styles to the provided container. * * See https://stripe.com/docs/js/appendix/style */ getStripeJsStyle: function(id, container) { const styleKeyMap = { // Stripe JS recommands setting background-color on the container //'background-color': 'backgroundColor', 'color': 'color', 'font-family': 'fontFamily', 'font-size': 'fontSize', 'font-smoothing': 'fontSmoothing', 'font-style': 'fontStyle', 'font-variant': 'fontVariant', 'font-weight': 'fontWeight', // Stripe JS doesn't like line-height and doesn't even take it into account //'line-height': 'lineHeight', 'letter-spacing': 'letterSpacing', 'text-align': 'textAlign', 'text-decoration': 'textDecoration', 'text-shadow': 'textShadow', 'text-transform': 'textTransform', }; const baseStyle = {}; const computedStyle = window.getComputedStyle(document.getElementById(id)); for (let cssProp of computedStyle) { const styleKey = styleKeyMap[cssProp]; const cssValue = computedStyle.getPropertyValue(cssProp); if (styleKey) { baseStyle[styleKey] = cssValue; } else { container.css(cssProp, cssValue); } } return {base: baseStyle}; }, init: function (reason) { const frequency = stripeElementGetFrequency(); if (!this.frequencies[frequency]) return; this.log('init', [frequency, reason]); // Stripe elements are reset at every init so we need to reset as well this.complete[frequency] = {}; this.error[frequency] = {}; this.resetPaymentMethod(frequency); this.lastInitFrequency = frequency; this.mount(frequency); }, isMounted: function(frequency) { return !!this.elements[frequency]; }, log: function (method, params = []) { console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')'); }, mount: function (frequency) { const wasAlreadyMounted = this.unmount(frequency); this.log('mount', [frequency]); if (!this.stripe) { this.stripe = Stripe(stripePublicApiKey, { locale: this.getStripeJsLocale(), apiVersion: stripeApiVersion }); } const stripeElements = this.stripe.elements({ fonts: this.getStripeJsCssFontSources( elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType)) ), }); this.elements[frequency] = {}; for (let elementType of elementTypes) { const placeholderId = this.getPlaceholderId(frequency, elementType); const containerId = this.getContainerId(frequency, elementType); const container = $('<span/>').attr('id', containerId); const element = stripeElements.create(elementType, Object.assign( {style: this.getStripeJsStyle(placeholderId, container)}, elementConf[elementType].options )); this.elements[frequency][elementType] = element; $('#' + placeholderId) .attr('data-scope', 'stripe') .attr('data-required', '1') .attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')") .val(VAL_NOT_SET) .hide() .after(container); element.mount('#' + containerId); // Stripe creates an intermediate div between the container and its iframe // Let's force this div's contents to be vertically centered inside the container $('#' + containerId + ' div').css({ display: 'flex', height: '100%', 'align-items': 'center', }); element.on('change', ev => this.onElementChanged(frequency, ev)); } if (!wasAlreadyMounted) { for (let coordName of coordNames) { $('input[name="' + coordName + '"]').on('change', () => this.createPaymentMethod(frequency)); } // Force a re-init if the payment mode was previously hidden // as Stripe does not mount well hidden fields const cvcPlaceholderId = this.getPlaceholderId(frequency, 'cardCvc'); $('#payment_mode-card:has(#' + cvcPlaceholderId + ')').on('payment_shown', () => this.init('payment_shown')); } }, unmount: function (frequency) { if (!this.isMounted(frequency)) return false; this.log('unmount', [frequency]); for (let elementType of elementTypes) { this.elements[frequency][elementType].destroy(); $('#' + this.getContainerId(frequency, elementType)).remove(); $('#' + this.getPlaceholderId(frequency, elementType)).show(); } return true; }, onElementChanged: function (frequency, ev) { this.log('onElementChanged', [ frequency, ev.elementType, ev.complete ? 'complete' : 'not complete', ev.error ? ev.error.message : 'no error', ]); this.complete[frequency][ev.elementType] = ev.complete; this.error[frequency][ev.elementType] = ev.error; this.createPaymentMethod(frequency); }, resetPaymentMethod: function (frequency) { const paymentMethodInput = this.getPaymentMethodInput(frequency); paymentMethodInput.val(VAL_NOT_SET); this.error[frequency].paymentMethod = false; return paymentMethodInput; }, }; window.stripeJsLoaded.then(() => { // Force a reinit when the donation amount or the style change for (let event of ['init_done', 'WebFont.fontactive']) { $('body').on(event, () => window.stripe_creditcard.init(event)); } }); } if (!window.stripe_creditcard.frequencies["once"]) { window.stripe_creditcard.frequencies["once"] = true; window.stripeJsLoaded.then(() => { // Ensure the 1st init is done only once, for the active frequency if (stripeElementGetFrequency() === "once") { window.stripe_creditcard.init("stripeJsLoaded"); } }); } </script> <p id="card-submit" class="payment-submit"> <input name="stripe_submit" type="submit" value="Valider" id="stripe_submit" class="button once" data-scope='stripe'/> </p> </div> </fieldset> <!-- STANDARD BUTTONS --> <fieldset id="payment_mode-gw_paypal_paypal" class="payment_mode " > <h4 class="payment_head"> <span class="payment_mode_title">PayPaL</span> </h4> <div class="payment_body" id="gw_paypal_paypal"> <!-- GOCARDLESS BACS SPECIFIC TEXT & CHECKBOX (must be checked to submit payment) --> <!-- LEGAL UK REQUIREMENTS FOR BANK MANDATES --> <input name="type" type="hidden" value="" data-scope="gw_paypal_paypal"/> <input name="mode" type="hidden" value="gw_paypal_paypal" data-scope="gw_paypal_paypal"/> <p id="gw_paypal_paypal-submit" class="payment-submit gateway"> <input name="gw_paypal_paypal_submit" type="submit" value="Valider" id="gw_paypal_paypal_submit" class="button gateway" data-scope="gw_paypal_paypal"/> </p> </div> </fieldset> <fieldset id="payment_mode-check" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Paiement par ch猫que ou virement bancaire</span> </h4> <div class="payment_body" id="check"> <p id="check-submit" class="payment-submit"> <input name="check_submit" type="submit" value="Valider" id="check_submit" class="button" data-scope='check' /> </p> </div> </fieldset> <fieldset id="payment_mode-apple_pay-once" class="payment_mode" data-scope='stripe_apple_pay'> <h4 class="payment_head"><span class="payment_mode_title">Apple Pay</span></h4> <div class="payment_body" id="apple_pay"> <div id="apple_pay-submit" class="payment-submit"> <input name="stripe_apple_pay_submit" type="submit" value="Valider" alt="Apple Pay" id="stripe_apple_pay_submit" class="button once" data-scope='stripe_apple_pay' style="display:none;" disabled/> </div> <input type="hidden" name="stripe_apple_pay_paymentMethod" id="stripe_apple_pay_paymentMethod" class="once" value=""/> </div> </fieldset> <script> Stripe_obj.buttons.Step3 = true; $('#stripe_apple_pay_submit.once').click(function(event){ // Submit the form if called after receiving the paymentMethod if ( (Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) && $('#stripe_apple_pay_paymentMethod.once').val() ) { console.log('stripe_apple_pay_submit -- submitting form'); return true; } else if (Stripe_obj.buttons.Step3) { // Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid if (Step1.check() && Step2.check() && Step3.check()) { console.log('paymentRequest.show() -- stripePay'); Stripe_obj.paymentRequest.show(); return false; } else { DntErrors.displayErrors(); } } // Or stay on the form setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500); return false; }); </script> <style> #stripe_apple_pay_submit.apple_pay_styled_button { -webkit-appearance: -apple-pay-button !important; -apple-pay-button-type: donate; color: transparent !important; } </style> </div> <div id="payment_modes_regular" style="display:none"> <input type="hidden" name="paymentNonce" id="paymentNonce" value="" autocomplete="off"/> <input type="hidden" name="stripeErrorCode" id="stripeErrorCode" value="" autocomplete="off"/> <input type="hidden" name="stripeError" id="stripeError" value="" autocomplete="off"/> <fieldset id="payment_mode-card" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Carte bancaire</span> </h4> <div class="payment_body" id="creditcard"> <p id="card-number"> <label for="stripe_creditcard_cardNumber_placeholder_regular">Saisissez votre num茅ro de carte bancaire</label> <input type="text" id="stripe_creditcard_cardNumber_placeholder_regular" autocomplete="off"/> </p> <div class="line"> <p id="card-expiry" class="unit size1of2"> <label for="stripe_creditcard_cardExpiry_placeholder_regular">Date d'expiration</label> <input type="text" id="stripe_creditcard_cardExpiry_placeholder_regular" autocomplete="off"/> </p> <p id="card-scode" class="unit size2of2 lastUnit"> <label for="stripe_creditcard_cardCvc_placeholder_regular">Code de s茅curit茅</label> <input type="text" id="stripe_creditcard_cardCvc_placeholder_regular" autocomplete="off"/> <span class="help">Le code de s茅curit茅 est constitu茅 des 3 derniers chiffres inscrits au dos de votre carte bancaire</span> <span class="help amex" style="display: none;">Le code de s茅curit茅 est constitu茅 des 4 derniers chiffres inscrits au recto de votre carte bancaire</span> </p> </div> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_regular" data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('regular')"/> <script> var stripeElementGetFrequency = () => Step1.current_donation.frequency; if (!window.stripe_creditcard) { const VAL_ERROR = 'error'; const VAL_NOT_SET = 'N/A'; const defaultCoords = {}; defaultCoords["firstname"] = null; defaultCoords["lastname"] = null; defaultCoords["email"] = null; const defaultPaymentMethodErrorMessage = "Les coordonnées bancaires saisies sont incorrectes. Merci de les vérifier et de les saisir à nouveau."; const lang = "fr_FR"; const cardCvcPlaceholder = "Use the value provided by Stripe"; const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN"; const stripeApiVersion = "2020-08-27"; const coordNames = Object.keys(defaultCoords); const elementConf = { 'cardNumber': { defaultErrorMessage: DntErrors.errorMsg.cardnumber, options: {showIcon: true}, }, 'cardExpiry': { defaultErrorMessage: DntErrors.errorMsg.cardmonth, }, 'cardCvc': { defaultErrorMessage: DntErrors.errorMsg.cardscode, }, }; // only add a CVC placeholder for languages which have a short CVC provided if (cardCvcPlaceholder != 'Use the value provided by Stripe') { elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder}; } const elementTypes = Object.keys(elementConf); window.stripe_creditcard = { complete: {}, elements: {}, error: {}, frequencies: {}, lastInitFrequency: '', stripe: false, checkElement: function(frequency, elementType) { this.log('checkElement', [frequency, elementType]); if (frequency !== this.lastInitFrequency) return false; const complete = this.complete[frequency][elementType]; const error = this.error[frequency][elementType]; const placeholder = $('#' + this.getPlaceholderId(frequency, elementType)); if (!complete || error) { placeholder.attr('data-ira-errormsg', error && error.message ? error.message : elementConf[elementType].defaultErrorMessage ); return false; } else { placeholder.removeAttr('data-ira-errormsg'); return true; } }, checkPaymentMethod: function(frequency) { this.log('checkPaymentMethod', [frequency]); if (frequency !== this.lastInitFrequency) return false; const paymentMethodInput = this.getPaymentMethodInput(frequency); if (paymentMethodInput.val() === VAL_ERROR) { paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage); return false; } else { paymentMethodInput.removeAttr('data-ira-errormsg'); return true; } }, createPaymentMethod: function (frequency) { if (frequency !== this.lastInitFrequency) return; this.log('createPaymentMethod', [frequency]); const paymentMethodInput = this.resetPaymentMethod(frequency); for (let elementType of elementTypes) { if (!this.complete[frequency][elementType]) return; } const coords = {}; for (let coordName of coordNames) { const coordInput = $('input[name="' + coordName + '"]'); coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName]; if (!coords[coordName]) return; } // All other inputs we rely on are ok and won't trigger any error message display, // so until createPaymentMethod succeds, we must ensure paymentMethodInput does paymentMethodInput.val(VAL_ERROR); // Prevent form submission before createPaymentMethod answers $('#stripe_submit.' + frequency).prop('disabled', true); setTimeout(() => { try { this.stripe.createPaymentMethod({ type: 'card', card: this.elements[frequency].cardNumber, billing_details: { name: coords.firstname + ' ' + coords.lastname, email: coords.email, } }).then(result => { $('#stripe_submit.' + frequency).prop('disabled', false); console.log(result); if (result.paymentMethod && result.paymentMethod.id) { paymentMethodInput.val(result.paymentMethod.id); console.log('paymentMethod = ' + paymentMethodInput.val()); } else { this.error[frequency].paymentMethod = result.error.message; for (let prop of ['type', 'code', 'decline_code', 'message']) { window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]); } } }); } catch (e) { console.log(e); $('#stripe_submit.' + frequency).prop('disabled', false); } }, 500); }, getContainerId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_container_' + frequency; }, getPaymentMethodInput: function(frequency) { return $('#stripe_creditcard_paymentMethod_' + frequency); }, getPlaceholderId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency; }, /** * Build an array of Stripe JS CssFontSource objects * from the fonts used by the specified elements. * * See https://stripe.com/docs/js/appendix/css_font_source_object * * Warning: works only for fonts loaded from a google-style stylesheet URL * with a family=xxx parameter (where xxx is the font-family) */ getStripeJsCssFontSources: function(ids) { try { const used = {}; for (let id of ids) { const computedStyle = window.getComputedStyle(document.getElementById(id)); const fontFamily = computedStyle.getPropertyValue('font-family'); used[fontFamily] = true; } const hrefs = []; for (let s of document.styleSheets) { if (!s.href) continue; const params = new URLSearchParams(new URL(s.href).search); const fontFamily = params.get('family'); if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) { hrefs.push(s.href); } } return hrefs.map(href => ({cssSrc: href})); } catch (error) { /** * Stripe Element implementation has javascript incompatibility with Opera browser. * We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list. * This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations. */ return []; } }, /** * Get the locale as expected by Stripe JS * * See https://stripe.com/docs/js/appendix/supported_locales */ getStripeJsLocale: function () { switch(lang) { case 'en_EN': return 'en-GB'; case 'se_SE': return 'sv'; case 'zh_TW': return lang.substring(0, 2) + '-' + lang.substring(3, 5); default: return lang.substring(0, 2); } }, /** * Build a Stripe JS Style object from the specified element's computed style * and copy all other styles to the provided container. * * See https://stripe.com/docs/js/appendix/style */ getStripeJsStyle: function(id, container) { const styleKeyMap = { // Stripe JS recommands setting background-color on the container //'background-color': 'backgroundColor', 'color': 'color', 'font-family': 'fontFamily', 'font-size': 'fontSize', 'font-smoothing': 'fontSmoothing', 'font-style': 'fontStyle', 'font-variant': 'fontVariant', 'font-weight': 'fontWeight', // Stripe JS doesn't like line-height and doesn't even take it into account //'line-height': 'lineHeight', 'letter-spacing': 'letterSpacing', 'text-align': 'textAlign', 'text-decoration': 'textDecoration', 'text-shadow': 'textShadow', 'text-transform': 'textTransform', }; const baseStyle = {}; const computedStyle = window.getComputedStyle(document.getElementById(id)); for (let cssProp of computedStyle) { const styleKey = styleKeyMap[cssProp]; const cssValue = computedStyle.getPropertyValue(cssProp); if (styleKey) { baseStyle[styleKey] = cssValue; } else { container.css(cssProp, cssValue); } } return {base: baseStyle}; }, init: function (reason) { const frequency = stripeElementGetFrequency(); if (!this.frequencies[frequency]) return; this.log('init', [frequency, reason]); // Stripe elements are reset at every init so we need to reset as well this.complete[frequency] = {}; this.error[frequency] = {}; this.resetPaymentMethod(frequency); this.lastInitFrequency = frequency; this.mount(frequency); }, isMounted: function(frequency) { return !!this.elements[frequency]; }, log: function (method, params = []) { console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')'); }, mount: function (frequency) { const wasAlreadyMounted = this.unmount(frequency); this.log('mount', [frequency]); if (!this.stripe) { this.stripe = Stripe(stripePublicApiKey, { locale: this.getStripeJsLocale(), apiVersion: stripeApiVersion }); } const stripeElements = this.stripe.elements({ fonts: this.getStripeJsCssFontSources( elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType)) ), }); this.elements[frequency] = {}; for (let elementType of elementTypes) { const placeholderId = this.getPlaceholderId(frequency, elementType); const containerId = this.getContainerId(frequency, elementType); const container = $('<span/>').attr('id', containerId); const element = stripeElements.create(elementType, Object.assign( {style: this.getStripeJsStyle(placeholderId, container)}, elementConf[elementType].options )); this.elements[frequency][elementType] = element; $('#' + placeholderId) .attr('data-scope', 'stripe') .attr('data-required', '1') .attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')") .val(VAL_NOT_SET) .hide() .after(container); element.mount('#' + containerId); // Stripe creates an intermediate div between the container and its iframe // Let's force this div's contents to be vertically centered inside the container $('#' + containerId + ' div').css({ display: 'flex', height: '100%', 'align-items': 'center', }); element.on('change', ev => this.onElementChanged(frequency, ev)); } if (!wasAlreadyMounted) { for (let coordName of coordNames) { $('input[name="' + coordName + '"]').on('change', () => this.createPaymentMethod(frequency)); } // Force a re-init if the payment mode was previously hidden // as Stripe does not mount well hidden fields const cvcPlaceholderId = this.getPlaceholderId(frequency, 'cardCvc'); $('#payment_mode-card:has(#' + cvcPlaceholderId + ')').on('payment_shown', () => this.init('payment_shown')); } }, unmount: function (frequency) { if (!this.isMounted(frequency)) return false; this.log('unmount', [frequency]); for (let elementType of elementTypes) { this.elements[frequency][elementType].destroy(); $('#' + this.getContainerId(frequency, elementType)).remove(); $('#' + this.getPlaceholderId(frequency, elementType)).show(); } return true; }, onElementChanged: function (frequency, ev) { this.log('onElementChanged', [ frequency, ev.elementType, ev.complete ? 'complete' : 'not complete', ev.error ? ev.error.message : 'no error', ]); this.complete[frequency][ev.elementType] = ev.complete; this.error[frequency][ev.elementType] = ev.error; this.createPaymentMethod(frequency); }, resetPaymentMethod: function (frequency) { const paymentMethodInput = this.getPaymentMethodInput(frequency); paymentMethodInput.val(VAL_NOT_SET); this.error[frequency].paymentMethod = false; return paymentMethodInput; }, }; window.stripeJsLoaded.then(() => { // Force a reinit when the donation amount or the style change for (let event of ['init_done', 'WebFont.fontactive']) { $('body').on(event, () => window.stripe_creditcard.init(event)); } }); } if (!window.stripe_creditcard.frequencies["regular"]) { window.stripe_creditcard.frequencies["regular"] = true; window.stripeJsLoaded.then(() => { // Ensure the 1st init is done only once, for the active frequency if (stripeElementGetFrequency() === "regular") { window.stripe_creditcard.init("stripeJsLoaded"); } }); } </script> <p id="card-submit" class="payment-submit"> <input name="stripe_submit" type="submit" value="Valider" id="stripe_submit" class="button regular" data-scope='stripe'/> </p> </div> </fieldset> <!-- STANDARD BUTTONS --> <fieldset id="payment_mode-gw_paypal_paypal" class="payment_mode " > <h4 class="payment_head"> <span class="payment_mode_title">PayPaL</span> </h4> <div class="payment_body" id="gw_paypal_paypal"> <!-- GOCARDLESS BACS SPECIFIC TEXT & CHECKBOX (must be checked to submit payment) --> <!-- LEGAL UK REQUIREMENTS FOR BANK MANDATES --> <input name="type" type="hidden" value="" data-scope="gw_paypal_paypal"/> <input name="mode" type="hidden" value="gw_paypal_paypal" data-scope="gw_paypal_paypal"/> <p id="gw_paypal_paypal-submit" class="payment-submit gateway"> <input name="gw_paypal_paypal_submit" type="submit" value="Valider" id="gw_paypal_paypal_submit" class="button gateway" data-scope="gw_paypal_paypal"/> </p> </div> </fieldset> <fieldset id="payment_mode-apple_pay-regular" class="payment_mode" data-scope='stripe_apple_pay'> <h4 class="payment_head"><span class="payment_mode_title">Apple Pay</span></h4> <div class="payment_body" id="apple_pay"> <div id="apple_pay-submit" class="payment-submit"> <input name="stripe_apple_pay_submit" type="submit" value="Valider" alt="Apple Pay" id="stripe_apple_pay_submit" class="button regular" data-scope='stripe_apple_pay' style="display:none;" disabled/> </div> <input type="hidden" name="stripe_apple_pay_paymentMethod" id="stripe_apple_pay_paymentMethod" class="regular" value=""/> </div> </fieldset> <script> Stripe_obj.buttons.Step3 = true; $('#stripe_apple_pay_submit.regular').click(function(event){ // Submit the form if called after receiving the paymentMethod if ( (Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) && $('#stripe_apple_pay_paymentMethod.regular').val() ) { console.log('stripe_apple_pay_submit -- submitting form'); return true; } else if (Stripe_obj.buttons.Step3) { // Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid if (Step1.check() && Step2.check() && Step3.check()) { console.log('paymentRequest.show() -- stripePay'); Stripe_obj.paymentRequest.show(); return false; } else { DntErrors.displayErrors(); } } // Or stay on the form setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500); return false; }); </script> <style> #stripe_apple_pay_submit.apple_pay_styled_button { -webkit-appearance: -apple-pay-button !important; -apple-pay-button-type: subscribe; color: transparent !important; } </style> </div> </div> <!-- End Payment --> </div> <!-- End Bloc --> <div class="step-info"> <h4>Nous soutenir en toute confiance</h4> <div class="step-info-body"> <p>Ce site internet est 100% sécurisé.</p> <div>Toutes les informations bancaires pour traiter le paiement sont cryptées grâce au protocole SSL. Elles ne sont en aucun cas conservées sur nos systèmes informatiques.<br /> <br /> Pour les donateurs ayant leur domicile en Suisse, votre don peut faire l'objet d'une déduction fiscale. Si vous avez votre domicile dans un autre pays, consultez la page聽<a href="https://cernandsocietyfoundation.web.cern.ch/page/tax-efficient-giving" rel="noopener noreferrer" target="_blank">Dons et déductions fiscales</a>.</div> <div><br /> Notre service donateurs est à votre disposition pour répondre à toutes vos questions. N'hésitez pas à nous contacter par email:聽<a href="mailto:partnerships.fundraising@cern.ch">donorcare@csf.cern.ch</a><br /> <br /> <br /> 聽</div> <br /> <a href="https://home.cern" target="_parent"><img alt="" src="https://design-guidelines.web.cern.ch/themes/custom/cernclean/logo.svg" style="width: 95px; float: right;" /></a> </div> </div> <!-- End Step-info --> </div> <!-- End Step-container --> </div> <!-- End Step 3 --> </form> </div> </div> <!-- End Main --> <div id="footer" class="line"> <div class="container" id="footer_wrapinner"> <div id="powered" class="unit size1of3" style="display:block !important;"> <p style="display:block !important;"><a style="display:block !important;" href="https://www.iraiser.eu" title="Powered by iRaiser"><img style="display:block !important; min-width: 100px!important;min-height: 15px!important;" src="/libs.iraiser.eu/design/powered-by/v1/powered-by-iraiser.png" alt="Powered by iRaiser" width="120" height="18"/></a></p> </div> <div id="copyright" class="unit size2of3 lastUnit"> <p> <a href="https://donate.cernandsocietyfoundation.cern/nos-credits" title="Crédits">Crédits</a> <span>|</span> <a href="https://donate.cernandsocietyfoundation.cern/mentions-legales" title="Mentions légales">Mentions légales</a> <span>|</span> <a href="https://donate.cernandsocietyfoundation.cern/contactez-nous" title="Contact">Contact</a> </p> </div> </div> </div> <!-- End Footer --> </div> <!-- End Container --> </body></html>