CINXE.COM
Soutenez la recherche fondamentale
<!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 la recherche fondamentale</title> <meta name="description" content="Soutenez la recherche fondamentale en effectuant un don" /> <meta name="keywords" content="FNRS, fnrs,recherche,association,don,dons,donner,soutenir" /> <link type="text/css" href="https://dons.frs-fnrs.be/themes/default/css/style_v2.css?hash=431af37a1d48fa5580562bd86e2a7121" rel="stylesheet" /> <script type="text/javascript"> // <![CDATA[ const cacheVersion = "25010"; var gamonitoring_previous_page = sessionStorage.getItem('gamonitoring_previous_page') || document.referrer || "https:\/\/dons.frs-fnrs.be"; 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:"dons.frs-fnrs.be\/"+gamonitoring_session_id,dl:"https:\/\/dons.frs-fnrs.be\/FNRS\/b:steps\/cid=1",sc:gamonitoring_sc,dr:gamonitoring_previous_page,cd:"2025-04-06:04.27.38-67f1e69a915e6",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", "dons.frs-fnrs.be\/"+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:"dons.frs-fnrs.be\/"+gamonitoring_session_id,t:"event",ec:"JSError",ev:1,ea:"\/FNRS\/b:steps\/cid=1\/",}; 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://dons.frs-fnrs.be/themes/default/js/jquery-1.11.2.min.js?hash=5790ead7ad3ba27397aedfa3d263b867" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/jquery.patch.min.js?hash=8c3155becb5ec93b830922ca82081911" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/jquery.cookie-1.0.min.js?hash=6f6ed3cd5486dbf3bb9143eea287a6a5" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/dnterrors.min.js?hash=af6b6c3691e205792b5ad49d7fa92b5a" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/jquery.config.min.js?hash=aae7bb01c8a0e6da615dd41aaafab4b5" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/dynamic_form.min.js?hash=d0fa20a4d6821cc2aeba535277ff9b6e" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/step1.min.js?hash=9f5ee1cdcfc17951a981e36d87e9a39a" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/step2.min.js?hash=6292c56f90e351a3c47e8906964fd946" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/step3.min.js?hash=771c3951e11e0c848809922564437423" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/steps.min.js?hash=16e160d27e772967b816c0ec55f712ab" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/js/jquery.ir-priceinput.min.js?hash=07482ff72021c2c53278074abe52347f" ></script> <script type="text/javascript" src="https://dons.frs-fnrs.be/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 = "EUR" Common.price_campaign_currency = "EUR" 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.990905,"AFN":79.308224,"ALL":99.885821,"AMD":428.528097,"ANG":1.960133,"AOA":991.018881,"ARS":1155.781318,"AUD":1.721797,"AWG":1.958675,"AZN":1.916404,"BAM":1.969719,"BBD":2.196018,"BDT":132.143764,"BGN":1.955339,"BHD":0.40955,"BIF":3222.008292,"BMD":1.086644,"BND":1.4491,"BOB":7.515104,"BRL":6.263195,"BSD":1.087585,"BTC":1.2206742e-5,"BTN":94.681042,"BWP":14.889211,"BYN":3.559318,"BYR":21298.213015,"BZD":2.184738,"CAD":1.554145,"CDF":3125.186339,"CHF":0.954475,"CLF":0.026307,"CLP":1009.502806,"CNY":7.879361,"CNH":7.856742,"COP":4468.821481,"CRC":548.382592,"CUC":1.086644,"CUP":28.796053,"CVE":111.049708,"CZK":25.041667,"DJF":193.678586,"DKK":7.458982,"DOP":67.938194,"DZD":144.928877,"EGP":55.065445,"ERN":16.299653,"ETB":135.99427,"EUR":1,"FJD":2.491243,"FKP":0.842689,"GBP":0.839894,"GEL":3.020942,"GGP":0.842689,"GHS":16.793432,"GIP":0.842689,"GMD":78.339589,"GNF":9399.966433,"GTQ":8.375396,"GYD":226.571207,"HKD":8.444269,"HNL":27.63,"HRK":7.537502,"HTG":142.482354,"HUF":401.10439,"IDR":17749.203553,"ILS":3.924924,"IMP":0.842689,"INR":94.580981,"IQD":1414.267085,"IRR":45756.408659,"ISK":147.566714,"JEP":0.842689,"JMD":170.339215,"JOD":0.770401,"JPY":160.244604,"KES":140.357388,"KGS":95.304289,"KHR":4302.619834,"KMF":494.173377,"KPW":977.991582,"KRW":1572.7595,"KWD":0.334902,"KYD":0.898972,"KZT":539.857433,"LAK":23267.783711,"LBP":97334.894456,"LKR":320.904171,"LRD":216.354599,"LSL":19.713465,"LTL":3.208576,"LVL":0.6573,"LYD":5.238493,"MAD":10.587651,"MDL":20.067696,"MGA":5059.801951,"MKD":61.854837,"MMK":2280.773598,"MNT":3769.572137,"MOP":8.698361,"MRU":42.754851,"MUR":49.158772,"MVR":16.781472,"MWK":1860.55874,"MXN":21.984086,"MYR":4.810465,"MZN":69.426008,"NAD":19.713465,"NGN":1634.552514,"NIO":39.765699,"NOK":11.761302,"NPR":151.400505,"NZD":1.89767,"OMR":0.418349,"PAB":1.086644,"PEN":3.961312,"PGK":4.415737,"PHP":62.29995,"PKR":301.577178,"PLN":4.190168,"PYG":8587.051809,"QAR":3.955599,"RON":4.996691,"RSD":117.648501,"RUB":96.982605,"RWF":1537.758058,"SAR":4.07457,"SBD":9.261315,"SCR":15.567101,"SDG":653.021722,"SEK":10.965303,"SGD":1.446897,"SHP":0.853931,"SLE":24.829562,"SLL":22786.377444,"SOS":612.74353,"SRD":39.057048,"STD":22491.326963,"SVC":9.508294,"SYP":14128.469557,"SZL":19.713465,"THB":36.602171,"TJS":11.844402,"TMT":3.800159,"TND":3.363932,"TOP":2.616458,"TRY":39.569912,"TTD":7.365197,"TWD":35.734275,"TZS":2841.077619,"UAH":44.89688,"UGX":3987.18616,"USD":1.086644,"UYU":46.302482,"UZS":13967.515426,"VES":70.064786,"VND":27730.501404,"VUV":135.08647,"WST":3.067386,"XAF":658.897837,"XAG":0.033291,"XAU":0.000372,"XCD":2.941903,"XDR":0.818002,"XOF":658.897837,"XPF":119.331742,"YER":268.172566,"ZAR":19.619381,"ZMK":9781.0974,"ZMW":31.27046,"ZWL":349.89877,"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 = "once" Step1.tax_reduction_rates = {"ir":[45,0],"isf":[75,0],"corp":[60],"custom1":[],"custom2":[]}; Step1.tax_reduction_ceils = {"ir":[112500],"isf":[66666.67],"corp":[],"custom1":[],"custom2":[]}; Step1.tax_reduction_notices = {"ir":"\u00e0 hauteur de 4.5% de l'ensemble de vos revenus nets","isf":"","corp":"\u00e0 hauteur de 5\u2030 du chiffre d'affaires annuel","custom1":"","custom2":""}; Step1.tax_reduction_triggers = {"ir":"40","isf":"0","corp":"0","custom1":"0","custom2":"0"}; Step1.active_tax_reduction = 1; Step1.adapt_tax_bloc = false; Step1.tax_info = "Votre don ne vous co\u00fbte r\u00e9ellement que <strong><span class='price'><data class='price_amount'>%s<\/data> <data class='price_currency'>\u20ac<\/data><\/span><\/strong> apr\u00e8s r\u00e9duction fiscale (r\u00e9duction de <span class='price'><data class='price_amount'>%d<\/data> <data class='price_currency'>\u20ac<\/data><\/span>[notice])"; Step1.is_french_isf = 0; Step1.is_tipping_campaign = 1; Step1.amount_equivalences = {"once":[],"regular":[]} Step1.decimal_sep = ","; Step1.min_once_amount = 3; Step1.max_once_amount = 25000; Step1.min_regular_amount = 3; Step1.max_regular_amount = 25000; 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 = "1"; 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-04-06.04:27:38_67f1e69a9145e2.19936132&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 = "Le F.R.S.-FNRS"; try{ var ira_context_infos = {"form_id":"form_cached_2025-04-06.04:27:38_67f1e69a9145e2.19936132","campaign":"1","version":"b","lang":"fr_FR","amount":{"amount":"0","amount_donation":"0","frequency":"once","free_amount":false,"currency":"EUR"},"reserved":"[]","affectation":null,"_cpn_name_":"fnrs"}; console.warn(ira_context_infos); }catch(err){} try{ $.cookie('dnt_coords',null,{'path':'/','domain':'.dons.frs-fnrs.be'}); }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":"EUR"}; 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://dons.frs-fnrs.be/~share?cid=1&lang=fr_FR" /> <style type="text/css"> .regularblock { display:none; } body { background: url(/cdn.iraiser.eu/tmY0m1hCuHiP+yOx77BvZA==/default/origin/230926FNRSSoirefondfdppt.jpg) repeat-x; } #header { } </style> <link rel="icon" href="/cdn.iraiser.eu/tmY0m1hCuHiP+yOx77BvZA==/default/origin/FRS-FNRSLogoNB143x91.png"> <script type='text/javascript'> optionsGlobal = ""; optionsCampaign = {"theme":"arya","active_theme":"1","version":"4","font":"Poppins","font_title":"Poppins","fontsize":"15","wedge":"5","--body-background-color":"#FFFFFF","donation_grid":"1","purchase_grid":"2","layout":"1","widgets_footer":"1","security_info_new":"1","hide_mobile_reassurance_1":"1","hide_mobile_reassurance_2":"1","hide_mobile_reassurance_3":"1","widgets_header":"1","live_counter_map_sum":"","live_counter_map_count":"","widgets_progress_bar_currency":"","widgets_color_progress_bar_goal":"#2F2F2F","widgets_progress_bar_goal":"","widgets_progress_bar_add_amount":"","widgets_progress_bar_add_donors":"","widgets_progress_bar_promt_amount":"","widgets_progress_bar_text":"","widgets_progress_bar_text_fr_FR":"","widgets_progress_bar_text_en_EN":"","widgets_last_donors":"true","widgets_color_last_donors":"#7D0063","widgets_last_donors_filter":"10","widgets_last_donors_text":"Merci \u00e0 $n pour son don de $a \u20ac","widgets_last_donors_text_fr_FR":"Merci \u00e0 $n pour son don de $a \u20ac","widgets_last_donors_text_en_EN":"Thanks to $n for his donation of $a \u20ac.","widgets_color_cookies_banner":"#2F2F2F","widgets_cookies_banner_text":"","widgets_cookies_banner_text_fr_FR":"","widgets_cookies_banner_text_en_EN":"","widgets_cookies_banner_button":"","widgets_cookies_banner_button_fr_FR":"","widgets_cookies_banner_button_en_EN":"","widgets_most_popular_once":"false","widgets_most_popular_once_amount":"","widgets_most_popular_once_title":"","widgets_most_popular_once_title_fr_FR":"","widgets_most_popular_once_title_en_EN":"","widgets_most_popular_once_text":"","widgets_most_popular_once_text_fr_FR":"","widgets_most_popular_once_text_en_EN":"","widgets_most_popular_regular":"false","widgets_most_popular_regular_amount":"","widgets_most_popular_regular_title":"","widgets_most_popular_regular_title_fr_FR":"","widgets_most_popular_regular_title_en_EN":"","widgets_most_popular_regular_text":"","widgets_most_popular_regular_text_fr_FR":"","widgets_most_popular_regular_text_en_EN":"","--main-action-color":"#7D0063","--main-action-color-lighter":"#9e2e80","--description-color":"#7D0063","--information-color":"#7D0063","--column-background-color":"#ffffff","--banner-color":"#7D0063","--banner-color-darker":"#390027"}; campaign_id = "1"; context_lang = "fr_FR"; campaign_stats = {"count":"569","sum":"8274162","min":"500","max":"600000","avg":"145.42","progress":"100","last_donators":[{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"Jo\u00eblle","total":"20000","currency":"EUR","date":"2025-04-01 09:37:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"micheline","total":"6000","currency":"EUR","date":"2025-03-27 11:25:00","campaign":"1","city":"DILBEEK","message":"","avatar":""},{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"LAURENT","total":"4000","currency":"EUR","date":"2025-02-24 10:20:00","campaign":"1","city":"FORVILLE","message":"","avatar":""},{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"Johanne","total":"6000","currency":"EUR","date":"2025-02-03 15:26:00","campaign":"1","city":"KOEKELBERG","message":"","avatar":""},{"firstname":"Alexandre","total":"16000","currency":"EUR","date":"2025-01-26 17:00:00","campaign":"1","city":"LI\u00e8GE","message":"","avatar":""},{"firstname":"Renaud","total":"2000","currency":"EUR","date":"2025-01-23 08:14:00","campaign":"1","city":"MAIZERET","message":"","avatar":""},{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"LICATA P&F srl","total":"4000","currency":"EUR","date":"2025-01-01 11:24:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"C\u00e9cile","total":"5000","currency":"EUR","date":"2024-12-31 21:35:00","campaign":"1","city":"DOUR","message":"","avatar":""},{"firstname":"xavier","total":"5000","currency":"EUR","date":"2024-12-31 15:31:00","campaign":"1","city":"WAREMME","message":"","avatar":""},{"firstname":"Frederic","total":"5000","currency":"EUR","date":"2024-12-31 13:35:00","campaign":"1","city":"TINLOT","message":"","avatar":""},{"firstname":"Xavier","total":"50000","currency":"EUR","date":"2024-12-30 18:07:00","campaign":"1","city":"TERVUREN","message":"","avatar":""},{"firstname":"Etienne","total":"5000","currency":"EUR","date":"2024-12-30 16:07:00","campaign":"1","city":"MARCINELLE","message":"","avatar":""},{"firstname":"Paul","total":"30000","currency":"EUR","date":"2024-12-30 11:09:00","campaign":"1","city":"CHAPELLE-LEZ-HERLAIMONT","message":"","avatar":""},{"firstname":"Maxime","total":"30000","currency":"EUR","date":"2024-12-28 16:14:00","campaign":"1","city":"LIEGE","message":"","avatar":""}],"date_cache":"2025-04-06"}; campaign_stats_last_donators = [{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-04-05 05:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"Jo\u00eblle","total":"20000","currency":"EUR","date":"2025-04-01 09:37:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"micheline","total":"6000","currency":"EUR","date":"2025-03-27 11:25:00","campaign":"1","city":"DILBEEK","message":"","avatar":""},{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-03-05 04:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"LAURENT","total":"4000","currency":"EUR","date":"2025-02-24 10:20:00","campaign":"1","city":"FORVILLE","message":"","avatar":""},{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-02-05 04:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"Johanne","total":"6000","currency":"EUR","date":"2025-02-03 15:26:00","campaign":"1","city":"KOEKELBERG","message":"","avatar":""},{"firstname":"Alexandre","total":"16000","currency":"EUR","date":"2025-01-26 17:00:00","campaign":"1","city":"LI\u00e8GE","message":"","avatar":""},{"firstname":"Renaud","total":"2000","currency":"EUR","date":"2025-01-23 08:14:00","campaign":"1","city":"MAIZERET","message":"","avatar":""},{"firstname":"Julien","total":"5000","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"VILLERS-LE)BOUILLET","message":"","avatar":""},{"firstname":"Catherine","total":"700","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"TAVIGNY","message":"","avatar":""},{"firstname":"Henri","total":"500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"LIEGE","message":"","avatar":""},{"firstname":"Carl","total":"500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"VILLERS LE BOUILLET","message":"","avatar":""},{"firstname":"Anne","total":"500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"FL\u00e9NU","message":"","avatar":""},{"firstname":"Giuseppe","total":"2000","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"CH\u00e2TELET","message":"","avatar":""},{"firstname":"Pierre","total":"1500","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"FL\u00e9RON (BELGIQUE)","message":"","avatar":""},{"firstname":"St\u00e9phane","total":"2000","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"Roland","total":"600","currency":"EUR","date":"2025-01-05 04:10:00","campaign":"1","city":"SCHAERBEEK","message":"","avatar":""},{"firstname":"LICATA P&F srl","total":"4000","currency":"EUR","date":"2025-01-01 11:24:00","campaign":"1","city":"BRUXELLES","message":"","avatar":""},{"firstname":"C\u00e9cile","total":"5000","currency":"EUR","date":"2024-12-31 21:35:00","campaign":"1","city":"DOUR","message":"","avatar":""},{"firstname":"xavier","total":"5000","currency":"EUR","date":"2024-12-31 15:31:00","campaign":"1","city":"WAREMME","message":"","avatar":""},{"firstname":"Frederic","total":"5000","currency":"EUR","date":"2024-12-31 13:35:00","campaign":"1","city":"TINLOT","message":"","avatar":""},{"firstname":"Xavier","total":"50000","currency":"EUR","date":"2024-12-30 18:07:00","campaign":"1","city":"TERVUREN","message":"","avatar":""},{"firstname":"Etienne","total":"5000","currency":"EUR","date":"2024-12-30 16:07:00","campaign":"1","city":"MARCINELLE","message":"","avatar":""},{"firstname":"Paul","total":"30000","currency":"EUR","date":"2024-12-30 11:09:00","campaign":"1","city":"CHAPELLE-LEZ-HERLAIMONT","message":"","avatar":""},{"firstname":"Maxime","total":"30000","currency":"EUR","date":"2024-12-28 16:14:00","campaign":"1","city":"LIEGE","message":"","avatar":""}]; campaign_currency = "EUR"; iraiser_counter = ''; client_livecounter = "fnrs"; bymonth = 'par mois'; i18n = {"accessibilityHeaderButton":"Accessibilit\u00e9","accessibilityModalTitle":"Options d'accessibilit\u00e9 de la page :","accessibilityModalOptionContrast":"Activer les couleurs \u00e0 contraste \u00e9lev\u00e9","accessibilityModalOptionSpacing":"Activer l'espacement suppl\u00e9mentaire","accessibilityModalOptionLargeTexts":"Activer les textes extra larges","accessibilityModalMessage":"Si vous rencontrez des probl\u00e8mes d'accessibilit\u00e9 sur cette page malgr\u00e9 ces options, veuillez <a href=\"\/contactez-nous\">nous contacter<\/a> par courriel afin que nous puissions travailler \u00e0 l'am\u00e9lioration de votre exp\u00e9rience. Nous vous remercions de votre attention."}; checkoutPage = ''; </script> <script id="javascript_arya" type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/arya/dist/v4/arya.js?v=25010" ></script> <link type="text/css" href="https://dons.frs-fnrs.be/themes/default/arya/dist/v4/arya.css?v=25010" rel="stylesheet" /><script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/arya/dist/v4/formTest.js?v=25010" ></script> <link rel="stylesheet" href="https://use.typekit.net/eqq5onc.css"><link type="text/css" href="https://dons.frs-fnrs.be/themes/default/arya/dist/v4/form_visible_label.css?v=25010" rel="stylesheet" /><script type="text/javascript" src="https://dons.frs-fnrs.be/themes/default/arya/dist/v4/accessibility.js?v=25010" ></script> <!-- embed --> <script class='keep'> var Embed_form_vars = { current_method: "steps", private_window: "", private_embed_form_bus: "", private_embed_form_version: "", steps_text_next: ("" || "Passer \u00e0 l'\u00e9tape suivante" || 'next'), logo_name: "\/cdn.iraiser.eu\/tmY0m1hCuHiP+yOx77BvZA==\/default\/origin\/LogoFNRSauberginevertpetit.png", banner_image: "", video_url: "", header_info: "<p>Aujourd\u2019hui plus que jamais, la recherche scientifique est une alliée indispensable pour répondre aux multiples défis auxquels nous sommes confrontés. Réchauffement climatique, perte de la biodiversité, maladies, addictions\u2026 La recherche permet de repousser les frontières du savoir et de mener à des découvertes déterminantes. C\u2019est également grâce à elle que nous pouvons, par exemple, explorer l\u2019univers ou développer des matériaux innovants.<br \/>\r\n<br \/>\r\nVous souhaitez aider nos chercheuses et chercheurs à continuer à faire progresser nos sociétés ? Faites un don !<\/p>\r\n" }; </script> <script type="text/javascript" src="/libs.iraiser.eu/libs/payment/frame/embed_core.js" ></script> <!-- widget-impact SRV-648 --> <!-- /widget-impact SRV-648 --> </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="http://www.frs-fnrs.be" title="Le F.R.S.-FNRS"><img src="/cdn.iraiser.eu/tmY0m1hCuHiP+yOx77BvZA==/default/origin/LogoFNRSauberginevertpetit.png" alt="Le F.R.S.-FNRS"/></a></h1> </div> <!-- End Logo --> <div id="lang" class="unit size1of4 lastUnit"> <p>Langues : <a href="/fnrs/~mon-don?_cv=1" title="Français" class="current">Français</a> <span>|</span> <a href="/fnrs/~my-donation?_cv=1" title="English">English</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"> <p>Aujourd’hui plus que jamais, la recherche scientifique est une alliée indispensable pour répondre aux multiples défis auxquels nous sommes confrontés. Réchauffement climatique, perte de la biodiversité, maladies, addictions… La recherche permet de repousser les frontières du savoir et de mener à des découvertes déterminantes. C’est également grâce à elle que nous pouvons, par exemple, explorer l’univers ou développer des matériaux innovants.<br /> <br /> Vous souhaitez aider nos chercheuses et chercheurs à continuer à faire progresser nos sociétés ? Faites un don !</p> </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="1" /> <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>1. Mon don</h2> </div> <div class="step-content"> <div> </div> <div id="once" class="bloc"> <div class="bloc-content"> <h3>Je donne une fois</h3> <div id="bloc-amount-once"> <fieldset class="amount"> <ul class="radio-inline line" id="amount-list-once"> <li><label><span id="value_of_amount-once-4000"><data class='price_amount'>40</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="4000" id="amount-once-4000" /></label></li> <li><label><span id="value_of_amount-once-6000"><data class='price_amount'>60</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="6000" id="amount-once-6000" /></label></li> <li><label><span id="value_of_amount-once-9000"><data class='price_amount'>90</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="9000" id="amount-once-9000" /></label></li> <li><label><span id="value_of_amount-once-17500"><data class='price_amount'>175</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="17500" id="amount-once-17500" /></label></li> <li><label><span id="value_of_amount-once-25000"><data class='price_amount'>250</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="25000" id="amount-once-25000" /></label></li> <li><label><span id="value_of_amount-once-50000"><data class='price_amount'>500</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="50000" id="amount-once-50000" /></label></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">€</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 id="or"> <p>ou</p> </div> <div id="regular" class="bloc"> <div class="bloc-content"> <h3>Je donne tous les mois</h3> <div id="bloc-amount-regular"> <fieldset class="amount"> <ul class="radio-inline line" id="amount-list-regular"> <li><label><span id="value_of_amount-regular-600"><data class='price_amount'>6</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="600" id="amount-regular-600" /></label></li> <li><label><span id="value_of_amount-regular-1200"><data class='price_amount'>12</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="1200" id="amount-regular-1200" /></label></li> <li><label><span id="value_of_amount-regular-2500"><data class='price_amount'>25</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="2500" id="amount-regular-2500" /></label></li> <li><label><span id="value_of_amount-regular-5000"><data class='price_amount'>50</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="5000" id="amount-regular-5000" /></label></li> <li><label><span id="value_of_amount-regular-7500"><data class='price_amount'>75</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="7500" id="amount-regular-7500" /></label></li> <li><label><span id="value_of_amount-regular-10000"><data class='price_amount'>100</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="10000" id="amount-regular-10000" /></label></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">€</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> </div> </div> <!-- End Step-content --> <div class="step-info"> <h4>Contacts</h4> <div class="step-info-body"> <p>Legs et successions (aide à la rédaction de votre testament) :</p> <div>Nadine DELVAUX - 02/504.92.51<br /> <a href="mailto:nadine.delvaux@frs-fnrs.be">nadine.delvaux@frs-fnrs.be</a> </div> <p>Dons en ligne :</p> <p>Denys Ledent - 02/504.92.73 <em>(IT FNRS & Télévie)</em><br /> <a href="mailto:denys.ledent@frs-fnrs.be">denys.ledent@frs-fnrs.be</a> <br /> Ismaël Nijst - 02/504.92.08 <em>(IT FNRS & Télévie)</em><br /> <a href="mailto:ismael.nijst@frs-fnrs.be">ismael.nijst@frs-fnrs.be</a> </p> <p>Fundraising :</p> <p>Caroline PAQUAY – 02/504.93.40<br /> <a href="mailto:caroline.paquay@frs-fnrs.be">caroline.paquay@frs-fnrs.be</a></p> <p>Attestation fiscale :</p> <p>Micheline Dellyannis - 02/504.92.68<br /> <a href="mailto:micheline.dellyiannis@frs-fnrs.be">micheline.dellyiannis@frs-fnrs.be</a> <br /> <strong><a href="https://www.frs-fnrs.be/le-fnrs/aider-le-fnrs/attestation-fiscale-fnrs">Formulaire de demande d'attestation</a></strong></p> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> </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>2. Mes coordonnées</h2> </div> <div class="step-content"> <fieldset id="fieldset-step2"> <p id="c-email"> <label for="email"> Email <span class="required">*</span> <span class="help"> jean.dupont@gmail.com </span> </label> <input type="text" name="email" id="email" /> </p> <p name="reserved_registre" id="reserved_registre_id_67f1e69a9d0a1" data-type="short" class="custom-field-p " > <label for="reserved_registre"> <span class="reserved_title">Numéro de registre national</span> <span id="nameHelp_reserved_registre" class="help"></span> </label> <input id="reserved_registre" type="text" aria-describedby="nameHelp_reserved_registre" name="reserved_registre" data-scope="step2" data-required="" value=""/> </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"> Dupont SPRL </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"> Jean </span> </label> <input type="text" name="firstname" id="firstname" autocomplete="given-name" /> </p> <p id="c-lname"> <label for="lastname"> Nom <span class="required">*</span> <span class="help"> Dupont </span> </label> <input type="text" name="lastname" id="lastname" autocomplete="family-name" /> </p> </fieldset> <fieldset id="fielset-address"> <p id="c-addr1"> <label for="address1"> Adresse <span class="required">*</span> <span class="help"> Place de la Liberté 2 </span> </label> <input type="text" name="address1" id="address1" /> </p> <p id="c-addr2"> <label for="address2"> Complément adresse <span class="help"> </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"> 4000 </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"> Liège </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"> BELGIQUE </span> </label> <select name="country" id="country"> <option value="BE">BELGIQUE</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 (ces informations sont indispensables pour bénéficier de votre réduction fiscale) </span> </p> </fieldset> </div> <!-- End Bloc --> <div class="step-info"> <h4>Respect de votre vie privée</h4> <div class="step-info-body"> <p><em>Le responsable du traitement des informations vous concernant est le FRS-FNRS ("FNRS"). Le FNRS est un fonds d'utilité publique dont le siège social est établi à 1000 Bruxelles, rue d'Egmont 5.</em><br /> <em>Le FNRS est inscrit auprès de la Banque Carrefour des Entreprises sous le numéro BE0885 324 344.</em><br /> <br /> <em>Le traitement de vos données à caractère personnel, telles que sollicitées ci-dessus, est indispensables pour vous envoyer votre reçu fiscal et nous est utile pour vous adresser, par voie électronique ou postale, des informations quant à nos campagnes d’appel aux dons notamment.</em><br /> <em>Conformément au Règlement européen sur la protection des données personnelles et sous réserve des limitations applicables, vous disposez de différents droits tels que : droit d'accès, de modification, de rectification, d’opposition, de limitation, de portabilité et de suppression des données vous concernant. Pour exercer l’un de ces droits, veuillez, s’il-vous-plaît, vous adresser à :</em><br /> <br /> Le F.R.S.-FNRS<br /> Rue d’Egmont, 5 <br /> 1000 Bruxelles - BELGIQUE</p> <p>Tél: +32 2 504 92 11<br /> Email : <a href="mailto:privacy@frs-fnrs.be" target="_blank">privacy@frs-fnrs.be</a> <!--- <a href="mailto:xavier.hellebaut@frs-fnrs.be">xavier.hellebaut@frs-fnrs.be</a>---><br /> <br /> Pour le surplus, nous vous renvoyons à notre Charte vie privée, disponible à l’adresse suivante : <a href="https://www.frs-fnrs.be/fr/charte-vie-privee" target="_blank">https://www.frs-fnrs.be/fr/charte-vie-privee</a> »</p> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </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>3. 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> <style> @import url('https://use.typekit.net/vtv1ovq.css'); #amount_tip_reassurance { background-color: #fff; position: fixed; top: 0; left: 0; height: auto; width: 100%; z-index: 900; box-shadow: 0 10px 40px 0 rgba(0,0,0,0.5); display: flex; flex-direction: column; justify-content: center; align-items: center; font-family: 'proxima-nova', sans-serif; padding-bottom: 30px !important; font-size: 17px; line-height: 21px; } #amount_tip_reassurance .title, #amount_tip_reassurance .text, #amount_tip_reassurance .note { width: 650px; max-width: calc( 100% - 40px ); margin: 0 auto; font-family: inherit; font-size: inherit; line-height: inherit; text-align: justify; margin-top: 30px; } #amount_tip_reassurance .title { font-weight: bold; text-align: left; position: relative; padding-right:35px; } #amount_tip_reassurance .title::after { content: ''; transform: rotate(45deg); background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/></svg>"); position: absolute; top: 0; right: 0; height: 20px; width: 20px; background-size: 20px; background-position: center center; background-repeat: no-repeat; cursor: pointer; } #amount_tip_reassurance .text span { display: block; } #amount_tip_reassurance .text span + span { margin-top: 10px; } #amount_tip_reassurance .note { font-weight: bold; padding-left: 72px; background-image: url("data:image/svg+xml,%3Csvg width='46px' height='50px' viewBox='0 0 46 50' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Eicon_bonne_nouvelle%3C/title%3E%3Cdefs%3E%3Cpolygon id='path-1' points='0 -2.81314491e-15 42.4618783 -2.81314491e-15 42.4618783 25.13505 0 25.13505'%3E%3C/polygon%3E%3Cpolygon id='path-3' points='0 0 43.4554269 0 43.4554269 48.3329011 0 48.3329011'%3E%3C/polygon%3E%3C/defs%3E%3Cg id='Page-de-don---PAYMENT---Tipping-&-Cover-Fees' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='V3---Cover-Fees---3-Steps-Help-Text-V2---Tablet-horizontal' transform='translate(-188.000000, -176.000000)'%3E%3Cg id='icon_bonne_nouvelle' transform='translate(188.000000, 176.000000)'%3E%3Cg id='Group-3' transform='translate(2.723954, 24.864950)'%3E%3Cmask id='mask-2' fill='white'%3E%3Cuse xlink:href='%23path-1'%3E%3C/use%3E%3C/mask%3E%3Cg id='Clip-2'%3E%3C/g%3E%3Cpath d='M40.8068549,0.279351056 L30.6268917,10.2205775 C30.0773618,10.7572402 29.2128815,10.757933 28.6624607,10.2221611 L20.8845136,2.91228445 C20.0239924,2.0746274 17.9195065,2.04879394 17.0835321,2.91228445 L13.2041595,7.41789555 C12.5329847,8.11124161 11.3454378,10.0069814 10.6640681,9.32402808 L1.65482551,0.292020335 C1.07134585,-0.292944003 0.0582984763,0.069219197 0.00267242591,0.903214038 C0.000890808636,0.930037276 0,0.957058471 0,0.984277624 L0,23.9473447 C0,24.6006044 0.522310797,25.1350895 1.16062467,25.1350895 L41.3013526,25.1350895 C41.9396665,25.1350895 42.4618783,24.6006044 42.4618783,23.9473447 L42.4618783,0.984277624 C42.4618783,0.957058471 42.4609875,0.930037276 42.4592059,0.903214038 C42.4037778,0.0706048993 41.3968671,-0.296804174 40.8068549,0.279351056' id='Fill-1' fill='%2377A9BB' mask='url(%23mask-2)'%3E%3C/path%3E%3C/g%3E%3Cpath d='M15.6311973,10.2204454 C15.6311973,11.0898747 14.9264687,11.7942074 14.0574354,11.7942074 C13.1884021,11.7942074 12.4836735,11.0898747 12.4836735,10.2204454 C12.4836735,9.35141213 13.1884021,8.64668352 14.0574354,8.64668352 C14.9264687,8.64668352 15.6311973,9.35141213 15.6311973,10.2204454' id='Fill-4' fill='%23FFC700'%3E%3C/path%3E%3Cpath d='M30.873131,10.2204454 C30.873131,11.0898747 30.1684024,11.7942074 29.2993691,11.7942074 C28.4303358,11.7942074 27.7256072,11.0898747 27.7256072,10.2204454 C27.7256072,9.35141213 28.4303358,8.64668352 29.2993691,8.64668352 C30.1684024,8.64668352 30.873131,9.35141213 30.873131,10.2204454' id='Fill-6' fill='%23FFC700'%3E%3C/path%3E%3Cpath d='M15.8525138,16.1136395 C15.8525138,18.8850441 18.5685893,21.1576949 21.7835177,21.1576949 C25.0536762,21.1576949 27.7145216,18.8850441 27.7145216,16.1136395 L27.7145216,15.8921251 C27.5482373,15.2270869 26.8275731,14.672707 25.9963497,14.672707 L17.6261138,14.6723111 C16.7391653,14.6723111 16.018897,15.226691 15.9079419,15.8917291 L15.8525138,15.8917291 L15.8525138,16.1136395 Z' id='Fill-8' fill='%23FFC700'%3E%3C/path%3E%3Cg id='Group-12'%3E%3Cmask id='mask-4' fill='white'%3E%3Cuse xlink:href='%23path-3'%3E%3C/use%3E%3C/mask%3E%3Cg id='Clip-11'%3E%3C/g%3E%3Cpath d='M41.9034403,45.1184677 C41.7924851,44.7859981 41.5709707,44.5087586 41.2937313,44.2315192 L31.3166746,34.2544625 L38.3005153,27.2706217 C38.3557454,27.2152926 38.4114704,27.1043374 38.4667996,27.0491073 L41.9031434,23.6126645 L41.9034403,45.1184677 Z M40.4067828,46.8366396 C40.4067828,46.8366396 40.3514537,46.8366396 40.4067828,46.8366396 L3.10367627,46.8366396 L3.04834715,46.8366396 C2.93739199,46.6703553 2.88216185,46.4484449 2.88216185,46.2269305 C2.88216185,45.894362 2.99311702,45.6172215 3.21463143,45.3399821 L20.840765,27.7138485 C21.0622794,27.4923341 21.3952439,27.38128 21.7277135,27.38128 C22.060183,27.38128 22.3374225,27.4923341 22.6146619,27.7138485 L40.2407955,45.3399821 C40.4623099,45.5614965 40.5732651,45.894461 40.5732651,46.2269305 C40.5732651,46.3932148 40.5180349,46.6151251 40.4070798,46.8366396 L40.4067828,46.8366396 Z M1.55168967,45.1184677 L1.55168967,23.6677957 L4.98813245,27.1042385 C5.04346156,27.1595676 5.09908761,27.2705227 5.15441673,27.3257529 L12.1382575,34.3095936 L2.16120073,44.2866503 C1.8843572,44.4533305 1.66284279,44.7858001 1.55188762,45.1184677 L1.55168967,45.1184677 Z M2.32768297,20.3975382 L4.43404948,18.2911717 L4.43404948,24.3327348 L2.32768297,22.2263683 C2.10616855,21.9491289 1.93948836,21.6718894 1.93948836,21.2841897 C1.93948836,20.896391 2.05044352,20.6191516 2.32768297,20.3976372 L2.32768297,20.3975382 Z M5.98603608,4.7113879 L37.4691929,4.7113879 L37.4691929,25.5523508 C37.4691929,25.7738653 37.3582377,26.0511047 37.1919534,26.217389 L30.2634418,33.1459006 L23.6677957,26.6055836 C23.1690418,26.1068297 22.4483776,25.7742612 21.7276145,25.7742612 C21.0068513,25.7742612 20.286583,26.0515006 19.7874333,26.6055836 L13.1917871,33.1459006 L6.26327552,26.217389 C6.09699124,26.0511047 5.98603608,25.8291944 5.98603608,25.5523508 L5.98603608,4.7113879 Z M20.7853369,1.8843572 C21.0625763,1.60711776 21.3397168,1.49616259 21.7275155,1.49616259 C22.1157101,1.49616259 22.3925536,1.60711776 22.6697931,1.8843572 L23.8892111,3.10377525 L19.5105897,3.10377525 L20.7853369,1.8843572 Z M39.0211795,18.2910727 L41.127546,20.3974392 C41.3490604,20.6189536 41.5157406,20.9519181 41.5157406,21.3397168 C41.5157406,21.7278124 41.4047854,22.004656 41.127546,22.2818954 L39.0211795,24.3882619 L39.0211795,18.2910727 Z M42.2917339,19.3443055 C42.2917339,19.2889763 42.2364048,19.2889763 42.2364048,19.2333503 L39.0215754,16.0185209 L39.0211795,3.15920334 L26.1064338,3.15920334 L23.7784539,0.831223437 C23.224074,0.27674455 22.5037068,-5.62628983e-15 21.7277135,-5.62628983e-15 C20.9517202,-5.62628983e-15 20.231056,0.277140465 19.676973,0.831223437 L17.3489931,3.15920334 L4.43424743,3.15920334 L4.43424743,16.073949 L1.21941804,19.2884814 C1.16418791,19.3438106 1.16418791,19.3438106 1.16418791,19.3994366 C0.443523722,19.9539155 0,20.8404681 0,21.8383717 L0,45.2290269 C0,46.9471988 1.38570232,48.3329011 3.10387423,48.3329011 L40.3515527,48.3329011 C42.0697246,48.3329011 43.4554269,46.9471988 43.4554269,45.2290269 L43.4554269,21.7829436 C43.4554269,20.78504 43.0119032,19.9538165 42.2916349,19.3440085 L42.2917339,19.3443055 Z' id='Fill-10' fill='%23000000' mask='url(%23mask-4)'%3E%3C/path%3E%3C/g%3E%3Cpath d='M14.6618688,16.5028931 C14.6713708,18.2136416 15.4175715,19.8338246 16.7656619,21.0680895 C18.124442,22.3123512 19.9064552,22.997581 21.783488,22.997581 C25.7103704,22.997581 28.9052061,20.069196 28.9052061,16.4697353 L28.9052061,16.2084314 C28.7083374,15.4405544 27.9143299,14.8442075 27.0801371,14.8442075 L16.5566188,14.8437126 C15.6498746,14.8437126 14.8464642,15.4477798 14.7274917,16.2188242 L14.6837431,16.5028931 L14.6618688,16.5028931 Z M21.783488,23.667766 C19.7384883,23.667766 17.7957336,22.9200806 16.3130321,21.5623893 C14.8159787,20.1916327 13.9915848,18.3829943 13.9915848,16.4697353 L13.9918818,15.8327081 L14.1301551,15.8327081 C14.4247158,14.8692491 15.4163838,14.1735275 16.5566188,14.1735275 L27.0801371,14.1740224 C28.2451169,14.1740224 29.3141862,14.9990102 29.56678,16.0928242 L29.5753911,16.1301392 L29.5753911,16.4697353 C29.5753911,20.4386837 26.079957,23.667766 21.783488,23.667766 L21.783488,23.667766 Z' id='Fill-13' fill='%23000000'%3E%3C/path%3E%3Cpath d='M14.1875726,8.94363953 C13.3743633,8.94363953 12.7127894,9.60521341 12.7127894,10.4184227 C12.7127894,11.231632 13.3743633,11.8932059 14.1875726,11.8932059 C15.0007819,11.8932059 15.6623558,11.231632 15.6623558,10.4184227 C15.6623558,9.60521341 15.0007819,8.94363953 14.1875726,8.94363953 M14.1875726,12.4870783 C13.0469417,12.4870783 12.118917,11.5590537 12.118917,10.4184227 C12.118917,9.27769277 13.0469417,8.3497671 14.1875726,8.3497671 C15.3282036,8.3497671 16.2562282,9.27769277 16.2562282,10.4184227 C16.2562282,11.5590537 15.3282036,12.4870783 14.1875726,12.4870783' id='Fill-15' fill='%23000000'%3E%3C/path%3E%3Cpath d='M29.3671399,8.94363953 C28.5539305,8.94363953 27.8924556,9.60521341 27.8924556,10.4184227 C27.8924556,11.231632 28.5539305,11.8932059 29.3671399,11.8932059 C30.1803492,11.8932059 30.841923,11.231632 30.841923,10.4184227 C30.841923,9.60521341 30.1803492,8.94363953 29.3671399,8.94363953 M29.3671399,12.4870783 C28.2265089,12.4870783 27.2985832,11.5590537 27.2985832,10.4184227 C27.2985832,9.27769277 28.2265089,8.3497671 29.3671399,8.3497671 C30.5077708,8.3497671 31.4357955,9.27769277 31.4357955,10.4184227 C31.4357955,11.5590537 30.5077708,12.4870783 29.3671399,12.4870783' id='Fill-17' fill='%23000000'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: left center; background-size: 46px 50px; min-height: 50px; display: flex; justify-content: center; align-items: center; } @media only screen and (max-width: 959px) and (min-width: 0px){ #amount_tip_reassurance { font-size: 16px; line-height: 20px; } #amount_tip_reassurance .title, #amount_tip_reassurance .text, #amount_tip_reassurance .note { margin-top: 20px; } } @media only screen and (max-width: 568px) and (min-width: 0px) { #amount_tip_reassurance { font-size: 15px; line-height: 17px; padding-bottom: 25px !important; } #amount_tip_reassurance .title, #amount_tip_reassurance .text, #amount_tip_reassurance .note { margin-top: 15px; } #amount_tip_reassurance .note { background-size: 30px; padding-left: 45px; min-height: 40px; } } </style> <div id="donor-cover-container"> <div id="donor-cover-block" class="action_block tip-once tip-regular" data-icon="heart" data-eval-visible="!!donation.amount_donation" > <div id="amount_tip_reassurance" style="display: none;"> <span class="title">Bonjour 👋</span> <div class="text"> <span>Nous sommes <i>iRaiser</i>, nous fournissons des solutions de collecte de fonds en ligne - comme ce formulaire de don - pour les organisations à but non lucratif comme Le F.R.S.-FNRS.<br><br>Grâce à un modèle économique basé sur la <b>contribution volontaire des donatrices et des donateurs</b>, nous soutenons les organisations à but non lucratif en leur fournissant nos services sans répercuter les frais liés à l'utilisation de la plateforme (<i>hébergement, sécurité, base de données, moyens de paiement, assistance...</i>) afin qu'elles puissent se concentrer sur leur mission plutôt que sur la technologie.<br><br>En contribuant, vous confirmez comprendre qu'<i>iRaiser</i> est une entreprise fournissant ses services aux organisations à but non lucratif et vouloir lui apporter un soutien financier.<br><br>Merci ❤️<br><br><i>PS : seul votre don à Le F.R.S.-FNRS (sans la contribution volontaire à iRaiser) peut faire l'objet d'une réduction fiscale. L’information relative à la réduction fiscale présente sous le montant de votre don tient déjà compte de cette précision.</i></span> </div> </div> <p id="amount_tip_block"> <input type="hidden" name="private_tip_step" value="52e2c5d1c48195ec_._6NqwTTSPGxB-MVz6yU8BHw" /> <input type="hidden" name="private_tip_help" value="d2fec95ef5edf98f_._bVxuRo9VHsHB5Xy0z4TLMA" /> <input type="hidden" name="private_tip_reassurance" value="a314cbc431c6a1e2_._b2qjWU2LNJcIwD5FUrZ8xw" /> <input type="hidden" name="private_tip_amounts" value="9d227c4bf0813c7b_._dbe_crXzfLQ6gzkNVIXctQ" /> <input type="hidden" name="private_tip_ux" value="3d5739866474bf3a_._b0QoJKL9xmVhvdmFPEihdQ" /> <span class="help">Cette plateforme de don est fournie par notre partenaire <i>iRaiser</i>.<br>En ajoutant une contribution volontaire à iRaiser en plus de votre don, vous lui permettez de couvrir une partie des frais liés à la plateforme et ainsi de soutenir davantage d'organisations comme la nôtre. <a id="amount_tip_help_icon" class="icon"> <svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"></path> </svg> </a> </span> <select name="amount_tip" id="amount_tip" required="required" class="noplugin"> <option data-val="var v_round=50;if(amount<500 && 50>50){v_round=50;};if(amount<200 && 50>25){v_round=25;};Math.max(v_round,Math.round(amount*5/(100*v_round))*v_round)" data-value="self" data-tag-html="{value_with_currency} {#var _m=Math.floor(self.val()/donation.amount_donation*100);if(donation.amount_donation<2000)_m='';if(_m && ((_m-5)/5*100)<34)_m=5;if(_m) _m='('+_m+'%)';_m}" data-base="5" >5%</option> <option data-val="var v_round=50;if(amount<500 && 50>50){v_round=50;};if(amount<200 && 50>25){v_round=25;};Math.max(v_round,Math.round(amount*7/(100*v_round))*v_round)" data-value="self" data-tag-html="{value_with_currency} {#var _m=Math.floor(self.val()/donation.amount_donation*100);if(donation.amount_donation<2000)_m='';if(_m && ((_m-7)/7*100)<34)_m=7;if(_m) _m='('+_m+'%)';_m}" data-base="7" data-default="1" selected >7%</option> <option data-val="var v_round=50;if(amount<500 && 50>50){v_round=50;};if(amount<200 && 50>25){v_round=25;};Math.max(v_round,Math.round(amount*10/(100*v_round))*v_round)" data-value="self" data-tag-html="{value_with_currency} {#var _m=Math.floor(self.val()/donation.amount_donation*100);if(donation.amount_donation<2000)_m='';if(_m && ((_m-10)/10*100)<34)_m=10;if(_m) _m='('+_m+'%)';_m}" data-base="10" >10%</option> <option value="0" data-base="0" > Je ne souhaite pas contribuer </option> </select> <span id="summary-oneoff" class="summary" data-tag-html="Montant total de votre paiement : {donation_amount_with_currency}" style="display: none;"></span> <span id="summary-regular" class="summary" data-tag-html="Montant total de chaque paiement : {donation_amount_with_currency}" style="display: none;"></span> </p> </div> </div> <script> $('#amount_tip_reassurance').appendTo('body'); $('#amount_tip_reassurance,input,select').click(function(){ $('#amount_tip_reassurance').slideUp(); }); $(window).scroll(function(){ $('#amount_tip_reassurance').slideUp(); }); $('#amount_tip_help_icon').click(function(){ $('#amount_tip_reassurance').slideToggle(); }); $(document).ready(function() { function changeSummaryMessage(frequency) { if (frequency === 'once') { $('#summary-oneoff').show(); $('#summary-regular').hide(); } else { $('#summary-oneoff').hide(); $('#summary-regular').show(); } } const $donorCoverWidget = $('#donor-cover-block'); const $donorCoverContainer = $('#donor-cover-container'); // Add an event to toggle donor cover widget depending on given event and selector. $('body').on('init_done', function() { const frequency = Common.getDonation().frequency; if ($donorCoverWidget.hasClass('tip-' + frequency)) { if ($.trim($donorCoverContainer.html()) === '') { // If user set a one-off amount and donor cover widget is not already here. $donorCoverContainer.append($donorCoverWidget); } changeSummaryMessage(frequency); } else { $donorCoverWidget.detach(); } }); // Trigger a change when we enter in the form in order to toggle donor cover widget if needed. let $activeLabel = $('#once').find('label.active'); if (!$activeLabel.length) { $activeLabel = $('#regular').find('label.active'); } $activeLabel.find('input').change(); }); </script> <div class="payment"> <div id="payment_modes_once"> <input type="hidden" name="paymentNonce" id="paymentNonce" value="" autocomplete="off"/> <input type="hidden" name="stripeErrorCode" id="stripeErrorCode" value="" autocomplete="off"/> <input type="hidden" name="stripeError" id="stripeError" value="" autocomplete="off"/> <fieldset id="payment_mode-card" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Carte bancaire</span> </h4> <div class="payment_body" id="creditcard"> <p id="card-number"> <label for="stripe_creditcard_cardNumber_placeholder_once">Saisissez votre numéro de carte bancaire</label> <input type="text" id="stripe_creditcard_cardNumber_placeholder_once" autocomplete="off"/> </p> <div class="line"> <p id="card-expiry" class="unit size1of2"> <label for="stripe_creditcard_cardExpiry_placeholder_once">Date d'expiration</label> <input type="text" id="stripe_creditcard_cardExpiry_placeholder_once" autocomplete="off"/> </p> <p id="card-scode" class="unit size2of2 lastUnit"> <label for="stripe_creditcard_cardCvc_placeholder_once">Code de sécurité</label> <input type="text" id="stripe_creditcard_cardCvc_placeholder_once" autocomplete="off"/> <span class="help">Le code de sécurité est constitué des 3 derniers chiffres inscrits au dos de votre carte bancaire</span> <span class="help amex" style="display: none;">Le code de sécurité est constitué des 4 derniers chiffres inscrits au recto de votre carte bancaire</span> </p> </div> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_once" data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('once')"/> <script> var stripeElementGetFrequency = () => Step1.current_donation.frequency; if (!window.stripe_creditcard) { const VAL_ERROR = 'error'; const VAL_NOT_SET = 'N/A'; const defaultCoords = {}; defaultCoords["firstname"] = null; defaultCoords["lastname"] = null; defaultCoords["email"] = null; const defaultPaymentMethodErrorMessage = "Les coordonnées bancaires saisies sont incorrectes. Merci de les vérifier et de les saisir à nouveau."; const lang = "fr_FR"; const cardCvcPlaceholder = "Use the value provided by Stripe"; const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN"; const stripeApiVersion = "2020-08-27"; const coordNames = Object.keys(defaultCoords); const elementConf = { 'cardNumber': { defaultErrorMessage: DntErrors.errorMsg.cardnumber, options: {showIcon: true}, }, 'cardExpiry': { defaultErrorMessage: DntErrors.errorMsg.cardmonth, }, 'cardCvc': { defaultErrorMessage: DntErrors.errorMsg.cardscode, }, }; // only add a CVC placeholder for languages which have a short CVC provided if (cardCvcPlaceholder != 'Use the value provided by Stripe') { elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder}; } const elementTypes = Object.keys(elementConf); window.stripe_creditcard = { complete: {}, elements: {}, error: {}, frequencies: {}, lastInitFrequency: '', stripe: false, checkElement: function(frequency, elementType) { this.log('checkElement', [frequency, elementType]); if (frequency !== this.lastInitFrequency) return false; const complete = this.complete[frequency][elementType]; const error = this.error[frequency][elementType]; const placeholder = $('#' + this.getPlaceholderId(frequency, elementType)); if (!complete || error) { placeholder.attr('data-ira-errormsg', error && error.message ? error.message : elementConf[elementType].defaultErrorMessage ); return false; } else { placeholder.removeAttr('data-ira-errormsg'); return true; } }, checkPaymentMethod: function(frequency) { this.log('checkPaymentMethod', [frequency]); if (frequency !== this.lastInitFrequency) return false; const paymentMethodInput = this.getPaymentMethodInput(frequency); if (paymentMethodInput.val() === VAL_ERROR) { paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage); return false; } else { paymentMethodInput.removeAttr('data-ira-errormsg'); return true; } }, createPaymentMethod: function (frequency) { if (frequency !== this.lastInitFrequency) return; this.log('createPaymentMethod', [frequency]); const paymentMethodInput = this.resetPaymentMethod(frequency); for (let elementType of elementTypes) { if (!this.complete[frequency][elementType]) return; } const coords = {}; for (let coordName of coordNames) { const coordInput = $('input[name="' + coordName + '"]'); coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName]; if (!coords[coordName]) return; } // All other inputs we rely on are ok and won't trigger any error message display, // so until createPaymentMethod succeds, we must ensure paymentMethodInput does paymentMethodInput.val(VAL_ERROR); // Prevent form submission before createPaymentMethod answers $('#stripe_submit.' + frequency).prop('disabled', true); setTimeout(() => { try { this.stripe.createPaymentMethod({ type: 'card', card: this.elements[frequency].cardNumber, billing_details: { name: coords.firstname + ' ' + coords.lastname, email: coords.email, } }).then(result => { $('#stripe_submit.' + frequency).prop('disabled', false); console.log(result); if (result.paymentMethod && result.paymentMethod.id) { paymentMethodInput.val(result.paymentMethod.id); console.log('paymentMethod = ' + paymentMethodInput.val()); } else { this.error[frequency].paymentMethod = result.error.message; for (let prop of ['type', 'code', 'decline_code', 'message']) { window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]); } } }); } catch (e) { console.log(e); $('#stripe_submit.' + frequency).prop('disabled', false); } }, 500); }, getContainerId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_container_' + frequency; }, getPaymentMethodInput: function(frequency) { return $('#stripe_creditcard_paymentMethod_' + frequency); }, getPlaceholderId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency; }, /** * Build an array of Stripe JS CssFontSource objects * from the fonts used by the specified elements. * * See https://stripe.com/docs/js/appendix/css_font_source_object * * Warning: works only for fonts loaded from a google-style stylesheet URL * with a family=xxx parameter (where xxx is the font-family) */ getStripeJsCssFontSources: function(ids) { try { const used = {}; for (let id of ids) { const computedStyle = window.getComputedStyle(document.getElementById(id)); const fontFamily = computedStyle.getPropertyValue('font-family'); used[fontFamily] = true; } const hrefs = []; for (let s of document.styleSheets) { if (!s.href) continue; const params = new URLSearchParams(new URL(s.href).search); const fontFamily = params.get('family'); if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) { hrefs.push(s.href); } } return hrefs.map(href => ({cssSrc: href})); } catch (error) { /** * Stripe Element implementation has javascript incompatibility with Opera browser. * We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list. * This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations. */ return []; } }, /** * Get the locale as expected by Stripe JS * * See https://stripe.com/docs/js/appendix/supported_locales */ getStripeJsLocale: function () { switch(lang) { case 'en_EN': return 'en-GB'; case 'se_SE': return 'sv'; case 'zh_TW': return lang.substring(0, 2) + '-' + lang.substring(3, 5); default: return lang.substring(0, 2); } }, /** * Build a Stripe JS Style object from the specified element's computed style * and copy all other styles to the provided container. * * See https://stripe.com/docs/js/appendix/style */ getStripeJsStyle: function(id, container) { const styleKeyMap = { // Stripe JS recommands setting background-color on the container //'background-color': 'backgroundColor', 'color': 'color', 'font-family': 'fontFamily', 'font-size': 'fontSize', 'font-smoothing': 'fontSmoothing', 'font-style': 'fontStyle', 'font-variant': 'fontVariant', 'font-weight': 'fontWeight', // Stripe JS doesn't like line-height and doesn't even take it into account //'line-height': 'lineHeight', 'letter-spacing': 'letterSpacing', 'text-align': 'textAlign', 'text-decoration': 'textDecoration', 'text-shadow': 'textShadow', 'text-transform': 'textTransform', }; const baseStyle = {}; const computedStyle = window.getComputedStyle(document.getElementById(id)); for (let cssProp of computedStyle) { const styleKey = styleKeyMap[cssProp]; const cssValue = computedStyle.getPropertyValue(cssProp); if (styleKey) { baseStyle[styleKey] = cssValue; } else { container.css(cssProp, cssValue); } } return {base: baseStyle}; }, init: function (reason) { const frequency = stripeElementGetFrequency(); if (!this.frequencies[frequency]) return; this.log('init', [frequency, reason]); // Stripe elements are reset at every init so we need to reset as well this.complete[frequency] = {}; this.error[frequency] = {}; this.resetPaymentMethod(frequency); this.lastInitFrequency = frequency; this.mount(frequency); }, isMounted: function(frequency) { return !!this.elements[frequency]; }, log: function (method, params = []) { console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')'); }, mount: function (frequency) { const wasAlreadyMounted = this.unmount(frequency); this.log('mount', [frequency]); if (!this.stripe) { this.stripe = Stripe(stripePublicApiKey, { locale: this.getStripeJsLocale(), apiVersion: stripeApiVersion }); } const stripeElements = this.stripe.elements({ fonts: this.getStripeJsCssFontSources( elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType)) ), }); this.elements[frequency] = {}; for (let elementType of elementTypes) { const placeholderId = this.getPlaceholderId(frequency, elementType); const containerId = this.getContainerId(frequency, elementType); const container = $('<span/>').attr('id', containerId); const element = stripeElements.create(elementType, Object.assign( {style: this.getStripeJsStyle(placeholderId, container)}, elementConf[elementType].options )); this.elements[frequency][elementType] = element; $('#' + placeholderId) .attr('data-scope', 'stripe') .attr('data-required', '1') .attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')") .val(VAL_NOT_SET) .hide() .after(container); element.mount('#' + containerId); // Stripe creates an intermediate div between the container and its iframe // Let's force this div's contents to be vertically centered inside the container $('#' + containerId + ' div').css({ display: 'flex', height: '100%', 'align-items': 'center', }); element.on('change', ev => this.onElementChanged(frequency, ev)); } if (!wasAlreadyMounted) { for (let coordName of coordNames) { $('input[name="' + coordName + '"]').on('change', () => this.createPaymentMethod(frequency)); } // Force a re-init if the payment mode was previously hidden // as Stripe does not mount well hidden fields const cvcPlaceholderId = this.getPlaceholderId(frequency, 'cardCvc'); $('#payment_mode-card:has(#' + cvcPlaceholderId + ')').on('payment_shown', () => this.init('payment_shown')); } }, unmount: function (frequency) { if (!this.isMounted(frequency)) return false; this.log('unmount', [frequency]); for (let elementType of elementTypes) { this.elements[frequency][elementType].destroy(); $('#' + this.getContainerId(frequency, elementType)).remove(); $('#' + this.getPlaceholderId(frequency, elementType)).show(); } return true; }, onElementChanged: function (frequency, ev) { this.log('onElementChanged', [ frequency, ev.elementType, ev.complete ? 'complete' : 'not complete', ev.error ? ev.error.message : 'no error', ]); this.complete[frequency][ev.elementType] = ev.complete; this.error[frequency][ev.elementType] = ev.error; this.createPaymentMethod(frequency); }, resetPaymentMethod: function (frequency) { const paymentMethodInput = this.getPaymentMethodInput(frequency); paymentMethodInput.val(VAL_NOT_SET); this.error[frequency].paymentMethod = false; return paymentMethodInput; }, }; window.stripeJsLoaded.then(() => { // Force a reinit when the donation amount or the style change for (let event of ['init_done', 'WebFont.fontactive']) { $('body').on(event, () => window.stripe_creditcard.init(event)); } }); } if (!window.stripe_creditcard.frequencies["once"]) { window.stripe_creditcard.frequencies["once"] = true; window.stripeJsLoaded.then(() => { // Ensure the 1st init is done only once, for the active frequency if (stripeElementGetFrequency() === "once") { window.stripe_creditcard.init("stripeJsLoaded"); } }); } </script> <p id="card-submit" class="payment-submit"> <input name="stripe_submit" type="submit" value="Valider" id="stripe_submit" class="button once" data-scope='stripe'/> </p> </div> </fieldset> <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 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() || "EUR").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: "Le F.R.S.-FNRS", 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.Step3 = true; $('#stripe_apple_pay_submit.once').click(function(event){ // Submit the form if called after receiving the paymentMethod if ( (Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) && $('#stripe_apple_pay_paymentMethod.once').val() ) { console.log('stripe_apple_pay_submit -- submitting form'); return true; } else if (Stripe_obj.buttons.Step3) { // Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid if (Step1.check() && Step2.check() && Step3.check()) { console.log('paymentRequest.show() -- stripePay'); Stripe_obj.paymentRequest.show(); return false; } else { DntErrors.displayErrors(); } } // Or stay on the form setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500); return false; }); </script> <style> #stripe_apple_pay_submit.apple_pay_styled_button { -webkit-appearance: -apple-pay-button !important; -apple-pay-button-type: donate; color: transparent !important; } </style> </div> <div id="payment_modes_regular" style="display:none"> <input type="hidden" name="paymentNonce" id="paymentNonce" value="" autocomplete="off"/> <input type="hidden" name="stripeErrorCode" id="stripeErrorCode" value="" autocomplete="off"/> <input type="hidden" name="stripeError" id="stripeError" value="" autocomplete="off"/> <fieldset id="payment_mode-card" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Carte bancaire</span> </h4> <div class="payment_body" id="creditcard"> <p id="card-number"> <label for="stripe_creditcard_cardNumber_placeholder_regular">Saisissez votre numéro de carte bancaire</label> <input type="text" id="stripe_creditcard_cardNumber_placeholder_regular" autocomplete="off"/> </p> <div class="line"> <p id="card-expiry" class="unit size1of2"> <label for="stripe_creditcard_cardExpiry_placeholder_regular">Date d'expiration</label> <input type="text" id="stripe_creditcard_cardExpiry_placeholder_regular" autocomplete="off"/> </p> <p id="card-scode" class="unit size2of2 lastUnit"> <label for="stripe_creditcard_cardCvc_placeholder_regular">Code de sécurité</label> <input type="text" id="stripe_creditcard_cardCvc_placeholder_regular" autocomplete="off"/> <span class="help">Le code de sécurité est constitué des 3 derniers chiffres inscrits au dos de votre carte bancaire</span> <span class="help amex" style="display: none;">Le code de sécurité est constitué des 4 derniers chiffres inscrits au recto de votre carte bancaire</span> </p> </div> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_regular" data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('regular')"/> <script> var stripeElementGetFrequency = () => Step1.current_donation.frequency; if (!window.stripe_creditcard) { const VAL_ERROR = 'error'; const VAL_NOT_SET = 'N/A'; const defaultCoords = {}; defaultCoords["firstname"] = null; defaultCoords["lastname"] = null; defaultCoords["email"] = null; const defaultPaymentMethodErrorMessage = "Les coordonnées bancaires saisies sont incorrectes. Merci de les vérifier et de les saisir à nouveau."; const lang = "fr_FR"; const cardCvcPlaceholder = "Use the value provided by Stripe"; const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN"; const stripeApiVersion = "2020-08-27"; const coordNames = Object.keys(defaultCoords); const elementConf = { 'cardNumber': { defaultErrorMessage: DntErrors.errorMsg.cardnumber, options: {showIcon: true}, }, 'cardExpiry': { defaultErrorMessage: DntErrors.errorMsg.cardmonth, }, 'cardCvc': { defaultErrorMessage: DntErrors.errorMsg.cardscode, }, }; // only add a CVC placeholder for languages which have a short CVC provided if (cardCvcPlaceholder != 'Use the value provided by Stripe') { elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder}; } const elementTypes = Object.keys(elementConf); window.stripe_creditcard = { complete: {}, elements: {}, error: {}, frequencies: {}, lastInitFrequency: '', stripe: false, checkElement: function(frequency, elementType) { this.log('checkElement', [frequency, elementType]); if (frequency !== this.lastInitFrequency) return false; const complete = this.complete[frequency][elementType]; const error = this.error[frequency][elementType]; const placeholder = $('#' + this.getPlaceholderId(frequency, elementType)); if (!complete || error) { placeholder.attr('data-ira-errormsg', error && error.message ? error.message : elementConf[elementType].defaultErrorMessage ); return false; } else { placeholder.removeAttr('data-ira-errormsg'); return true; } }, checkPaymentMethod: function(frequency) { this.log('checkPaymentMethod', [frequency]); if (frequency !== this.lastInitFrequency) return false; const paymentMethodInput = this.getPaymentMethodInput(frequency); if (paymentMethodInput.val() === VAL_ERROR) { paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage); return false; } else { paymentMethodInput.removeAttr('data-ira-errormsg'); return true; } }, createPaymentMethod: function (frequency) { if (frequency !== this.lastInitFrequency) return; this.log('createPaymentMethod', [frequency]); const paymentMethodInput = this.resetPaymentMethod(frequency); for (let elementType of elementTypes) { if (!this.complete[frequency][elementType]) return; } const coords = {}; for (let coordName of coordNames) { const coordInput = $('input[name="' + coordName + '"]'); coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName]; if (!coords[coordName]) return; } // All other inputs we rely on are ok and won't trigger any error message display, // so until createPaymentMethod succeds, we must ensure paymentMethodInput does paymentMethodInput.val(VAL_ERROR); // Prevent form submission before createPaymentMethod answers $('#stripe_submit.' + frequency).prop('disabled', true); setTimeout(() => { try { this.stripe.createPaymentMethod({ type: 'card', card: this.elements[frequency].cardNumber, billing_details: { name: coords.firstname + ' ' + coords.lastname, email: coords.email, } }).then(result => { $('#stripe_submit.' + frequency).prop('disabled', false); console.log(result); if (result.paymentMethod && result.paymentMethod.id) { paymentMethodInput.val(result.paymentMethod.id); console.log('paymentMethod = ' + paymentMethodInput.val()); } else { this.error[frequency].paymentMethod = result.error.message; for (let prop of ['type', 'code', 'decline_code', 'message']) { window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]); } } }); } catch (e) { console.log(e); $('#stripe_submit.' + frequency).prop('disabled', false); } }, 500); }, getContainerId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_container_' + frequency; }, getPaymentMethodInput: function(frequency) { return $('#stripe_creditcard_paymentMethod_' + frequency); }, getPlaceholderId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency; }, /** * Build an array of Stripe JS CssFontSource objects * from the fonts used by the specified elements. * * See https://stripe.com/docs/js/appendix/css_font_source_object * * Warning: works only for fonts loaded from a google-style stylesheet URL * with a family=xxx parameter (where xxx is the font-family) */ getStripeJsCssFontSources: function(ids) { try { const used = {}; for (let id of ids) { const computedStyle = window.getComputedStyle(document.getElementById(id)); const fontFamily = computedStyle.getPropertyValue('font-family'); used[fontFamily] = true; } const hrefs = []; for (let s of document.styleSheets) { if (!s.href) continue; const params = new URLSearchParams(new URL(s.href).search); const fontFamily = params.get('family'); if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) { hrefs.push(s.href); } } return hrefs.map(href => ({cssSrc: href})); } catch (error) { /** * Stripe Element implementation has javascript incompatibility with Opera browser. * We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list. * This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations. */ return []; } }, /** * Get the locale as expected by Stripe JS * * See https://stripe.com/docs/js/appendix/supported_locales */ getStripeJsLocale: function () { switch(lang) { case 'en_EN': return 'en-GB'; case 'se_SE': return 'sv'; case 'zh_TW': return lang.substring(0, 2) + '-' + lang.substring(3, 5); default: return lang.substring(0, 2); } }, /** * Build a Stripe JS Style object from the specified element's computed style * and copy all other styles to the provided container. * * See https://stripe.com/docs/js/appendix/style */ getStripeJsStyle: function(id, container) { const styleKeyMap = { // Stripe JS recommands setting background-color on the container //'background-color': 'backgroundColor', 'color': 'color', 'font-family': 'fontFamily', 'font-size': 'fontSize', 'font-smoothing': 'fontSmoothing', 'font-style': 'fontStyle', 'font-variant': 'fontVariant', 'font-weight': 'fontWeight', // Stripe JS doesn't like line-height and doesn't even take it into account //'line-height': 'lineHeight', 'letter-spacing': 'letterSpacing', 'text-align': 'textAlign', 'text-decoration': 'textDecoration', 'text-shadow': 'textShadow', 'text-transform': 'textTransform', }; const baseStyle = {}; const computedStyle = window.getComputedStyle(document.getElementById(id)); for (let cssProp of computedStyle) { const styleKey = styleKeyMap[cssProp]; const cssValue = computedStyle.getPropertyValue(cssProp); if (styleKey) { baseStyle[styleKey] = cssValue; } else { container.css(cssProp, cssValue); } } return {base: baseStyle}; }, init: function (reason) { const frequency = stripeElementGetFrequency(); if (!this.frequencies[frequency]) return; this.log('init', [frequency, reason]); // Stripe elements are reset at every init so we need to reset as well this.complete[frequency] = {}; this.error[frequency] = {}; this.resetPaymentMethod(frequency); this.lastInitFrequency = frequency; this.mount(frequency); }, isMounted: function(frequency) { return !!this.elements[frequency]; }, log: function (method, params = []) { console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')'); }, mount: function (frequency) { const wasAlreadyMounted = this.unmount(frequency); this.log('mount', [frequency]); if (!this.stripe) { this.stripe = Stripe(stripePublicApiKey, { locale: this.getStripeJsLocale(), apiVersion: stripeApiVersion }); } const stripeElements = this.stripe.elements({ fonts: this.getStripeJsCssFontSources( elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType)) ), }); this.elements[frequency] = {}; for (let elementType of elementTypes) { const placeholderId = this.getPlaceholderId(frequency, elementType); const containerId = this.getContainerId(frequency, elementType); const container = $('<span/>').attr('id', containerId); const element = stripeElements.create(elementType, Object.assign( {style: this.getStripeJsStyle(placeholderId, container)}, elementConf[elementType].options )); this.elements[frequency][elementType] = element; $('#' + placeholderId) .attr('data-scope', 'stripe') .attr('data-required', '1') .attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')") .val(VAL_NOT_SET) .hide() .after(container); element.mount('#' + containerId); // Stripe creates an intermediate div between the container and its iframe // Let's force this div's contents to be vertically centered inside the container $('#' + containerId + ' div').css({ display: 'flex', height: '100%', 'align-items': 'center', }); element.on('change', ev => this.onElementChanged(frequency, ev)); } if (!wasAlreadyMounted) { for (let coordName of coordNames) { $('input[name="' + coordName + '"]').on('change', () => this.createPaymentMethod(frequency)); } // Force a re-init if the payment mode was previously hidden // as Stripe does not mount well hidden fields const cvcPlaceholderId = this.getPlaceholderId(frequency, 'cardCvc'); $('#payment_mode-card:has(#' + cvcPlaceholderId + ')').on('payment_shown', () => this.init('payment_shown')); } }, unmount: function (frequency) { if (!this.isMounted(frequency)) return false; this.log('unmount', [frequency]); for (let elementType of elementTypes) { this.elements[frequency][elementType].destroy(); $('#' + this.getContainerId(frequency, elementType)).remove(); $('#' + this.getPlaceholderId(frequency, elementType)).show(); } return true; }, onElementChanged: function (frequency, ev) { this.log('onElementChanged', [ frequency, ev.elementType, ev.complete ? 'complete' : 'not complete', ev.error ? ev.error.message : 'no error', ]); this.complete[frequency][ev.elementType] = ev.complete; this.error[frequency][ev.elementType] = ev.error; this.createPaymentMethod(frequency); }, resetPaymentMethod: function (frequency) { const paymentMethodInput = this.getPaymentMethodInput(frequency); paymentMethodInput.val(VAL_NOT_SET); this.error[frequency].paymentMethod = false; return paymentMethodInput; }, }; window.stripeJsLoaded.then(() => { // Force a reinit when the donation amount or the style change for (let event of ['init_done', 'WebFont.fontactive']) { $('body').on(event, () => window.stripe_creditcard.init(event)); } }); } if (!window.stripe_creditcard.frequencies["regular"]) { window.stripe_creditcard.frequencies["regular"] = true; window.stripeJsLoaded.then(() => { // Ensure the 1st init is done only once, for the active frequency if (stripeElementGetFrequency() === "regular") { window.stripe_creditcard.init("stripeJsLoaded"); } }); } </script> <p id="card-submit" class="payment-submit"> <input name="stripe_submit" type="submit" value="Valider" id="stripe_submit" class="button regular" data-scope='stripe'/> </p> </div> </fieldset> <fieldset id="payment_mode-apple_pay-regular" class="payment_mode" data-scope='stripe_apple_pay'> <h4 class="payment_head"><span class="payment_mode_title">Apple Pay</span></h4> <div class="payment_body" id="apple_pay"> <div id="apple_pay-submit" class="payment-submit"> <input name="stripe_apple_pay_submit" type="submit" value="Valider" alt="Apple Pay" id="stripe_apple_pay_submit" class="button regular" data-scope='stripe_apple_pay' style="display:none;" disabled/> </div> <input type="hidden" name="stripe_apple_pay_paymentMethod" id="stripe_apple_pay_paymentMethod" class="regular" value=""/> </div> </fieldset> <script> Stripe_obj.buttons.Step3 = true; $('#stripe_apple_pay_submit.regular').click(function(event){ // Submit the form if called after receiving the paymentMethod if ( (Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) && $('#stripe_apple_pay_paymentMethod.regular').val() ) { console.log('stripe_apple_pay_submit -- submitting form'); return true; } else if (Stripe_obj.buttons.Step3) { // Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid if (Step1.check() && Step2.check() && Step3.check()) { console.log('paymentRequest.show() -- stripePay'); Stripe_obj.paymentRequest.show(); return false; } else { DntErrors.displayErrors(); } } // Or stay on the form setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500); return false; }); </script> <style> #stripe_apple_pay_submit.apple_pay_styled_button { -webkit-appearance: -apple-pay-button !important; -apple-pay-button-type: subscribe; color: transparent !important; } </style> </div> </div> <!-- End Payment --> </div> <!-- End Bloc --> <div class="step-info"> <h4>Nous soutenir en toute confiance</h4> <div class="step-info-body"> <p>Ce site internet est 100% sécurisé.</p> <p>Toutes les informations bancaires pour traiter le paiement sont cryptées grâce au protocole SSL. Elles ne sont en aucun cas conservées sur nos systèmes informatiques.</p> <p>Notre service donateurs est à votre disposition pour répondre à toutes vos questions.</p> <p>N'hésitez pas à nous contacter par e-mail : <a href="mailto:xavier.hellebaut@frs-fnrs.be">xavier.hellebaut@frs-fnrs.be</a></p> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> <div id="eid-safari-extension-is-installed"> </div> </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://dons.frs-fnrs.be/nos-credits" title="Crédits">Crédits</a> <span>|</span> <a href="https://dons.frs-fnrs.be/mentions-legales" title="Mentions légales">Mentions légales</a> <span>|</span> <a href="https://dons.frs-fnrs.be/contactez-nous" title="Contact">Contact</a> </p> </div> </div> </div> <!-- End Footer --> </div> <!-- End Container --> </body></html>