CINXE.COM
Faire un don à la FMSH
<!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>Faire un don à la FMSH</title> <meta name="description" content="La FMSH se mobilise pour soutenir la recherche en sciences humaines et sociales : faites un don " /> <meta name="keywords" content="fondation, don, recherche, Sciences humaines et sociales, liberté académique, solidarité, appel à dons, levée de fonds, fonds d'urgence, soutien, dons, générosité, SHS, IFI" /> <link type="text/css" href="https://www.faireundon-fmsh.fr/themes/default/css/style_v2.css?hash=431af37a1d48fa5580562bd86e2a7121" rel="stylesheet" /> <link type="text/css" href="/libs.iraiser.eu/libs/jquery/signaturepad/jquery.signaturepad.css" rel="stylesheet" /> <link type="text/css" href="https://www.faireundon-fmsh.fr/themes/default/css/googlefonts/parisienne.css" rel="stylesheet" /> <link type="text/css" href="/libs.iraiser.eu/libs/signaturepad/signaturepad-iraiser.css" rel="stylesheet" /> <script type="text/javascript"> // <![CDATA[ const cacheVersion = "24070"; var gamonitoring_previous_page = sessionStorage.getItem('gamonitoring_previous_page') || document.referrer || "https:\/\/www.faireundon-fmsh.fr"; 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:"www.faireundon-fmsh.fr\/"+gamonitoring_session_id,dl:"https:\/\/www.faireundon-fmsh.fr\/FMSLH\/b:steps\/cid=3",sc:gamonitoring_sc,dr:gamonitoring_previous_page,cd:"2025-02-20:08.36.44-67b6db8c447d7",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", "www.faireundon-fmsh.fr\/"+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:"www.faireundon-fmsh.fr\/"+gamonitoring_session_id,t:"event",ec:"JSError",ev:1,ea:"\/FMSLH\/b:steps\/cid=3\/",}; if (!eventOrMessage) { return; } if (typeof eventOrMessage !== 'string') { error = eventOrMessage.error; url = eventOrMessage.filename || eventOrMessage.fileName; lineNumber = eventOrMessage.lineno || eventOrMessage.lineNumber; colNumber = eventOrMessage.colno || eventOrMessage.columnNumber; eventOrMessage = eventOrMessage.message || eventOrMessage.name || error.message || error.name; } if (error && error.stack) { eventOrMessage = [eventOrMessage, '; Stack: ', error.stack, '.'].join(''); } var jsFile = (/[^/]+\.js/i.exec(url || '') || [])[0] || 'inline', eventOrMessage = eventOrMessage.replace(/https?\:\/\/[^/]+/gi, '').replace(/[?&]context_form_[^ &]+/gi, ''); stack = [eventOrMessage, ' > ' + jsFile, ':', lineNumber || '?', ':', colNumber || '?'].join('').substring(0,450); monitoringerrorparams.ea += jsFile; monitoringerrorparams.el = stack; var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'https://monitoring.iraiser.eu/error.css?'+monitoring_serialize(monitoringerrorparams); head.appendChild(link); monitoringerrorparams.cid = gamonitoring_v2_client_id; monitoringerrorparams.sid = gamonitoring_v2_session_id; var link_v2 = document.createElement('link'); link_v2.rel = 'stylesheet'; link_v2.type = 'text/css'; link_v2.href = 'https://monitoring.iraiser.eu/v2/error.css?'+monitoring_serialize(monitoringerrorparams); head.appendChild(link_v2); } } catch (error) {console.error(error);} sessionStorage.setItem('gamonitoring_previous_page',gamonitoring_previous_page); sessionStorage.setItem('gamonitoring_session_id',gamonitoring_session_id); } // ]]> </script><script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/jquery-1.11.2.min.js?hash=5790ead7ad3ba27397aedfa3d263b867" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/jquery.patch.min.js?hash=8c3155becb5ec93b830922ca82081911" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/jquery.cookie-1.0.min.js?hash=6f6ed3cd5486dbf3bb9143eea287a6a5" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/dnterrors.min.js?hash=af6b6c3691e205792b5ad49d7fa92b5a" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/jquery.config.min.js?hash=aae7bb01c8a0e6da615dd41aaafab4b5" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/dynamic_form.min.js?hash=d0fa20a4d6821cc2aeba535277ff9b6e" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/step1.min.js?hash=9f5ee1cdcfc17951a981e36d87e9a39a" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/step2.min.js?hash=fc9d12b26133396b31c1dde1bbfcf963" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/step3.min.js?hash=771c3951e11e0c848809922564437423" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/steps.min.js?hash=d9a640da650f1b5117fc4b500d1163b4" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/jquery.ir-priceinput.min.js?hash=07482ff72021c2c53278074abe52347f" ></script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/js/common.min.js?hash=ef2e383a6a180f6fe62a1f93d12c1436" ></script> <script type="text/javascript" src="/libs.iraiser.eu/libs/jquery/signaturepad/json2.min.js" ></script> <script type="text/javascript" src="/libs.iraiser.eu/libs/jquery/signaturepad/jquery.signaturepad.min.js" ></script> <script type="text/javascript" src="/libs.iraiser.eu/libs/signaturepad/html2canvas.js" ></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.853523,"AFN":76.65755,"ALL":98.868808,"AMD":417.749656,"ANG":1.884082,"AOA":959.452945,"ARS":1106.527024,"AUD":1.647516,"AWG":1.888475,"AZN":1.781982,"BAM":1.953227,"BBD":2.110819,"BDT":127.02266,"BGN":1.95319,"BHD":0.393973,"BIF":3095.463022,"BMD":1.049153,"BND":1.402625,"BOB":7.223484,"BRL":6.004879,"BSD":1.045403,"BTC":1.0885333e-5,"BTN":90.6326,"BWP":14.419729,"BYN":3.421228,"BYR":20563.395738,"BZD":2.099934,"CAD":1.487033,"CDF":3006.872018,"CHF":0.944763,"CLF":0.02575,"CLP":988.134016,"CNY":7.610526,"CNH":7.605597,"COP":4327.923345,"CRC":530.091551,"CUC":1.049153,"CUP":27.80255,"CVE":110.119928,"CZK":25.035949,"DJF":186.164746,"DKK":7.460709,"DOP":64.983152,"DZD":141.815469,"EGP":53.117354,"ERN":15.737293,"ETB":133.902045,"EUR":1,"FJD":2.410215,"FKP":0.843156,"GBP":0.833426,"GEL":2.963876,"GGP":0.843156,"GHS":16.151722,"GIP":0.843156,"GMD":75.017529,"GNF":9037.921133,"GTQ":8.070368,"GYD":218.721855,"HKD":8.163406,"HNL":26.651381,"HRK":7.580209,"HTG":136.788491,"HUF":402.20481,"IDR":17000.420223,"ILS":3.722284,"IMP":0.843156,"INR":91.017524,"IQD":1369.495823,"IRR":44156.270712,"ISK":147.122557,"JEP":0.843156,"JMD":165.079377,"JOD":0.744375,"JPY":158.971315,"KES":135.497552,"KGS":91.748452,"KHR":4185.486032,"KMF":491.635933,"KPW":944.332047,"KRW":1512.532149,"KWD":0.323475,"KYD":0.871152,"KZT":519.755273,"LAK":22720.068533,"LBP":93615.586031,"LKR":308.962972,"LRD":208.565236,"LSL":19.209693,"LTL":3.097875,"LVL":0.634622,"LYD":5.129243,"MAD":10.43705,"MDL":19.549246,"MGA":4924.418686,"MKD":61.449047,"MMK":3407.607512,"MNT":3631.277359,"MOP":8.381358,"MRU":41.61738,"MUR":48.573534,"MVR":16.155165,"MWK":1812.577553,"MXN":21.301842,"MYR":4.647227,"MZN":67.035267,"NAD":19.209693,"NGN":1584.021223,"NIO":38.468588,"NOK":11.659132,"NPR":145.0092,"NZD":1.829114,"OMR":0.403399,"PAB":1.045423,"PEN":3.884083,"PGK":4.204381,"PHP":60.816281,"PKR":291.813083,"PLN":4.162301,"PYG":8237.148363,"QAR":3.811179,"RON":4.977493,"RSD":116.975896,"RUB":95.512549,"RWF":1466.739753,"SAR":3.934951,"SBD":8.847208,"SCR":15.097473,"SDG":630.540683,"SEK":11.222867,"SGD":1.404989,"SHP":0.864069,"SLE":23.867739,"SLL":22000.216473,"SOS":597.401594,"SRD":36.954361,"STD":21715.345635,"SVC":9.14695,"SYP":13642.151265,"SZL":19.205516,"THB":35.351728,"TJS":11.410767,"TMT":3.672035,"TND":3.310039,"TOP":2.457219,"TRY":38.011327,"TTD":7.094653,"TWD":34.31611,"TZS":2733.043099,"UAH":43.500962,"UGX":3846.932043,"USD":1.049153,"UYU":45.410177,"UZS":13583.105587,"VES":65.039998,"VND":26693.071228,"VUV":129.741646,"WST":2.976834,"XAF":655.081506,"XAG":0.032731,"XAU":0.000363,"XCD":2.835388,"XDR":0.80043,"XOF":655.081506,"XPF":119.331742,"YER":260.189893,"ZAR":19.249874,"ZMK":9443.630957,"ZMW":29.455196,"ZWL":337.826788,"CYP":1.7086,"SSP":633.704955,"VEF":3902666.416477} Common.price_currency_position = "right" Common.price_frequency_texts = {"once":"Je choisis le don ponctuel","regular":"Je choisis le don r\u00e9gulier"} Common.campaign_default_frequency = "once" Step1.tax_reduction_rates = {"ir":[66],"isf":[75,0],"corp":[60],"custom1":[],"custom2":[]}; Step1.tax_reduction_ceils = {"ir":[],"isf":[50000],"corp":[],"custom1":[],"custom2":[]}; Step1.tax_reduction_notices = {"ir":"\u00e0 hauteur de 20% du revenu imposable","isf":"","corp":"\u00e0 hauteur de 5\u2030 du chiffre d'affaires annuel","custom1":"","custom2":""}; Step1.tax_reduction_triggers = {"ir":"0","isf":"0","corp":"0","custom1":"0","custom2":"0"}; Step1.active_tax_reduction = 1; Step1.adapt_tax_bloc = false; Step1.tax_info = "En tant que Fondation reconnue d'utilit\u00e9 publique, vos dons ouvrent droit \u00e0 une r\u00e9duction dans le cadre de l'imp\u00f4t sur : <br \/><br \/>\u2022 Le Revenu : 66 % du montant vers\u00e9 dans la limite de 20 % du revenu imposable. Vous b\u00e9n\u00e9ficiez ainsi d'une r\u00e9duction de <span class='price'>[deduction ir] \u20ac<\/span> - votre don ne vous co\u00fbte r\u00e9ellement que <span class='price'>[amount ir] \u20ac<\/span>.<br \/><br \/>\u2022 La Fortune Immobili\u00e8re : 75% de votre don est imputable sur vos imp\u00f4ts dans la limite de 50 000\u20ac. Vous b\u00e9n\u00e9ficiez ainsi d'une r\u00e9duction de <span class='price'>[deduction isf] \u20ac<\/span> - votre don ne vous co\u00fbte r\u00e9ellement que <span class='price'>[amount isf] \u20ac<\/span>.<br \/><br \/>\u2022 Les Soci\u00e9t\u00e9s : 60 % du montant du don (cf. limites et conditions fiscales sur: https:\/\/entreprendre.service-public.fr\/vosdroits\/F22263).<br \/><br \/>***<br \/><br \/>Je fais un don et j'accepte que mon don soit affect\u00e9 \u00e0 toute action relevant de l'objet social de la FMSH."; Step1.is_french_isf = 1; Step1.is_tipping_campaign = 1; Step1.amount_equivalences = {"once":[{"price":"10000","description":"","image":""}],"regular":[]} Step1.decimal_sep = ","; Step1.min_once_amount = 5; Step1.max_once_amount = 49000; Step1.min_regular_amount = 5; Step1.max_regular_amount = 490000; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.choose_amount = "Vous devez choisir un montant pour votre don"; DntErrors.errorMsg.min_once_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} "; DntErrors.errorMsg.max_once_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} "; DntErrors.errorMsg.min_regular_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} "; DntErrors.errorMsg.max_regular_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} "; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.qualification = "Le champ \u00ab %s \u00bb est obligatoire"; DntErrors.errorMsg.firstname = "Vous devez saisir votre pr\u00e9nom"; DntErrors.errorMsg.lastname = "Vous devez saisir votre nom"; DntErrors.errorMsg.email = "Vous devez saisir une adresse email valide"; DntErrors.errorMsg.company = "La raison sociale ne doit pas d\u00e9passer 70 caract\u00e8res"; DntErrors.errorMsg.company_siren = "Le SIREN est vide ou invalide"; DntErrors.errorMsg.company_status = "La forme juridique est vide ou inconnue"; DntErrors.errorMsg.address1 = "Vous devez saisir votre adresse"; DntErrors.errorMsg.postcode = "Vous devez saisir votre code postal (10 caract\u00e8res maximum)"; DntErrors.errorMsg.city = "Vous devez saisir votre ville"; DntErrors.errorMsg.civility = "Vous devez s\u00e9lectionner votre civilit\u00e9"; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.cardtype = "S\u00e9lectionnez votre type de carte bancaire"; DntErrors.errorMsg.cardnumber = "Saisissez correctement les chiffres de votre carte bancaire"; DntErrors.errorMsg.cardscode = DntErrors.errorMsg.scode = "Saisissez correctement les chiffres du code de s\u00e9curit\u00e9 situ\u00e9s au dos de votre carte bancaire"; DntErrors.errorMsg.cardmonth = "S\u00e9lectionnez le mois d'expiration de votre carte bancaire"; DntErrors.errorMsg.cardyear = "S\u00e9lectionnez l'ann\u00e9e d'expiration de votre carte bancaire"; DntErrors.errorMsg.gocardless = "Ce mode de paiement implique un montant inf\u00e9rieur \u00e0 5000\u20ac. Merci de diminuer le montant ou de s\u00e9lectionner un autre moyen de paiement"; Step2.failed_dnt_url = "/index.php?module=donations&action=xhr:attemptSave"; form_context_lang = "fr_FR"; form_context_cid = "3"; Step3.alert_msg = ""; Step3.modal_qualif = "0"; Step3.modal_qualif_url = "/index.php?module=donations&action=default:modalQualification"; Step3.modal_save_card = "0"; Step3.modal_save_card_url = "/index.php?module=donations&action=default:modalSaveCard"; Step3.modal_save_card_set_url = "/index.php?context_form_id=form_3f90dd821a5633fd9a6b75c01996d212353c6a43_67b6db8c4138f0.92473182&module=donations&action=default:setSaveCard"; Step3.cards_mastercard_length=16; Step3.cards_mastercard_cvvlength=3; Step3.cards_mastercard_hasalias=1; Step3.cards_visa_length=16; Step3.cards_visa_cvvlength=3; Step3.cards_visa_hasalias=1; $(document).ready(function() { Step1.init(); Step2.init(); Steps.init(); Steps.submit(); }); organisation_name = "Fondation Maison des Sciences de l'Homme"; try{ var ira_context_infos = {"form_id":"form_3f90dd821a5633fd9a6b75c01996d212353c6a43_67b6db8c4138f0.92473182","campaign":"3","version":"b","lang":"fr_FR","amount":{"amount":null,"amount_donation":0,"frequency":null,"free_amount":null,"currency":null},"reserved":"[]","affectation":null,"_cpn_name_":"nous-soutenir"}; console.warn(ira_context_infos); }catch(err){} // ]]> </script><meta name="viewport" content="width=device-width" /> <link rel="canonical" href="https://www.faireundon-fmsh.fr/~share?cid=3&lang=fr_FR" /> <style type="text/css"> body { background: url(/cdn.iraiser.eu/8o3apfGf69qNZbfoohdpjA==/default/origin/Raspail-54.jpg) top center; background-attachment: scroll; } #header { } </style> <script type='text/javascript'> optionsGlobal = ""; optionsCampaign = {"theme":"arya","active_theme":"1","last_version":"1","version":"3","font":"Open+Sans","font_title":"Open+Sans","fontsize":"","wedge":"5","--body-background-color":"#FFFFFF","donation_grid":"1","layout":"1","widgets_footer":"1","security_info_new":"1","widgets_header":"1","live_counter_map_sum":"","live_counter_map_count":"","widgets_progress_bar_currency":"","widgets_color_progress_bar_goal":"#375483","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_color_last_donors":"#375483","widgets_last_donors_filter":"","widgets_last_donors_text":"","widgets_last_donors_text_fr_FR":"","widgets_last_donors_text_en_EN":"","widgets_cookies_banner":"false","widgets_color_cookies_banner":"#375483","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_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_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":"#293F64","--main-action-color-lighter":"#465a81","--description-color":"#375483E3","--information-color":"#375483","--column-background-color":"#EFEFEF","--banner-color":"#375483E3","--banner-color-darker":"#001b43e3"}; campaign_id = "3"; context_lang = "fr_FR"; campaign_stats = {"count":"21","sum":"249300","min":"500","max":"50000","avg":"118.71","progress":"100","last_donators":[{"firstname":"Robert","total":"50000","currency":"EUR","date":"2025-02-05 22:33:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Denis","total":"5000","currency":"EUR","date":"2024-12-27 19:06:00","campaign":"3","city":"VENCE","message":"","avatar":""},{"firstname":"djaber","total":"1000","currency":"EUR","date":"2024-12-25 03:50:00","campaign":"3","city":"\u00c9TAMPES","message":"","avatar":""},{"firstname":"Raimund","total":"2500","currency":"EUR","date":"2024-12-23 11:13:00","campaign":"3","city":"KRAAINEM","message":"","avatar":""},{"firstname":"Lucas","total":"20000","currency":"EUR","date":"2024-12-20 06:59:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Andr\u00e9","total":"5000","currency":"EUR","date":"2024-12-19 22:08:00","campaign":"3","city":"N\u00eeMES","message":"","avatar":""},{"firstname":"catherine","total":"500","currency":"EUR","date":"2024-12-19 17:08:00","campaign":"3","city":"LYON","message":"","avatar":""},{"firstname":"Lucile","total":"1100","currency":"EUR","date":"2024-05-11 15:49:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Eva","total":"50000","currency":"EUR","date":"2024-05-06 21:27:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Sergei","total":"5350","currency":"EUR","date":"2023-12-21 22:10:00","campaign":"3","city":"STRASBOURG","message":"","avatar":""},{"firstname":"Benjamin","total":"21400","currency":"EUR","date":"2023-12-21 16:18:00","campaign":"3","city":"TEL AVIV","message":"","avatar":""},{"firstname":"Marius","total":"5350","currency":"EUR","date":"2023-11-29 22:14:00","campaign":"3","city":"CLUJ NAPOCA","message":"","avatar":""},{"firstname":"Alina","total":"1050","currency":"EUR","date":"2023-11-28 21:01:00","campaign":"3","city":"KYIV","message":"","avatar":""},{"firstname":"Lucas","total":"50000","currency":"EUR","date":"2023-11-28 11:49:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Bernard","total":"5350","currency":"EUR","date":"2023-11-28 09:10:00","campaign":"3","city":"CARRY-LE-ROUET","message":"","avatar":""},{"firstname":"catherine","total":"500","currency":"EUR","date":"2023-11-28 08:41:00","campaign":"3","city":"LYON","message":"","avatar":""},{"firstname":"Bruno","total":"10700","currency":"EUR","date":"2023-11-24 07:38:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Ray","total":"2300","currency":"EUR","date":"2023-07-16 20:26:00","campaign":"3","city":"BXL","message":"","avatar":""},{"firstname":"Flore","total":"10700","currency":"EUR","date":"2023-06-08 13:55:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Geraldine","total":"500","currency":"EUR","date":"2023-06-02 17:22:00","campaign":"3","city":"GARCHES","message":"","avatar":""},{"firstname":"G\u00e9raldine","total":"1000","currency":"EUR","date":"2023-05-15 11:44:00","campaign":"3","city":"GARCHES","message":"","avatar":""}],"date_cache":"2025-02-20"}; campaign_stats_last_donators = [{"firstname":"Robert","total":"50000","currency":"EUR","date":"2025-02-05 22:33:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Denis","total":"5000","currency":"EUR","date":"2024-12-27 19:06:00","campaign":"3","city":"VENCE","message":"","avatar":""},{"firstname":"djaber","total":"1000","currency":"EUR","date":"2024-12-25 03:50:00","campaign":"3","city":"\u00c9TAMPES","message":"","avatar":""},{"firstname":"Raimund","total":"2500","currency":"EUR","date":"2024-12-23 11:13:00","campaign":"3","city":"KRAAINEM","message":"","avatar":""},{"firstname":"Lucas","total":"20000","currency":"EUR","date":"2024-12-20 06:59:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Andr\u00e9","total":"5000","currency":"EUR","date":"2024-12-19 22:08:00","campaign":"3","city":"N\u00eeMES","message":"","avatar":""},{"firstname":"catherine","total":"500","currency":"EUR","date":"2024-12-19 17:08:00","campaign":"3","city":"LYON","message":"","avatar":""},{"firstname":"Lucile","total":"1100","currency":"EUR","date":"2024-05-11 15:49:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Eva","total":"50000","currency":"EUR","date":"2024-05-06 21:27:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Sergei","total":"5350","currency":"EUR","date":"2023-12-21 22:10:00","campaign":"3","city":"STRASBOURG","message":"","avatar":""},{"firstname":"Benjamin","total":"21400","currency":"EUR","date":"2023-12-21 16:18:00","campaign":"3","city":"TEL AVIV","message":"","avatar":""},{"firstname":"Marius","total":"5350","currency":"EUR","date":"2023-11-29 22:14:00","campaign":"3","city":"CLUJ NAPOCA","message":"","avatar":""},{"firstname":"Alina","total":"1050","currency":"EUR","date":"2023-11-28 21:01:00","campaign":"3","city":"KYIV","message":"","avatar":""},{"firstname":"Lucas","total":"50000","currency":"EUR","date":"2023-11-28 11:49:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Bernard","total":"5350","currency":"EUR","date":"2023-11-28 09:10:00","campaign":"3","city":"CARRY-LE-ROUET","message":"","avatar":""},{"firstname":"catherine","total":"500","currency":"EUR","date":"2023-11-28 08:41:00","campaign":"3","city":"LYON","message":"","avatar":""},{"firstname":"Bruno","total":"10700","currency":"EUR","date":"2023-11-24 07:38:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Ray","total":"2300","currency":"EUR","date":"2023-07-16 20:26:00","campaign":"3","city":"BXL","message":"","avatar":""},{"firstname":"Flore","total":"10700","currency":"EUR","date":"2023-06-08 13:55:00","campaign":"3","city":"PARIS","message":"","avatar":""},{"firstname":"Geraldine","total":"500","currency":"EUR","date":"2023-06-02 17:22:00","campaign":"3","city":"GARCHES","message":"","avatar":""},{"firstname":"G\u00e9raldine","total":"1000","currency":"EUR","date":"2023-05-15 11:44:00","campaign":"3","city":"GARCHES","message":"","avatar":""}]; campaign_currency = "EUR"; iraiser_counter = ''; client_livecounter = "fmsh"; bymonth = 'par mois'; i18n = []; checkoutPage = ''; </script> <script id="javascript_arya" type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/arya/dist/v3.16/arya.js?v=24070" ></script> <link type="text/css" href="https://www.faireundon-fmsh.fr/themes/default/arya/dist/v3.16/arya.css?v=24070" rel="stylesheet" /></head><body id="type-b" > <div id="container"> <div id="header" class="line"> <div class="container" id="header_wrapinner"> <div id="logo" class="unit size3of4"> <h1><a href="https://www.fmsh.fr/" title="Fondation Maison des Sciences de l'Homme"><img src="/cdn.iraiser.eu/8o3apfGf69qNZbfoohdpjA==/default/origin/Logo-FMSH-B.png" alt="Fondation Maison des Sciences de l'Homme"/></a></h1> </div> <!-- End Logo --> <div id="lang" class="unit size1of4 lastUnit"> <p>Langues : <a href="/nous-soutenir/~mon-don?context_form_id=form_3f90dd821a5633fd9a6b75c01996d212353c6a43_67b6db8c4138f0.92473182" title="Français" class="current">Français</a> <span>|</span> <a href="/nous-soutenir/~my-donation?context_form_id=form_3f90dd821a5633fd9a6b75c01996d212353c6a43_67b6db8c4138f0.92473182" 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><span style="font-size:18px;"><strong>Faites un don pour la recherche en sciences humaines et sociales</strong></span></p> <p>Depuis 60 ans, la Fondation Maison des Sciences de l'Homme fait progresser la connaissance grâce aux sciences humaines et sociales. Reconnue d'utilité publique, elle soutient une recherche libre et indépendante, encourage l'innovation scientifique et défend l'accès aux savoirs pour tous. La FMSH accompagne chaque année près de 400 scientifiques de toutes les régions du monde, et développe les services indispensables au partage des savoirs avec la société.<br /> <br /> En faisant un don à la FMSH, vous aidez concrètement les chercheuses et chercheurs en sciences humaines et sociales dans le développement, la valorisation et la promotion de leurs projets de recherche.</p> <div style="margin: 0px;">____________________________________________________________________________________<br /> <span style="font-size:12px;">If you are US American tax-resident, please use our <a href="https://www.every.org/fondation-maison-des-sciences-de-lhomme-fr">dedicated fundraising platform.</a></span></div> </div> <noscript> </noscript> <form action="/b/steps/save" method="post" id="form-steps" autocomplete="off"> <input type="hidden" name="context_form" value="w/0kSesLhOEEB4UJWePKVvhQwrnZKUFZi/xecHRAkBvPKjUgf5Avw2zWfLh83Th+1Px0aj+cS+uk/tS2eWVXpDk5+F6LF3IoZ1AWhIqHjxjnCs6G5OVEZdInKiZLuDzPa8SGVpqsoBPd6RE2x7VQA7hXMjk7QEHZF04HmqfUq+EEFUeX16sfEqxlGfiYVd/Hta1HL8kRiigG8O10cFXEN2g18MDcK6dfMkG7kHjipVpHpQ//xwBmd9QJf6Lq2CUPq6uOjmAy8a1r0OYBxzyTN1JadN5s4+j92LEWf+V51RasgevhvFu/JICb9qcXlYh6Eh66WhgD15LLzFrmUCy9gaVsqYCzELLH8l0qjRbNLIMsdCZjVxKw6niJATQV7LQflapLdgB7/F2Qb0m/C/Zhg6ta9BWxZfegVhGZ9VGCwY8jISYFKwkX7H6KjuOfR9eo1AU/vKOPFGDEHPATAGQSuceL/s9LYvTmzy2H3FdwG0HJG7TzRF4V+r5RFOKedQcbCyoQgZkmdWs2Aplx5+gkI77iQKX05h+aeoYdc/lt9qNECMHPPDz9hyWFG8bCEFbLKhCzAy2VBI4KDEb9uLp8xzW/4QmDwTmcsqFKEiChX//V3cvvAYv6RR+/VpxO1RyT5G40h+tkqLOhnE2pCMHy+k6PBK3Pm1dHSr+U/UljJMKYGkGhAgxc2we9AKbffBOcyXeVk3bqxibb0JeQ5pLy6F7GJToJ7du6n+BQK4xmSiMxFkfPzruNCVuorISJ9r7wye4iGlMDfTxe9nxxQviFv3YaumIUTNgk7BfLNe92FAFyhJ2EnLOL9B+q5Eks/AdGIgVucNl0w81KjZzjOTxfKawy7ClrnpxCW67DK4vHf8uGnSrs4V1WCaH0trrHnYn7HIDg9KLRUK0DJ0m26lpnEo0ua2QtbqAMGLmwjuLMgAyGUhBV3nPlQjd27jqeRmo1eULZGnY4O9SfB1iwL06yjYeVz75tREhm12VWpV8R5GWs9leUzp2ncI7J6kZ9H2E1IA2mRWH8IVHciBX0VCi/om+bgRdKYTMYhT4bBDOqTyOGJjHX7pzJUe1Nv/rJ6dzwBdJiyQUNfyeiXWJzCziH7cRhgrIxj1tRAr1Ghsh272e7d7KKPbtyPds81MGgd3ZRwEB8P34xHyqPd5+EWSNZku1sRAcyM5zEvGv3mcMRZzo=" /> <input type="hidden" name="context_form_id" value="form_3f90dd821a5633fd9a6b75c01996d212353c6a43_67b6db8c4138f0.92473182" /> <input type="hidden" name="cid" value="3" /> <input type="hidden" name="lang" value="fr_FR" /> <input type="hidden" name="scope" value="" id="scope"/> <input id="useragent_input_0" type="hidden" name="private_user_agent_cli" value=""/> <script type="text/javascript"> document.getElementById("useragent_input_0").value = navigator.userAgent; </script> <input id="referer_input_0" type="hidden" name="private_referer" value=""/> <script type="text/javascript"> document.getElementById("referer_input_0").value = document.referrer; </script> <input id="random_input_0" type="hidden" name="private_random" value=""/> <script type="text/javascript"> document.getElementById("random_input_0").value = Math.random(); setTimeout(function(){ document.getElementById("random_input_0").value = Math.random(); }, 3000); </script> <div id="step-1" class="unit size1of3"> <div class="step-container"> <div class="step-title"> <h2>Mon don</h2> </div> <div class="step-content"> <div> </div> <div id="once" class="bloc"> <div class="bloc-content"> <h3>Je choisis le don ponctuel</h3> <p class="content-desc">Par votre don vous soutenez la Fondation dans ses missions.</p> <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-5000"><data class='price_amount'>50</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="5000" id="amount-once-5000" /></label></li> <li><label><span id="value_of_amount-once-10000"><data class='price_amount'>100</data> <data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="10000" id="amount-once-10000" /></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> <div> </div> <div> </div> </div> <!-- End Step-content --> <div class="step-info"> <h4>Pourquoi nous soutenir ?</h4> <div class="step-info-body"> <p style="text-align: left;"><span style="font-size: 14px;">Créée en 1963 par l’historien Fernand Braudel, la Fondation Maison des Sciences de l'Homme (FMSH) soutient une recherche innovante et plurielle construite sur la coopération internationale et le dialogue interdisciplinaire, et œuvre à la diffusion des savoirs auprès du plus grand nombre. Fondation reconnue d'utilité publique, la FMSH accompagne chaque année près de 400 chercheurs venus du monde entier et assure la diffusion et l'accès à un vaste capital de ressources scientifiques</span>.<br /> <br /> <span style="font-size:14px;">Aujourd'hui, 6 priorités traversent l'action de la Fondation :</span><br /> - Accompagner la jeune recherche<br /> - Renforcer notre soutien aux chercheuses et chercheurs entravés<br /> - Encourager la constitution de réseaux<br /> - Faire circuler les savoirs entre les aires culturelles<br /> - Enrichir nos services de diffusion de la connaissance<br /> - Rapprocher la science et la société<br /> <br /> <span style="font-size:14px;">Tout savoir sur notre action : <a href="https://www.fmsh.fr/">fmsh.fr</a></span></p> </div> </div> <!-- End Step-info --> </div> <!-- End Step-container --> </div> <!-- End Step-1 --> <div id="step-2" class="unit size1of3"> <div class="step-container"> <div class="step-title"> <h2>Mes coordonnées</h2> </div> <div class="step-content"> <fieldset id="fieldset-step2"> <p id="c-email"> <label for="email"> Email <span class="required">*</span> <span class="help"> ex. bernard.dupond@yahoo.fr </span> </label> <input type="text" name="email" id="email" /> </p> <fieldset id="fielset-name"> <p id="c-isc"> <label> <input type="checkbox" value="OK" name="iscompany" id="iscompany" /> Je fais un don au nom d'une organisation ou d'une société </label> </p> <p id="c-isc-inf" class="company-infos hidden"> <label for="company">Raison sociale <span class="help"> ex. Dupond SARL </span> </label> <input type="text" name="company" id="company" /> </p> <p id="c-isc-inf-siren" class="company-infos hidden"> <label for="company_siren">SIREN <span class="required">*</span> <span class="help"> 539250571 </span> </label> <input type="text" name="company_siren" id="company_siren" class="required_for_company" /> </p> <p id="c-isc-inf-status" class="company-infos hidden"> <label for="company_status">Forme juridique <span class="required">*</span> </label> <select name="company_status" id="company_status" class="required_for_company"> <option value="">Forme juridique</option> <option value="71" > Administration de l'état </option> <option value="92" > Association loi 1901 ou assimilé </option> <option value="28" > Assujetti unique à la TVA </option> <option value="29" > Autre groupement de droit privé non doté de la personnalité morale </option> <option value="99" > Autre personne morale de droit privé </option> <option value="69" > Autre personne morale de droit privé inscrite au registre du commerce et des sociétés </option> <option value="74" > Autre personne morale de droit public administratif </option> <option value="61" > Caisse d'épargne et de prévoyance </option> <option value="72" > Collectivité territoriale </option> <option value="83" > Comité d'entreprise </option> <option value="10" > Entrepreneur individuel </option> <option value="73" > Etablissement public administratif </option> <option value="41" > Etablissement public ou régie à caractère industriel ou commercial </option> <option value="24" > Fiducie </option> <option value="93" > Fondation </option> <option value="62" > Groupement d'intérêt économique </option> <option value="21" > Indivision </option> <option value="00" > Organisme de placement collectif en valeurs mobilières sans personnalité morale </option> <option value="85" > Organisme de retraite à adhésion non obligatoire </option> <option value="81" > Organisme gérant un régime de protection sociale à adhésion obligatoire </option> <option value="82" > Organisme mutualiste </option> <option value="84" > Organisme professionnel </option> <option value="27" > Paroisse hors zone concordataire </option> <option value="31" > Personne morale de droit étranger, immatriculée au RCS (registre du commerce et des sociétés) </option> <option value="32" > Personne morale de droit étranger, non immatriculée au RCS </option> <option value="55" > Société anonyme à conseil d'administration </option> <option value="56" > Société anonyme à directoire </option> <option value="65" > Société civile </option> <option value="63" > Société coopérative agricole </option> <option value="51" > Société coopérative commerciale particulière </option> <option value="22" > Société créée de fait </option> <option value="64" > Société d'assurance mutuelle </option> <option value="53" > Société en commandite </option> <option value="52" > Société en nom collectif </option> <option value="23" > Société en participation </option> <option value="58" > Société européenne </option> <option value="57" > Société par actions simplifiée </option> <option value="54" > Société à responsabilité limitée (SARL) </option> <option value="91" > Syndicat de propriétaires </option> </select> </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="18">n/a</option> </select> </p> <p id="c-fname"> <label for="firstname">Prénom <span class="required">*</span> <span class="help"> ex. Bernard </span> </label> <input type="text" name="firstname" id="firstname" /> </p> <p id="c-lname"> <label for="lastname"> Nom <span class="required">*</span> <span class="help"> ex. Dupond </span> </label> <input type="text" name="lastname" id="lastname" /> </p> </fieldset> <fieldset id="fielset-address"> <p id="c-addr1"> <label for="address1"> Adresse <span class="required">*</span> <span class="help"> ex. 15 rue Jean Jaurès </span> </label> <input type="text" name="address1" id="address1" /> </p> <p id="c-addr2"> <label for="address2"> Complément adresse <span class="help"> ex. Bât. B </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"> ex. 75008 </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"> ex. Paris </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"> ex. France </span> </label> <select name="country" id="country"> <option value="BE">BELGIQUE</option> <option value="FR">FRANCE</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 (Payment plugin) --> <script type='text/javascript'> var $findMyAddressOptions = {"activation":"1","api":"addok","key":"","countries":"","hidden":true,"link":true,"linkText_fr_FR":"Entrez votre adresse manuellement","linkText_en_EN":"Enter your address manually","placeholder_fr_FR":"Commencez \u00e0 taper votre adresse...","placeholder_en_EN":"Start typing your address...","placeholderThirdField_fr_FR":"Adresse 3","placeholderThirdField_en_EN":"Address 3","disableText_fr_FR":"Cliquez ici pour saisir votre adresse manuellement","disableText_en_EN":"Click here to enter your address manually","iconText_fr_FR":"Nous sommes connect\u00e9s \u00e0 une base de donn\u00e9es externe pour faciliter la saisie de votre adresse.","iconText_en_EN":"We are connected to an external database to facilitate the entry of your address.","noResultText_fr_FR":"Aucune adresse trouv\u00e9e pour l'emplacement indiqu\u00e9.","noResultText_en_EN":"No address found for the given location."}; $('head').append('<link rel="stylesheet" type="text/css" href="https://www.faireundon-fmsh.fr/themes/default/fma/dist/payment-find-my-address.min.css?hash=cae6e82ca79fb8c2fb7159756dd2f30e" />'); </script> <script type="text/javascript" src="https://www.faireundon-fmsh.fr/themes/default/fma/dist/payment-find-my-address.min.js?hash=536c68f254031f906ddbad8f227e9c85" ></script> </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>Protection de mes données</h4> <div class="step-info-body"> <p><span style="font-size:14px;">Les données collectées via ce formulaire sont indispensables pour vous envoyer votre reçu fiscal. Les informations que vous nous communiquez dans ce formulaire font l’objet d’un traitement informatique et sont destinées aux personnes habilitées par la FMSH.<br /> <br /> Conformément aux articles 39 et suivants de la Loi Informatique et Libertés et au Règlement Général sur la Protection des Données (RGPD), en justifiant de votre identité, vous bénéficiez de droits d’accès, de rectification, d’effacement ou de portabilité de vos données, du droit de retirer un consentement préalablement donné, ou, pour des motifs légitimes, de vous y opposer totalement ou partiellement, ou encore à en demander la limitation.<br /> <br /> Pour exercer vos différents droits, vous pouvez envoyer un mail au Délégué à la Protection des Données de la FMSH :<strong> dpo@msh-paris.fr </strong>ou envoyer un courrier à : <strong>Service juridique/DPO FMSH 54 boulevard Raspail 75006 Paris.</strong></span></p> </div> </div> <!-- End Step-info --> </div> <!-- End Step-container --> </div> <!-- End Step-2 --> <div id="step-3" class="unit size1of3 lastUnit"> <div class="step-container"> <div class="step-title"> <h2>Mon règlement</h2> </div> <div class="step-content"> <div id="security-info"> <p>Paiements hautement sécurisés grâce à la méthode de cryptage SSL 256 bits, la norme de sécurité la plus élevée.</p> </div> <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 Fondation Maison des Sciences de l'Homme.<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 à Fondation Maison des Sciences de l'Homme (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="d5d73f5e0db9524d_._qpMwEf40fk9H3yRQga09pQ" /> <input type="hidden" name="private_tip_help" value="edf8026b1f93f4a1_._bA-wDz-iwFl8BmHogjVSZA" /> <input type="hidden" name="private_tip_reassurance" value="1c8cce34ab1c1401_._kjpanfQ98KT5isBYQKXg8w" /> <input type="hidden" name="private_tip_amounts" value="c575c8acf1c8a6fd_._sQUp4qJMiQlp8rz6j6j-Jw" /> <input type="hidden" name="private_tip_ux" value="ba3a196f85014398_._7Ux-OMwmhrVr5oBTSE9n_w" /> <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">Paiement par CB.</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="Je valide le montant de {donation_amount_with_currency}" 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="Je valide le montant de {donation_amount_with_currency}" 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: "Fondation Maison des Sciences de l'Homme", 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> <fieldset id="payment_mode-check" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Paiement par chèque.</span> </h4> <div class="payment_body" id="check"> <p id="check-submit" class="payment-submit"> <input name="check_submit" type="submit" value="Je valide le montant de {donation_amount_with_currency}" id="check_submit" class="button" data-scope='check' /> </p> </div> </fieldset> </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">Paiement par CB.</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="Je valide le montant de {donation_amount_with_currency}" 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="Je valide le montant de {donation_amount_with_currency}" 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>Un soutien en toute confiance</h4> <div class="step-info-body"> <p><span style="font-size:14px;">Ce site internet est <strong>100% sécurisé.</strong><br /> <br /> Toutes les informations bancaires pour traiter le paiement sont cryptées grâce au <strong>protocole SSL. </strong> Elles ne sont en aucun cas conservées sur nos systèmes informatiques.</span><br /> <br /> <span style="font-size:14px;">Notre service donateurs est à votre disposition pour répondre à toutes vos questions. N'hésitez pas à nous contacter par e-mail à l'adresse <a href="mailto:contact-ddp@msh-paris.fr">contact-ddp@msh-paris.fr</a> </span></p> <p style="text-align: center;"><br /> <span class="Object-hover" id="OBJ_PREFIX_DWT4676_com_zimbra_phone" role="link"><a href="callto:(0)1 40 48 63 66" onclick="window.top.Com_Zimbra_Phone.unsetOnbeforeunload()"><img alt="" src="https://cdn.iraiser.eu/8o3apfGf69qNZbfoohdpjA==/default/origin/labelIDEAS091020-reserve-RVB.png" style="width: 200px; height: 74px;" /></a></span><br /> la Fondation Maison des Sciences de l'Homme bénéficie du label IDEAS qui atteste du respect des bonnes pratiques en matière de gouvernance, gestion financière et efficacité de l’action.</p> </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://www.faireundon-fmsh.fr/nos-credits" title="Crédits">Crédits</a> <span>|</span> <a href="https://www.faireundon-fmsh.fr/mentions-legales" title="Mentions légales">Mentions légales</a> <span>|</span> <a href="https://www.faireundon-fmsh.fr/contactez-nous" title="Contact">Contact</a> </p> </div> </div> </div> <!-- End Footer --> </div> <!-- End Container --> </body></html>