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>&nbsp;<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>&nbsp;<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 &amp; Soci茅t茅"><img src="/cdn.iraiser.eu/PGuj96KzjINl+5CiMeJw9A==/default/origin/Logotesto290-2.png" alt="Fondation CERN &amp; 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&ccedil;ais" class="current">Fran&ccedil;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&eacute;rence pour la prochaine g&eacute;n&eacute;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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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&eacute;t&eacute; est une organization caritative suisse &agrave; but non lucratif. Le but de la Fondation est de diffuser l鈥檈sprit de curiosit&eacute; scientifique du CERN et &ecirc;tre source d鈥檌nspiration et d鈥檃pports positifs pour la soci&eacute;t&eacute;.</p> <p>Pour mener &agrave; bien sa mission, la Fondation est active au niveau national et au niveau international, dans trois domaines principaux聽: l&#39;&eacute;ducation et la communication grand public, l&#39;innovation et l&#39;&eacute;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&eacute;es &agrave; caract&egrave;re personnel seront conserv&eacute;es en toute s&eacute;curit&eacute; et ne seront pas divulgu&eacute;es. En fournissant ces informations, vous acceptez de recevoir des informations &agrave; propos de nos campagnes et vous acceptez l&#39;utilisation de cookies, conform&eacute;ment &agrave; notre <a href="https://cern.service-now.com/service-portal/privacy-policy.do?se=Fundraising-Service&amp;notice=online">Avis sur l&#39;utilisation des donn&eacute;es &agrave; caract&egrave;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&eacute; dans la mani&egrave;re dont nous utilisons vos dons. Le CERN fournit les ressources op&eacute;rationnelles n&eacute;cessaires pour la collecte de fonds. Une petite partie des dons non d&eacute;di&eacute;s est n&eacute;anmoins utilis&eacute;e pour couvrir les frais de traitement li&eacute;s aux contributions re&ccedil;ues en ligne et d&#39;autres co&ucirc;ts op&eacute;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&eacute;es bancaires saisies sont incorrectes. Merci de les v&eacute;rifier et de les saisir &agrave; 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&eacute;es bancaires saisies sont incorrectes. Merci de les v&eacute;rifier et de les saisir &agrave; 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&eacute;curis&eacute;.</p> <div>Toutes les informations bancaires pour traiter le paiement sont crypt&eacute;es gr&acirc;ce au protocole SSL. Elles ne sont en aucun cas conserv&eacute;es sur nos syst&egrave;mes informatiques.<br /> <br /> Pour les donateurs ayant leur domicile en Suisse, votre don peut faire l&#39;objet d&#39;une d&eacute;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&eacute;ductions fiscales</a>.</div> <div><br /> Notre service donateurs est &agrave; votre disposition pour r&eacute;pondre &agrave; toutes vos questions. N&#39;h&eacute;sitez pas &agrave; 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&eacute;dits">Cr&eacute;dits</a> <span>|</span> <a href="https://donate.cernandsocietyfoundation.cern/mentions-legales" title="Mentions l&eacute;gales">Mentions l&eacute;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>

Pages: 1 2 3 4 5 6 7 8 9 10