CINXE.COM

Soutenez notre association

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr_FR" lang="fr_FR"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"/> <title>Soutenez notre association</title> <meta name="description" content="Reporters sans frontières, ONG reconnue d’utilité publique, défend la liberté d’informer et d’être informé partout dans le monde" /> <meta name="keywords" content="journalistes, presse, reporters, otages, censure, information, journaliste, reporter, news" /> <link type="text/css" href="https://donate.rsf.org/themes/default/css/style_v2.css?hash=f8b6806de2accedfb5c1d726ef192c66" rel="stylesheet" /> <script type="text/javascript"> // <![CDATA[ const cacheVersion = "24070"; var gamonitoring_previous_page = sessionStorage.getItem('gamonitoring_previous_page') || document.referrer || "https:\/\/donate.rsf.org"; var gamonitoring_session_id = sessionStorage.getItem('gamonitoring_session_id') || String(Math.floor(Math.random() * 8999999999) + 1000000000)+'.'+String(Math.floor(Date.now()/1000)); var gamonitoring_v2_client_id = gamonitoring_session_id; var gamonitoring_v2_session_id = gamonitoring_v2_client_id.replace(/^.*\./, ''); var gamonitoring_sc = ''; if(!sessionStorage.getItem('gamonitoring_session_id')) gamonitoring_sc = 'start'; if(typeof(monitoringvga)=='undefined'){ monitoringvga=1; monitoring_serialize=serialize=function(n){var e=[];for(var o in n)n.hasOwnProperty(o)&&n[o]&&e.push(encodeURIComponent(o)+"="+encodeURIComponent(n[o]));return e.join("&")}; try{ var head = document.getElementsByTagName('HEAD')[0]; document.addEventListener('DOMContentLoaded', function(event) { var monitoringparams = {z:Math.random(),cid:"donate.rsf.org\/"+gamonitoring_session_id,dl:"https:\/\/donate.rsf.org\/RSF\/b:steps\/cid=32",sc:gamonitoring_sc,dr:gamonitoring_previous_page,cd:"2024-11-27:08.58.46-6746d13673414",dt:window.location.host+'/'+"donations",ul:"fr-FR",ds:"web",}; var inputs = document.querySelectorAll('input[type=hidden][name=context_form_id]'), i; var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'https://monitoring.iraiser.eu/check.css?'+monitoring_serialize(monitoringparams); head.appendChild(link); var input = document.createElement("input"); input.setAttribute("type", "hidden"); input.setAttribute("name", "private_monitoring_session_id"); input.setAttribute("value", "donate.rsf.org\/"+gamonitoring_session_id); for (i = 0; i < inputs.length; ++i) { inputs[i].parentNode.insertBefore(input, inputs[i]); } var link_v2 = document.createElement('link'); monitoringparams.cid = gamonitoring_v2_client_id; monitoringparams.sid = gamonitoring_v2_session_id; link_v2.rel = 'stylesheet'; link_v2.type = 'text/css'; link_v2.href = 'https://monitoring.iraiser.eu/v2/check.css?'+monitoring_serialize(monitoringparams); head.appendChild(link_v2); var input_v2_client_id = document.createElement("input"); input_v2_client_id.setAttribute("type", "hidden"); input_v2_client_id.setAttribute("name", "private_monitoring_v2_client_id"); input_v2_client_id.setAttribute("value", gamonitoring_v2_client_id); var input_v2_session_id = document.createElement("input"); input_v2_session_id.setAttribute("type", "hidden"); input_v2_session_id.setAttribute("name", "private_monitoring_v2_session_id"); input_v2_session_id.setAttribute("value", gamonitoring_v2_session_id); for (i = 0; i < inputs.length; ++i) { inputs[i].parentNode.insertBefore(input_v2_client_id, inputs[i]); inputs[i].parentNode.insertBefore(input_v2_session_id, inputs[i]); } }); window.onerror = function (eventOrMessage, url, lineNumber, colNumber, error) { var monitoringerrorparams = {z:Math.random(),cid:"donate.rsf.org\/"+gamonitoring_session_id,t:"event",ec:"JSError",ev:1,ea:"\/RSF\/b:steps\/cid=32\/",}; if (!eventOrMessage) { return; } if (typeof eventOrMessage !== 'string') { error = eventOrMessage.error; url = eventOrMessage.filename || eventOrMessage.fileName; lineNumber = eventOrMessage.lineno || eventOrMessage.lineNumber; colNumber = eventOrMessage.colno || eventOrMessage.columnNumber; eventOrMessage = eventOrMessage.message || eventOrMessage.name || error.message || error.name; } if (error && error.stack) { eventOrMessage = [eventOrMessage, '; Stack: ', error.stack, '.'].join(''); } var jsFile = (/[^/]+\.js/i.exec(url || '') || [])[0] || 'inline', eventOrMessage = eventOrMessage.replace(/https?\:\/\/[^/]+/gi, '').replace(/[?&]context_form_[^ &]+/gi, ''); stack = [eventOrMessage, ' > ' + jsFile, ':', lineNumber || '?', ':', colNumber || '?'].join('').substring(0,450); monitoringerrorparams.ea += jsFile; monitoringerrorparams.el = stack; var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = 'https://monitoring.iraiser.eu/error.css?'+monitoring_serialize(monitoringerrorparams); head.appendChild(link); monitoringerrorparams.cid = gamonitoring_v2_client_id; monitoringerrorparams.sid = gamonitoring_v2_session_id; var link_v2 = document.createElement('link'); link_v2.rel = 'stylesheet'; link_v2.type = 'text/css'; link_v2.href = 'https://monitoring.iraiser.eu/v2/error.css?'+monitoring_serialize(monitoringerrorparams); head.appendChild(link_v2); } } catch (error) {console.error(error);} sessionStorage.setItem('gamonitoring_previous_page',gamonitoring_previous_page); sessionStorage.setItem('gamonitoring_session_id',gamonitoring_session_id); } // ]]> </script><script type="text/javascript" src="https://donate.rsf.org/themes/default/js/jquery-1.11.2.min.js?hash=5790ead7ad3ba27397aedfa3d263b867" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/jquery.patch.min.js?hash=8c3155becb5ec93b830922ca82081911" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/jquery.cookie-1.0.min.js?hash=6f6ed3cd5486dbf3bb9143eea287a6a5" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/dnterrors.min.js?hash=af6b6c3691e205792b5ad49d7fa92b5a" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/jquery.config.min.js?hash=aae7bb01c8a0e6da615dd41aaafab4b5" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/step1.min.js?hash=ddb0461c6ec36bc51449a0f8bbafad7b" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/step2.min.js?hash=52f2b25c91cfb4ff1b559c7b186e6da6" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/step3.min.js?hash=1cbc70ae6688f4df94453feb30066dcd" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/steps.min.js?hash=0b3621bd88c488f4f53f841cb640a269" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/jquery.ir-priceinput.min.js?hash=07482ff72021c2c53278074abe52347f" ></script> <script type="text/javascript" src="https://donate.rsf.org/themes/default/js/common.min.js?hash=ef2e383a6a180f6fe62a1f93d12c1436" ></script> <script type="text/javascript"> // <![CDATA[ old_console_log = console.log; if(typeof $.cookie == 'undefined' || !$.cookie('DntManager')){ console.log = function(){}; } if(typeof(String.prototype.replaceAll) == 'undefined') String.prototype.replaceAll = String.prototype.replace; var ira_form_version = 'b'; Common.price_pattern = "1,22 \u20ac" Common.price_default_currency = "EUR" Common.price_campaign_currency = "EUR" Common.price_currencies = {"EUR":"\u20ac","USD":"$","AED":"DH","AFN":"AFN","ALL":"Lek","AMD":"AMD","ANG":"ANG","AOA":"Kz","ARS":"$","AUD":"$","AWG":"AWG","AZN":"AZN","BAM":"KM","BBD":"BBD","BDT":"\u09f3","BGN":"\u043b\u0432","BHD":".\u062f.\u0628 ","BIF":"BIF","BMD":"BMD","BND":"B$","BOB":"BOB","BRL":"R$","BSD":"BSD","BTC":"BTC","BTN":"BTN","BWP":"BWP","BYN":"BYN","BYR":"p.","BZD":"BZD","CAD":"$","CDF":"CDF","CHF":"CHF","CLF":"CLF","CLP":"$","CNY":"CN\u00a5","COP":"$","CRC":"CRC","CUC":"CUC","CUP":"CUP","CVE":"CVE","CYP":"\u00a3","CZK":"K\u010d","DJF":"DJF","DKK":"DKK","DOP":"DOP","DZD":"D.A.","EGP":"E\u00a3","ERN":"ERN","ETB":"ETB","FJD":"FJD","FKP":"FKP","GBP":"\u00a3","GEL":"GEL","GGP":"GGP","GHS":"GH\u20b5","GIP":"GIP","GMD":"GMD","GNF":"GNF","GTQ":"Q","GYD":"GYD","HKD":"$","HNL":"HNL","HRK":"kn","HTG":"HTG","HUF":"Ft","IDR":"Rp","ILS":"\u20aa","IMP":"IMP","INR":"\u20b9","IQD":"\u062f.\u0639","IRR":"IRR","ISK":"kr","JEP":"JEP","JMD":"JMD","JOD":"\u062f.\u0623","JPY":"\u00a5","KES":"KES","KGS":"KGS","KHR":"KHR","KMF":"KMF","KPW":"KPW","KRW":"\u20a9","KWD":"\u062f.\u0643 ","KYD":"KYD","KZT":"KZT","LAK":"LAK","LBP":"\u0644.\u0644.","LKR":"LKR","LRD":"LRD","LSL":"LSL","LTL":"LTL","LVL":"LVL","LYD":"LYD","MAD":"\u062f.\u0645","MDL":"MDL","MGA":"MGA","MKD":"\u0434\u0435\u043d","MMK":"MMK","MNT":"MNT","MOP":"MOP","MRO":"MRO","MUR":"MUR","MVR":"MVR","MWK":"MWK","MXN":"MX$","MYR":"RM","MZN":"MZN","NAD":"NAD","NGN":"\u20a6","NIO":"NIO","NOK":"kr","NPR":"NPR","NZD":"$","OMR":"\u0631.\u0639.","PAB":"PAB","PEN":"S\/.","PGK":"PGK","PHP":"\u20b1","PKR":"\u20a8","PLN":"z\u0142","PYG":"Gs","QAR":"QR","RON":"RON","RSD":"RSD","RUB":"\u0440\u0443\u0431","RWF":"RF","SAR":"SR","SBD":"SBD","SCR":"SCR","SDG":"SDG","SEK":"kr","SGD":"$","SHP":"SHP","SLL":"SLL","SOS":"SOS","SRD":"SRD","STD":"STD","SVC":"SVC","SYP":"SYP","SZL":"SZL","THB":"\u0e3f","TJS":"TJS","TMT":"TMT","TND":"DT","TOP":"TOP","TRY":"\u20ba","TTD":"TTD","TWD":"TWD","TZS":"TZS","UAH":"\u20b4","UGX":"UGX","UYU":"$U","UZS":"UZS","VEF":"VEF","VES":"Bs. S","VND":"\u20ab","VUV":"VUV","WST":"WST","XAF":"FCFA","XAG":"XAG","XAU":"XAU","XCD":"XCD","XDR":"XDR","XOF":"CFA","XPF":"XPF","YER":"YER","ZAR":"R","ZMK":"ZMK","ZMW":"ZK","ZWL":"ZWL"} Common.price_rates = {"AED":3.956993,"AFN":73.384976,"ALL":98.092982,"AMD":415.86344,"ANG":1.936492,"AOA":983.059531,"ARS":1070.546996,"AUD":1.623284,"AWG":1.941878,"AZN":1.829496,"BAM":1.953289,"BBD":2.169491,"BDT":128.404924,"BGN":1.955383,"BHD":0.406053,"BIF":3171.992676,"BMD":1.077325,"BND":1.425554,"BOB":7.451421,"BRL":6.134071,"BSD":1.074509,"BTC":1.4166497e-5,"BTN":90.665021,"BWP":14.346423,"BYN":3.516447,"BYR":21115.57004,"BZD":2.165895,"CAD":1.496732,"CDF":3086.53628,"CHF":0.940699,"CLF":0.037391,"CLP":1031.73253,"CNY":7.721837,"CNH":7.669795,"COP":4657.545315,"CRC":548.989129,"CUC":1.077325,"CUP":28.549113,"CVE":110.124447,"CZK":25.264357,"DJF":191.342236,"DKK":7.458051,"DOP":64.596356,"DZD":143.695021,"EGP":53.114601,"ERN":16.159875,"ETB":132.271725,"EUR":1,"FJD":2.437984,"FKP":0.824336,"GBP":0.832207,"GEL":2.93571,"GGP":0.824336,"GHS":17.622508,"GIP":0.824336,"GMD":77.026244,"GNF":9264.0043,"GTQ":8.292301,"GYD":224.803082,"HKD":8.374963,"HNL":27.107899,"HRK":7.421724,"HTG":141.356961,"HUF":404.923322,"IDR":16895.149344,"ILS":4.011797,"IMP":0.824336,"INR":90.896818,"IQD":1407.603465,"IRR":45360.769778,"ISK":148.304868,"JEP":0.824336,"JMD":170.049807,"JOD":0.763929,"JPY":164.46605,"KES":138.608088,"KGS":92.86414,"KHR":4365.347434,"KMF":491.206134,"KPW":969.592259,"KRW":1495.628539,"KWD":0.330394,"KYD":0.895457,"KZT":528.165898,"LAK":23584.461142,"LBP":96577.6337,"LKR":314.402889,"LRD":204.156591,"LSL":18.783278,"LTL":3.18106,"LVL":0.651663,"LYD":5.206259,"MAD":10.626539,"MDL":19.271046,"MGA":4955.583154,"MKD":61.627871,"MMK":3499.109583,"MNT":3660.750387,"MOP":8.602221,"MRU":42.808568,"MUR":49.990431,"MVR":16.602024,"MWK":1863.187411,"MXN":21.337394,"MYR":4.729353,"MZN":68.84645,"NAD":18.783626,"NGN":1811.554287,"NIO":39.538802,"NOK":11.763462,"NPR":145.063162,"NZD":1.796272,"OMR":0.414769,"PAB":1.074519,"PEN":4.061416,"PGK":4.312416,"PHP":62.867291,"PKR":298.632809,"PLN":4.321797,"PYG":8340.200508,"QAR":3.916302,"RON":4.975626,"RSD":117.008358,"RUB":105.57055,"RWF":1472.59318,"SAR":4.046934,"SBD":8.993323,"SCR":15.128581,"SDG":648.01436,"SEK":11.573509,"SGD":1.425764,"SHP":0.824336,"SLE":24.552667,"SLL":22590.963184,"SOS":614.104813,"SRD":37.657896,"STD":22298.452431,"SVC":9.401869,"SYP":2706.811676,"SZL":18.777685,"THB":36.848068,"TJS":11.422063,"TMT":3.770638,"TND":3.343786,"TOP":2.523207,"TRY":37.01951,"TTD":7.288562,"TWD":34.632231,"TZS":2898.003815,"UAH":44.422878,"UGX":3943.966286,"USD":1.077325,"UYU":44.672362,"UZS":13763.433626,"VEF":218043921113.59,"VES":136836.34,"VND":27256.322551,"VUV":127.902221,"WST":3.017786,"XAF":655.108718,"XAG":0.031938,"XAU":0.000396,"XCD":2.911525,"XDR":0.805657,"XOF":655.108718,"XPF":119.331742,"YER":269.169559,"ZAR":18.761211,"ZMK":9697.213435,"ZMW":29.119294,"ZWL":346.898211,"CYP":1.7086,"SSP":633.704955} Common.price_currency_position = "right" Common.price_frequency_texts = {"once":"Je donne une fois","regular":"Je donne tous les mois"} Common.campaign_default_frequency = "once" Step1.tax_reduction_rates = {"ir":[66],"isf":[75,0],"corp":[60],"custom1":[],"custom2":[]}; Step1.tax_reduction_ceils = {"ir":[],"isf":[66666.67],"corp":[],"custom1":[],"custom2":[]}; Step1.tax_reduction_notices = {"ir":"\u00e0 hauteur de 20% du revenu imposable","isf":"","corp":"dans la limite de 5\u2030 du chiffre d'affaires annuel","custom1":"","custom2":""}; Step1.tax_reduction_triggers = {"ir":"0","isf":"0","corp":"0","custom1":"0","custom2":"0"}; Step1.active_tax_reduction = 1; Step1.adapt_tax_bloc = false; Step1.tax_info = "Votre don est d\u00e9ductible \u00e0 hauteur de 66% dans la limite de 20% de vos revenus. Par exemple, un don de 100 euros vous co\u00fbte r\u00e9ellement 34 euros. <br \/>Cette d\u00e9duction n'est valable que pour les personnes imposables en France. "; Step1.is_french_isf = 0; Step1.is_tipping_campaign = 0; Step1.amount_equivalences = {"once":[],"regular":[]} Step1.decimal_sep = ","; Step1.min_once_amount = 2; Step1.max_once_amount = 50000; Step1.min_regular_amount = 2; Step1.max_regular_amount = 10000; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.choose_amount = "Vous devez choisir un montant pour votre don"; DntErrors.errorMsg.min_once_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} "; DntErrors.errorMsg.max_once_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} "; DntErrors.errorMsg.min_regular_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} "; DntErrors.errorMsg.max_regular_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} "; DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire"; DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire"; DntErrors.errorMsg.qualification = "Le champ \u00ab %s \u00bb est obligatoire"; DntErrors.errorMsg.firstname = "Vous devez saisir votre pr\u00e9nom"; DntErrors.errorMsg.lastname = "Vous devez saisir votre nom"; DntErrors.errorMsg.email = "Vous devez saisir une adresse email valide"; DntErrors.errorMsg.company = "La raison sociale ne doit pas d\u00e9passer 70 caract\u00e8res"; DntErrors.errorMsg.company_siren = "Le SIREN est vide ou invalide"; DntErrors.errorMsg.company_status = "La forme juridique est vide ou inconnue"; DntErrors.errorMsg.address1 = "Vous devez saisir votre adresse (38 caract\u00e8res maximum)"; DntErrors.errorMsg.address2 = "Le compl\u00e9ment d'adresse ne doit pas exc\u00e9der 38 caract\u00e8res"; DntErrors.errorMsg.postcode = "Vous devez saisir votre code postal (10 caract\u00e8res maximum)"; DntErrors.errorMsg.city = "Vous devez saisir votre ville (38 caract\u00e8res maximum)"; 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 = "32"; Step3.alert_msg = ""; Step3.modal_qualif = "0"; Step3.modal_qualif_url = "/index.php?module=donations&action=default:modalQualification"; Step3.modal_save_card = "0"; Step3.modal_save_card_url = "/index.php?module=donations&action=default:modalSaveCard"; Step3.modal_save_card_set_url = "/index.php?context_form_id=form_cached_2024-11-27.08:58:46_6746d13671f282.56324793&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; Step3.cards_amex_length=15; Step3.cards_amex_cvvlength=4; Step3.cards_amex_hasalias=1; $(document).ready(function() { Step1.init(); Step2.init(); Steps.init(); Steps.submit(); }); organisation_name = "Reporters sans fronti\u00e8res"; try{ var ira_context_infos = {"form_id":"form_cached_2024-11-27.08:58:46_6746d13671f282.56324793","campaign":"32","version":"b","lang":"fr_FR","amount":{"amount":"0","amount_donation":0,"frequency":"once","free_amount":false,"currency":"EUR"},"reserved":"[]","affectation":null,"_cpn_name_":null}; console.warn(ira_context_infos); }catch(err){} try{ $.cookie('dnt_coords',null,{'path':'/','domain':'.donate.rsf.org'}); }catch(err){} $(document).ready(function() { try{ var context_form_input = $("input[name='context_form_id']"); if(context_form_input){ var context_form_val = context_form_input.val(); if(!context_form_val || context_form_val == 'form_cached'){ context_form_input.val("form_cached_"+Math.floor(Math.random() * 1000000000)); } } if(typeof ira_form_version != 'undefined'){ $('input[name=lang]').after( $('<input type="hidden" name="form_version" />').val(ira_form_version) ); } var dnt_amount = {"amount":"0","amount_donation":0,"frequency":"once","free_amount":false,"currency":"EUR"}; if(typeof Step1 != 'undefined' && dnt_amount){ Step1.initValues(dnt_amount); } }catch(err){} }); // ]]> </script><meta name="viewport" content="width=device-width" /> <link rel="canonical" href="https://donate.rsf.org/~share?cid=32&lang=fr_FR" /> <style type="text/css"> .regularblock { display:none; } body { background: url(/cdn.iraiser.eu/8u5I9gyQQatUmc/0NN6Fgg==/default/origin/000Nic62864011.jpg); } #header { } </style> <script type='text/javascript'> optionsGlobal = ""; optionsCampaign = {"theme":"arya","active_theme":"1","last_version":"1","version":"3","font":"Raleway","font_title":"Raleway","fontsize":"","wedge":"5","--body-background-color":"#FFFFFF","donation_grid":"1","purchase_grid":"2","layout":"2","1_column_direction":"2","widgets_footer":"1","hide_mobile_widget":"1","hide_mobile_reassurance_1":"1","hide_mobile_reassurance_2":"1","hide_mobile_reassurance_3":"0","widgets_header":"1","logo_position":"1","widgets_progress_bar":"false","live_counter_map_sum":"","live_counter_map_count":"","widgets_progress_bar_currency":"","widgets_color_progress_bar_goal":"#010101","widgets_progress_bar_goal":"","widgets_progress_bar_add_amount":"","widgets_progress_bar_add_donors":"","widgets_progress_bar_promt_amount":"","widgets_progress_bar_text_en_EN":"","widgets_progress_bar_text":"","widgets_progress_bar_text_fr_FR":"","widgets_progress_bar_text_es_ES":"","widgets_last_donors":"true","widgets_color_last_donors":"#010101","widgets_last_donors_filter":"10","widgets_last_donors_currency_auto":"1","widgets_last_donors_text_en_EN":"$n just made a donation of $a, thanks !","widgets_last_donors_text":"$n vient de faire un don de $a, merci !","widgets_last_donors_text_fr_FR":"$n vient de faire un don de $a, merci !","widgets_last_donors_text_es_ES":"$n acaba de donar $a, \u00a1gracias!","widgets_cookies_banner":"false","widgets_color_cookies_banner":"#010101","widgets_cookies_banner_text_en_EN":"","widgets_cookies_banner_text":"","widgets_cookies_banner_text_fr_FR":"","widgets_cookies_banner_text_es_ES":"","widgets_cookies_banner_button_en_EN":"","widgets_cookies_banner_button":"","widgets_cookies_banner_button_fr_FR":"","widgets_cookies_banner_button_es_ES":"","widgets_most_popular_once":"true","widgets_most_popular_once_amount":"100","widgets_most_popular_once_title_en_EN":"Most popular","widgets_most_popular_once_title":"Plus populaire","widgets_most_popular_once_title_fr_FR":"Plus populaire","widgets_most_popular_once_title_es_ES":"M\u00e1s popular","widgets_most_popular_once_text_en_EN":"","widgets_most_popular_once_text":"","widgets_most_popular_once_text_fr_FR":"","widgets_most_popular_once_text_es_ES":"","widgets_most_popular_regular":"true","widgets_most_popular_regular_amount":"25","widgets_most_popular_regular_title_en_EN":"Most popular","widgets_most_popular_regular_title":"Plus populaire","widgets_most_popular_regular_title_fr_FR":"Plus populaire","widgets_most_popular_regular_title_es_ES":"M\u00e1s popular","widgets_most_popular_regular_text_en_EN":"","widgets_most_popular_regular_text":"","widgets_most_popular_regular_text_fr_FR":"","widgets_most_popular_regular_text_es_ES":"","--main-action-color":"#E40046","--main-action-color-lighter":"#ff4062","--description-color":"#E40046","--information-color":"#010101","--column-background-color":"#FFFFFFE8","--banner-color":"#030303","--banner-color-darker":"#000000"}; campaign_id = "32"; context_lang = "fr_FR"; campaign_stats = {"count":"21298","sum":"228509014","min":"200","max":"984000","avg":"107.29","progress":"100","last_donators":[{"firstname":"MYRIAM","total":"10000","currency":"EUR","date":"2024-11-26 23:26:00","campaign":"32","city":"ANNECY","message":"","avatar":""},{"firstname":"Serge","total":"6000","currency":"EUR","date":"2024-11-26 22:40:00","campaign":"32","city":"FRONCLES","message":"","avatar":""},{"firstname":"Sylvia","total":"10000","currency":"EUR","date":"2024-11-26 21:53:00","campaign":"32","city":"STUTTGART","message":"","avatar":""},{"firstname":"Ron","total":"4000","currency":"USD","date":"2024-11-26 21:23:00","campaign":"32","city":"SEATTLE","message":"","avatar":""},{"firstname":"Nicola","total":"2000","currency":"EUR","date":"2024-11-26 21:17:00","campaign":"32","city":"SINT-PIETERS-LEEUW","message":"","avatar":""},{"firstname":"Jean-Claude","total":"50000","currency":"EUR","date":"2024-11-26 21:00:00","campaign":"32","city":"78560","message":"","avatar":""},{"firstname":"Mich\u00e8le","total":"10000","currency":"EUR","date":"2024-11-26 14:07:00","campaign":"32","city":"SEVRIER","message":"","avatar":""},{"firstname":"Emmanuel","total":"10000","currency":"EUR","date":"2024-11-26 13:27:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"Michel","total":"2000","currency":"EUR","date":"2024-11-26 12:55:00","campaign":"32","city":"77470 - TRILPORT","message":"","avatar":""},{"firstname":"sandrine","total":"6000","currency":"EUR","date":"2024-11-26 12:51:00","campaign":"32","city":"LAVOUX","message":"","avatar":""},{"firstname":"Nicole","total":"10000","currency":"EUR","date":"2024-11-26 12:20:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"jacques","total":"10000","currency":"EUR","date":"2024-11-26 10:11:00","campaign":"32","city":"SAINT-FORGEUX","message":"","avatar":""},{"firstname":"Isabelle","total":"15000","currency":"EUR","date":"2024-11-25 21:34:00","campaign":"32","city":"URT","message":"","avatar":""},{"firstname":"COLUSSI","total":"3000","currency":"EUR","date":"2024-11-25 20:01:00","campaign":"32","city":"RIGNIEUX LE FRANC","message":"","avatar":""},{"firstname":"Karel et Madeleine","total":"250000","currency":"EUR","date":"2024-11-25 19:13:00","campaign":"32","city":"BLOTZHEIM","message":"","avatar":""},{"firstname":"Patrick","total":"20000","currency":"EUR","date":"2024-11-25 18:48:00","campaign":"32","city":"BRIVE LA GAILLARDE","message":"","avatar":""},{"firstname":"Marie-France","total":"3000","currency":"EUR","date":"2024-11-25 18:15:00","campaign":"32","city":"VILLENAVE D'ORNON","message":"","avatar":""},{"firstname":"marie christine","total":"3000","currency":"EUR","date":"2024-11-25 16:39:00","campaign":"32","city":"THORIGN\u00e9 D'ANJOU","message":"","avatar":""},{"firstname":"Reynold","total":"20000","currency":"EUR","date":"2024-11-25 16:27:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"veronique","total":"1500","currency":"EUR","date":"2024-11-25 15:52:00","campaign":"32","city":"TOUTRY","message":"","avatar":""},{"firstname":"Danielle","total":"3000","currency":"EUR","date":"2024-11-25 13:58:00","campaign":"32","city":"MOLIERES (LES)","message":"","avatar":""},{"firstname":"Jean","total":"6000","currency":"EUR","date":"2024-11-25 11:53:00","campaign":"32","city":"CACHAN","message":"","avatar":""},{"firstname":"Fr\u00e9d\u00e9rique","total":"10000","currency":"EUR","date":"2024-11-25 11:34:00","campaign":"32","city":"BORDEAUX","message":"","avatar":""},{"firstname":"Gabrielle","total":"10000","currency":"EUR","date":"2024-11-25 10:46:00","campaign":"32","city":"RIANTEC","message":"","avatar":""},{"firstname":"Martine","total":"6000","currency":"EUR","date":"2024-11-25 08:24:00","campaign":"32","city":"BLOEMENDAAL","message":"","avatar":""},{"firstname":"Mathieu","total":"12000","currency":"EUR","date":"2024-11-24 23:58:00","campaign":"32","city":"ISSY-LES-MOULINEAUX","message":"","avatar":""},{"firstname":"Prunelle","total":"15000","currency":"EUR","date":"2024-11-24 20:33:00","campaign":"32","city":"BOULAZAC ISLE MANOIRE","message":"","avatar":""},{"firstname":"Franck","total":"4100","currency":"EUR","date":"2024-11-24 18:13:00","campaign":"32","city":"SAINT ANDR\u00e9 SUR ORNE","message":"","avatar":""},{"firstname":"Brigitte","total":"4000","currency":"EUR","date":"2024-11-24 17:03:00","campaign":"32","city":"BRON","message":"","avatar":""},{"firstname":"Nathalie","total":"10000","currency":"EUR","date":"2024-11-24 16:32:00","campaign":"32","city":"LE PERREUX","message":"","avatar":""},{"firstname":"Claudine","total":"3000","currency":"EUR","date":"2024-11-24 16:26:00","campaign":"32","city":"PRUNAY SUR ESSONNE","message":"","avatar":""},{"firstname":"Damien","total":"12600","currency":"EUR","date":"2024-11-24 16:02:00","campaign":"32","city":"RENNES","message":"","avatar":""},{"firstname":"h.","total":"5000","currency":"EUR","date":"2024-11-24 11:41:00","campaign":"32","city":"CHARBONNIERES","message":"","avatar":""},{"firstname":"Josette","total":"2000","currency":"EUR","date":"2024-11-24 11:16:00","campaign":"32","city":"LAMBERSART","message":"","avatar":""},{"firstname":"Nathalie","total":"20000","currency":"EUR","date":"2024-11-24 09:01:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"Nathalie","total":"40000","currency":"EUR","date":"2024-11-24 00:02:00","campaign":"32","city":"SENE","message":"","avatar":""},{"firstname":"Guilhem","total":"30000","currency":"EUR","date":"2024-11-23 17:57:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"Gr\u00e2ce","total":"10000","currency":"EUR","date":"2024-11-23 17:24:00","campaign":"32","city":"LA ROCHELLE","message":"","avatar":""},{"firstname":"Philippe","total":"10000","currency":"EUR","date":"2024-11-23 17:20:00","campaign":"32","city":"LA ROCHELLE","message":"","avatar":""},{"firstname":"Chantal","total":"20000","currency":"EUR","date":"2024-11-23 16:44:00","campaign":"32","city":"BRIAN\u00e7ON","message":"","avatar":""},{"firstname":"Michel","total":"10000","currency":"EUR","date":"2024-11-23 16:26:00","campaign":"32","city":"FEUILLADE","message":"","avatar":""},{"firstname":"L\u00e9one","total":"12000","currency":"EUR","date":"2024-11-23 15:50:00","campaign":"32","city":"AURSEULLES","message":"","avatar":""},{"firstname":"joelle","total":"5000","currency":"EUR","date":"2024-11-23 14:41:00","campaign":"32","city":"CAEN","message":"","avatar":""},{"firstname":"isabelle","total":"2000","currency":"EUR","date":"2024-11-23 13:45:00","campaign":"32","city":"DAMPREMY","message":"","avatar":""},{"firstname":"Philippe","total":"15000","currency":"EUR","date":"2024-11-23 11:59:00","campaign":"32","city":"MONTR\u00e9AL LA CLUSE","message":"","avatar":""},{"firstname":"pierre","total":"6000","currency":"EUR","date":"2024-11-23 11:46:00","campaign":"32","city":"ANNECY","message":"","avatar":""},{"firstname":"nicolas","total":"20000","currency":"EUR","date":"2024-11-23 11:38:00","campaign":"32","city":"GRENOBLE","message":"","avatar":""},{"firstname":"CECILE","total":"4000","currency":"EUR","date":"2024-11-23 09:32:00","campaign":"32","city":"BRUXELLES","message":"","avatar":""},{"firstname":"MICHEL","total":"10000","currency":"EUR","date":"2024-11-23 09:05:00","campaign":"32","city":"L'ISLE D'ABEAU","message":"","avatar":""},{"firstname":"Michel","total":"5000","currency":"EUR","date":"2024-11-22 20:35:00","campaign":"32","city":"BISCHHEIM","message":"","avatar":""}],"date_cache":"2024-11-27"}; campaign_stats_last_donators = [{"firstname":"MYRIAM","total":"10000","currency":"EUR","date":"2024-11-26 23:26:00","campaign":"32","city":"ANNECY","message":"","avatar":""},{"firstname":"Serge","total":"6000","currency":"EUR","date":"2024-11-26 22:40:00","campaign":"32","city":"FRONCLES","message":"","avatar":""},{"firstname":"Sylvia","total":"10000","currency":"EUR","date":"2024-11-26 21:53:00","campaign":"32","city":"STUTTGART","message":"","avatar":""},{"firstname":"Ron","total":"4000","currency":"USD","date":"2024-11-26 21:23:00","campaign":"32","city":"SEATTLE","message":"","avatar":""},{"firstname":"Nicola","total":"2000","currency":"EUR","date":"2024-11-26 21:17:00","campaign":"32","city":"SINT-PIETERS-LEEUW","message":"","avatar":""},{"firstname":"Jean-Claude","total":"50000","currency":"EUR","date":"2024-11-26 21:00:00","campaign":"32","city":"78560","message":"","avatar":""},{"firstname":"Mich\u00e8le","total":"10000","currency":"EUR","date":"2024-11-26 14:07:00","campaign":"32","city":"SEVRIER","message":"","avatar":""},{"firstname":"Emmanuel","total":"10000","currency":"EUR","date":"2024-11-26 13:27:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"Michel","total":"2000","currency":"EUR","date":"2024-11-26 12:55:00","campaign":"32","city":"77470 - TRILPORT","message":"","avatar":""},{"firstname":"sandrine","total":"6000","currency":"EUR","date":"2024-11-26 12:51:00","campaign":"32","city":"LAVOUX","message":"","avatar":""},{"firstname":"Nicole","total":"10000","currency":"EUR","date":"2024-11-26 12:20:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"jacques","total":"10000","currency":"EUR","date":"2024-11-26 10:11:00","campaign":"32","city":"SAINT-FORGEUX","message":"","avatar":""},{"firstname":"Isabelle","total":"15000","currency":"EUR","date":"2024-11-25 21:34:00","campaign":"32","city":"URT","message":"","avatar":""},{"firstname":"COLUSSI","total":"3000","currency":"EUR","date":"2024-11-25 20:01:00","campaign":"32","city":"RIGNIEUX LE FRANC","message":"","avatar":""},{"firstname":"Karel et Madeleine","total":"250000","currency":"EUR","date":"2024-11-25 19:13:00","campaign":"32","city":"BLOTZHEIM","message":"","avatar":""},{"firstname":"Patrick","total":"20000","currency":"EUR","date":"2024-11-25 18:48:00","campaign":"32","city":"BRIVE LA GAILLARDE","message":"","avatar":""},{"firstname":"Marie-France","total":"3000","currency":"EUR","date":"2024-11-25 18:15:00","campaign":"32","city":"VILLENAVE D'ORNON","message":"","avatar":""},{"firstname":"marie christine","total":"3000","currency":"EUR","date":"2024-11-25 16:39:00","campaign":"32","city":"THORIGN\u00e9 D'ANJOU","message":"","avatar":""},{"firstname":"Reynold","total":"20000","currency":"EUR","date":"2024-11-25 16:27:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"veronique","total":"1500","currency":"EUR","date":"2024-11-25 15:52:00","campaign":"32","city":"TOUTRY","message":"","avatar":""},{"firstname":"Danielle","total":"3000","currency":"EUR","date":"2024-11-25 13:58:00","campaign":"32","city":"MOLIERES (LES)","message":"","avatar":""},{"firstname":"Jean","total":"6000","currency":"EUR","date":"2024-11-25 11:53:00","campaign":"32","city":"CACHAN","message":"","avatar":""},{"firstname":"Fr\u00e9d\u00e9rique","total":"10000","currency":"EUR","date":"2024-11-25 11:34:00","campaign":"32","city":"BORDEAUX","message":"","avatar":""},{"firstname":"Gabrielle","total":"10000","currency":"EUR","date":"2024-11-25 10:46:00","campaign":"32","city":"RIANTEC","message":"","avatar":""},{"firstname":"Martine","total":"6000","currency":"EUR","date":"2024-11-25 08:24:00","campaign":"32","city":"BLOEMENDAAL","message":"","avatar":""},{"firstname":"Mathieu","total":"12000","currency":"EUR","date":"2024-11-24 23:58:00","campaign":"32","city":"ISSY-LES-MOULINEAUX","message":"","avatar":""},{"firstname":"Prunelle","total":"15000","currency":"EUR","date":"2024-11-24 20:33:00","campaign":"32","city":"BOULAZAC ISLE MANOIRE","message":"","avatar":""},{"firstname":"Franck","total":"4100","currency":"EUR","date":"2024-11-24 18:13:00","campaign":"32","city":"SAINT ANDR\u00e9 SUR ORNE","message":"","avatar":""},{"firstname":"Brigitte","total":"4000","currency":"EUR","date":"2024-11-24 17:03:00","campaign":"32","city":"BRON","message":"","avatar":""},{"firstname":"Nathalie","total":"10000","currency":"EUR","date":"2024-11-24 16:32:00","campaign":"32","city":"LE PERREUX","message":"","avatar":""},{"firstname":"Claudine","total":"3000","currency":"EUR","date":"2024-11-24 16:26:00","campaign":"32","city":"PRUNAY SUR ESSONNE","message":"","avatar":""},{"firstname":"Damien","total":"12600","currency":"EUR","date":"2024-11-24 16:02:00","campaign":"32","city":"RENNES","message":"","avatar":""},{"firstname":"h.","total":"5000","currency":"EUR","date":"2024-11-24 11:41:00","campaign":"32","city":"CHARBONNIERES","message":"","avatar":""},{"firstname":"Josette","total":"2000","currency":"EUR","date":"2024-11-24 11:16:00","campaign":"32","city":"LAMBERSART","message":"","avatar":""},{"firstname":"Nathalie","total":"20000","currency":"EUR","date":"2024-11-24 09:01:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"Nathalie","total":"40000","currency":"EUR","date":"2024-11-24 00:02:00","campaign":"32","city":"SENE","message":"","avatar":""},{"firstname":"Guilhem","total":"30000","currency":"EUR","date":"2024-11-23 17:57:00","campaign":"32","city":"PARIS","message":"","avatar":""},{"firstname":"Gr\u00e2ce","total":"10000","currency":"EUR","date":"2024-11-23 17:24:00","campaign":"32","city":"LA ROCHELLE","message":"","avatar":""},{"firstname":"Philippe","total":"10000","currency":"EUR","date":"2024-11-23 17:20:00","campaign":"32","city":"LA ROCHELLE","message":"","avatar":""},{"firstname":"Chantal","total":"20000","currency":"EUR","date":"2024-11-23 16:44:00","campaign":"32","city":"BRIAN\u00e7ON","message":"","avatar":""},{"firstname":"Michel","total":"10000","currency":"EUR","date":"2024-11-23 16:26:00","campaign":"32","city":"FEUILLADE","message":"","avatar":""},{"firstname":"L\u00e9one","total":"12000","currency":"EUR","date":"2024-11-23 15:50:00","campaign":"32","city":"AURSEULLES","message":"","avatar":""},{"firstname":"joelle","total":"5000","currency":"EUR","date":"2024-11-23 14:41:00","campaign":"32","city":"CAEN","message":"","avatar":""},{"firstname":"isabelle","total":"2000","currency":"EUR","date":"2024-11-23 13:45:00","campaign":"32","city":"DAMPREMY","message":"","avatar":""},{"firstname":"Philippe","total":"15000","currency":"EUR","date":"2024-11-23 11:59:00","campaign":"32","city":"MONTR\u00e9AL LA CLUSE","message":"","avatar":""},{"firstname":"pierre","total":"6000","currency":"EUR","date":"2024-11-23 11:46:00","campaign":"32","city":"ANNECY","message":"","avatar":""},{"firstname":"nicolas","total":"20000","currency":"EUR","date":"2024-11-23 11:38:00","campaign":"32","city":"GRENOBLE","message":"","avatar":""},{"firstname":"CECILE","total":"4000","currency":"EUR","date":"2024-11-23 09:32:00","campaign":"32","city":"BRUXELLES","message":"","avatar":""},{"firstname":"MICHEL","total":"10000","currency":"EUR","date":"2024-11-23 09:05:00","campaign":"32","city":"L'ISLE D'ABEAU","message":"","avatar":""},{"firstname":"Michel","total":"5000","currency":"EUR","date":"2024-11-22 20:35:00","campaign":"32","city":"BISCHHEIM","message":"","avatar":""}]; campaign_currency = "EUR"; iraiser_counter = ''; client_livecounter = "rsf"; bymonth = 'par mois'; i18n = []; checkoutPage = ''; </script> <script id="javascript_arya" type="text/javascript" src="https://donate.rsf.org/themes/default/arya/dist/v3.14/arya.js?v=24070" ></script> <link type="text/css" href="https://donate.rsf.org/themes/default/arya/dist/v3.14/arya.css?v=24070" rel="stylesheet" /> <!-- TODO : confirmer le comportement souhaité car la custo ajoute aussi des champs de choix de currency --> <script> var currencies = {"GBP":{"symbol":"\u00a3","order":"3"},"EUR":{"symbol":"\u20ac","order":"2"},"USD":{"symbol":"$","order":"1"}}; var translations = {"en_EN":{"currency":"Currency","cardType":"Please select your card type"},"fr_FR":{"currency":"Devise","cardType":"S\u00e9lectionnez votre type de carte bancaire"},"es_ES":{"currency":"Moneda","cardType":"Seleccione el tipo de tarjeta"}}; var lang = 'fr_FR'; var defaultCurrency = 'EUR'; var page = 'form'; </script> <script type="text/javascript" src="/libs.iraiser.eu/libs/themes/arya/js.cookie.js?v=5" ></script> <script type="text/javascript" src="/libs.iraiser.eu/users/reporters-sans-frontieres/script.js?v=1"></script> <style> #type-b.arya #c-currency { margin: 0 auto 20px; padding: 0 20px; } </style> <!-- --> <script> $( document ).ready(function() { const currencyElement = document.querySelector("#currency"); }) </script> <!-- recup <script type="text/javascript"> $(document).ready(function(){ $( "#header" ).wrap( "<div class='header-fixed'></div>" ); }); </script> <style type="text/css"> body, html { overflow-x: hidden; } body { font-family: 'Open Sans', sans-serif; } #logo a:after { font-weight: 800; vertical-align: middle; font-size: 24px; color: #999999; margin-left: 10px; } @media only screen and (max-width: 767px) { #logo a:after { display: inline-block; } } html[lang="fr_FR"] #type-b #logo a:after { content: "Nous soutenir"; } html[lang="en_EN"] #type-b #logo a:after { content: "Support us"; } html[lang="fr_FR"] #type-a #logo a:after { content: "Adhésion"; } html[lang="en_EN"] #type-a #logo a:after { content: "Membership"; } #container { overflow: initial; } .header-fixed { position: relative; top: 0; left: 0; width: 100%; background: #fff; } .header-fixed:before { content:""; background: #fff; position: absolute; top: 0; left: -200%; width: 400%; height: 100%; z-index: 1; } #header { position: relative; width: 940px; margin: 0 auto; z-index: 2; } @media only screen and (max-width: 959px) and (min-width: 768px) { #header { width: 768px; } } @media only screen and (max-width: 767px) and (min-width: 480px) { #header { width: 420px; } } @media only screen and (max-width: 767px) { #header { width: auto; } } #header .lastUnit { float: none; display: table-cell; width: 9999em; padding: 15px 0 0; } #type-a #header .lastUnit { padding: 25px 0 0; } @media only screen and (max-width: 767px) { #header .lastUnit { display: block; padding: 0; } } #logo { padding: 0; } #logo h1, #logo a, #logo img { padding: 5px 0; display: inline-block; float: none; vertical-align: middle; text-decoration :none; } #lang p { font-weight: 800; text-transform: uppercase; padding: 10px 0 5px; text-align: left; } #lang a { text-decoration: none; transition: all .3s; } #lang a:hover, #lang a:focus { color: #FC3433; } #lang a.current { color: #FC3433; } #type-a #navbar { margin: 30px 0; height: 47px; } #type-a #navbar #security-info { padding: 0; float: none; } @media only screen and (max-width: 959px) { #type-a #navbar #security-info { width: 40% !important; float: right !important; } } #step-nav { padding: 0; background: #fff; } @media only screen and (max-width: 959px) { #step-nav { width: 20% !important; } } @media only screen and (max-width: 767px) { #step-nav { width: 40% !important; } } #form-steps { padding: 50px 0 0; } #step-nav ul { padding: 0; font-size: 16px; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; width: 100%; } #step-nav ul li { padding: 14px 0; flex-grow: 1; margin-right: 0; text-align: center; position: relative; } #step-nav ul li.current:after { content: ""; position: absolute; right: -20px; top: 0; width: 0; height: 0; border-style: solid; border-width: 24px 0 24px 20px; border-color: transparent transparent transparent #FC3433; } #step-nav li.current { background: #FC3433; font-weight: 800; } #step-nav li span { display: none; } #c-city { width: 50%; } #step-nav ul li.current a { color: #fff; } #type-a #main-container, #type-a #navbar { display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; } @media only screen and (max-width: 959px) { #type-a #main-container, #type-a #navbar { display: block; } } #main { } #type-a .bis { padding: 0; } .step-title h2 { font-family: 'Open Sans', sans-serif; font-weight: 800; font-size: 25px; color: #000; } .unit { box-sizing: border-box; padding: 0 10px; } @media only screen and (max-width: 959px) and (min-width: 768px) { .unit#logo { width: 75% !important; float: left !important; } .unit#lang { width: 25% !important; } } #form-info { background: none; border: none; font-weight: 800; font-size: 24px; text-align: center; color: #fff; padding: 0 20px; margin: 50px 0 30px; } @media only screen and (max-width: 959px) { #form-info { color: #000; font-size: 20px; } } #form-error { background: #fff; border-color: #FC3433; color: #FC3433; } #form-error h3 { font-weight: 800; font-size: 20px; color: #FC3433; } #form-error li { list-style: disc; color: #FC3433; } .step-container { background: #fff; } #type-a #content { background: #fff; } #type-a #sidebar { background: #f2f1f3; } #type-a #sidebar .step-info h4{ color: #000; font-size: 21px; font-weight: 800; font-weight: normal; } #once { border: 0; } #type-a #once { background: none; color: #000; float: none; width: 100%; padding: 0; height: auto !important; } #type-a #once h3 { font-weight: 800; font-size: 30px; text-transform: initial; } #type-b #once { background: #000; color: #fff; } #type-b #once .bloc-content h3 { color: #fff; } #type-a #or { display: none; } #type-a #regular { height: auto !important; float: none; width: 100%; } #type-b #regular { background: #FC3433; color: #fff; } #type-a #regular .bloc-content h3 { color: #000; font-size: 30px; font-weight: 800; text-transform: initial; margin-bottom: 20px; } #type-b #regular .bloc-content h3 { background: #FC3433; color: #fff; } #type-b #regular .radio-inline { color: #fff; } .step-container .step-info { background: #F2F1F3; color: #000; } .step-container .step-info h4 { color: #000; font-weight: 300; font-size: 21px; font-weight: normal; } #contact-info { background: #fff; border: 0; } .payment-submit input { width: auto; } @media only screen and (max-width: 959px) { .#type-a payment-submit input { width: auto; } } .lastUnit { float: left; display:block; width: 33.3333%; } #security-info { padding: 0 10px; } #security-info img { width: 100%; } #type-a .radio-desc { color: #000; } #type-a .radio-desc li { overflow: initial; } #type-a .radio-desc span { color: #FC3433; } #type-a #regular .tax-info strong, #type-a #regular .isf-info strong, #type-a #once .tax-info strong, #type-a #once .isf-info strong { color: #000; } #type-b #regular .tax-info strong, #type-b #regular .isf-info strong, #type-b #once .tax-info strong, #type-b #once .isf-info strong { color: #fff; } #type-b #step-2 input:not(.button), #type-b #step-3 input:not(.button) { width: 100%; padding: 10px 10px; border: 1px solid #8B8A89; box-sizing: border-box; } #step-3 .payment-submit input { border: 0; } .button { max-width: 100%; } .help { font-size: 10px; } #step-3 .help { width: 100%; box-sizing: border-box; padding: 0; } #type-a #cb-bloc { border: 0; } #type-a #cb-bloc h4 { color: #000; } #card-scode #scode { width: 25%; padding: 5px; } #greetings, #postmail-content { background: #fff; border: 0; margin: 60px auto 0; width: 60%; } @media only screen and (max-width: 767px) { #greetings, #postmail-content { width: 100%; } } #greetings .unit, #postmail-content .unit { float: none; width: 100%; margin: 0 auto; } #greetings-text h2, #postmail-content h3 { text-align: left; font-weight: 800; font-size: 24px; } #copyright { float: right; padding: 10px 0; } #copyright p { padding: 0; } #copyright a, #copyright span { color: #fff; } .dollar-payment { display:block; text-align: left; cursor: pointer, } .dollar-payment:hover:after { color: #FC3433; } .dollar-payment:after { content:""; font-weight: 800; vertical-align: middle; font-size: 14px; color: #000; transition : all .3s; } html[lang="fr_FR"] .dollar-payment:after { content: "Payer en dollars"; } html[lang="en_EN"] .dollar-payment:after { content: "Pay in dollars"; } </style> --> </head><body id="type-b" > <div id="container"> <div id="header" class="line"> <div class="container" id="header_wrapinner"> <div id="logo" class="unit size3of4"> <h1><a href="https://rsf.org/" title="Reporters sans frontières"><img src="/cdn.iraiser.eu/8u5I9gyQQatUmc/0NN6Fgg==/default/origin/RSFlogoFRC-ConvertImage.png" alt="Reporters sans frontières"/></a></h1> </div> <!-- End Logo --> <div id="lang" class="unit size1of4 lastUnit"> <form action="/index.php" method="get" id="form_lang"> <fieldset> <p> <label> <span>Langues :</span> <select name="lang"> <option data-value="en_EN" value="/b/my-donation?cid=32&_cv=1">English</option> <option data-value="fr_FR" value="/b/mon-don?cid=32&_cv=1" selected="selected">Fran&ccedil;ais</option> <option data-value="es_ES" value="/b/mi-donativo?cid=32&_cv=1">Espa&ntilde;ol</option> </select> </label> </p> </fieldset> </form> <script> let searchParams = new URLSearchParams(window.location.search) if (searchParams.has('ns_ira_cr_arg')) { let param = encodeURIComponent(searchParams.get('ns_ira_cr_arg')) $('#form_lang select[name=lang]>option').each(function() { const newUrl = $(this).val() + '&ns_ira_cr_arg=' + param; $(this).val(newUrl); }); } $('#form_lang select[name=lang]').change(function(){ window.location.href = $(this).val(); }); </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"> <noscript> </noscript> <form action="/b/steps/save" method="post" id="form-steps" autocomplete="off"> <input type="hidden" name="context_form" value="" /> <input type="hidden" name="context_form_id" value="" /> <input type="hidden" name="cid" value="32" /> <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 donne une fois</h3> <div id="bloc-amount-once"> <fieldset class="amount"> <ul class="radio-inline line" id="amount-list-once"> <li><label><span id="value_of_amount-once-6000"><data class='price_amount'>60</data>&nbsp;<data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="6000" id="amount-once-6000" /></label></li> <li><label><span id="value_of_amount-once-10000"><data class='price_amount'>100</data>&nbsp;<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-20000"><data class='price_amount'>200</data>&nbsp;<data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-once" type="radio" value="20000" id="amount-once-20000" /></label></li> </ul> </fieldset> <div class="amount-equivalences"> <p class="amount-equivalences-img"></p> <p class="amount-equivalences-description"></p> </div> <fieldset class="free-amount"> <p><label>Montant libre <input autocomplete="section-famount" name="famount-once" type="text" size="6" id="famount-once" /> <span class="price_currency">€</span> </label></p> </fieldset> <p class="tax-info"></p> <!--<input type="hidden" value="" name="iraiser_analytics_session_id" id="iraiser_analytics_session_id"/>--> <input type="hidden" name="referrer" /> <script type="text/javascript"> try{ $("input[name=referrer]").val(document.referrer); if(document.location.search.indexOf('_cv')>1) { $('input[name=referrer]').after($('<input type="hidden" name="query_string" />').val(document.location.search.substring(1))); } }catch(e){} </script> </div> </div> </div> <!-- End Once --> <div class="onceblock"> </div> <div id="or"> <p>ou</p> </div> <div id="regular" class="bloc"> <div class="bloc-content"> <h3>Je donne tous les mois</h3> <div id="bloc-amount-regular"> <fieldset class="amount"> <ul class="radio-inline line" id="amount-list-regular"> <li><label><span id="value_of_amount-regular-1000"><data class='price_amount'>10</data>&nbsp;<data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="1000" id="amount-regular-1000" /></label></li> <li><label><span id="value_of_amount-regular-2500"><data class='price_amount'>25</data>&nbsp;<data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="2500" id="amount-regular-2500" /></label></li> <li><label><span id="value_of_amount-regular-3500"><data class='price_amount'>35</data>&nbsp;<data class='price_currency'>€</data></span> <input autocomplete="false" name="amount-regular" type="radio" value="3500" id="amount-regular-3500" /></label></li> </ul> </fieldset> <div class="amount-equivalences"> <p class="amount-equivalences-img"></p> <p class="amount-equivalences-description"></p> </div> <fieldset class="free-amount"> <p><label>Montant libre <input autocomplete="section-famount" name="famount-regular" type="text" size="6" id="famount-regular" /> <span class="price_currency">€</span> </label></p> </fieldset> <p class="tax-info"></p> <!--<input type="hidden" value="" name="iraiser_analytics_session_id" id="iraiser_analytics_session_id"/>--> <input type="hidden" name="referrer" /> <script type="text/javascript"> try{ $("input[name=referrer]").val(document.referrer); if(document.location.search.indexOf('_cv')>1) { $('input[name=referrer]').after($('<input type="hidden" name="query_string" />').val(document.location.search.substring(1))); } }catch(e){} </script> </div> </div> </div> <!-- End Each-month --> <div class="regularblock"> </div> <div> </div> </div> <!-- End Step-content --> <div class="step-info"> <h4>Pourquoi donner ?</h4> <div class="step-info-body"> <p>Reporters sans fronti&egrave;res :</p> <ul> <li><strong>D&eacute;fend les journalistes</strong> et collaborateurs des m&eacute;dias emprisonn&eacute;s ou pers&eacute;cut&eacute;s pour leur activit&eacute; professionnelle, et d&eacute;nonce les mauvais traitements et la torture dont ils sont victimes dans de nombreux Etats</li> <li><strong>Lutte pour faire reculer la censure</strong> et combat les lois visant &agrave; restreindre la libert&eacute; de la presse</li> <li>Accorde chaque ann&eacute;e presque trois cent bourses d’assistance afin de <strong>venir en aide &agrave; un journaliste ou &agrave; un m&eacute;dia en difficult&eacute;</strong> (frais d’avocats, frais m&eacute;dicaux, achat de mat&eacute;riel, etc.), ainsi qu’aux familles de reporters emprisonn&eacute;s</li> <li>Agit pour <strong>am&eacute;liorer la s&eacute;curit&eacute; des journalistes</strong>, notamment dans les zones de conflit.</li> </ul> Au-del&agrave; de 100 EUR de don, et sauf mention contraire de votre part adress&eacute;e &agrave; <a href="mailto:don@rsf.org" target="_blank">don@rsf.org</a>, chaque donateur est consid&eacute;r&eacute; comme membre bienfaiteur de Reporters sans fronti&egrave;res. </div> </div> <!-- End Step-info --> </div> <!-- End Step-container --> </div> <!-- End Step-1 --> <div id="step-2" class="unit size1of3"> <div class="step-container"> <div class="step-title"> <h2>Mes coordonnées</h2> </div> <div class="step-content"> <fieldset id="fielset-step2-connect" class="step2_connect_block "> <h4 class="step2_head">Je me connecte et valide mon paiement en un clic</h4> <fieldset id="paypal-connect" class=""> <div type="submit" class="button paypal_button" name="paypal_connect" data-scope="paypal" id="paypal_connect"> <div class="paypal_img"> <img style="height: 20px;" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAyNCAzMiIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCIgeG1sbnM9Imh0dHA6JiN4MkY7JiN4MkY7d3d3LnczLm9yZyYjeDJGOzIwMDAmI3gyRjtzdmciPjxwYXRoIGZpbGw9IiMwMDljZGUiIG9wYWNpdHk9IjEiIGQ9Ik0gMjAuOTI0IDcuMTU3IEMgMjEuMjA0IDUuMDU3IDIwLjkyNCAzLjY1NyAxOS44MDEgMi4zNTcgQyAxOC41ODMgMC45NTcgMTYuNDMgMC4yNTcgMTMuNzE2IDAuMjU3IEwgNS43NTggMC4yNTcgQyA1LjI5IDAuMjU3IDQuNzI5IDAuNzU3IDQuNjM0IDEuMjU3IEwgMS4zNTggMjMuNDU3IEMgMS4zNTggMjMuODU3IDEuNjM5IDI0LjM1NyAyLjEwNyAyNC4zNTcgTCA2Ljk3NSAyNC4zNTcgTCA2LjY5NCAyNi41NTcgQyA2LjYgMjYuOTU3IDYuODgxIDI3LjI1NyA3LjI1NSAyNy4yNTcgTCAxMS4zNzUgMjcuMjU3IEMgMTEuODQ0IDI3LjI1NyAxMi4zMTEgMjYuOTU3IDEyLjQwNSAyNi40NTcgTCAxMi40MDUgMjYuMTU3IEwgMTMuMjQ3IDIwLjk1NyBMIDEzLjI0NyAyMC43NTcgQyAxMy4zNDEgMjAuMjU3IDEzLjgwOSAxOS44NTcgMTQuMjc3IDE5Ljg1NyBMIDE0Ljg0IDE5Ljg1NyBDIDE4Ljg2NCAxOS44NTcgMjEuOTU0IDE4LjE1NyAyMi44OSAxMy4xNTcgQyAyMy4zNTggMTEuMDU3IDIzLjE3MiA5LjM1NyAyMi4wNDggOC4xNTcgQyAyMS43NjcgNy43NTcgMjEuMjk4IDcuNDU3IDIwLjkyNCA3LjE1NyBMIDIwLjkyNCA3LjE1NyI+PC9wYXRoPjxwYXRoIGZpbGw9IiMwMTIxNjkiIG9wYWNpdHk9IjEiIGQ9Ik0gMjAuOTI0IDcuMTU3IEMgMjEuMjA0IDUuMDU3IDIwLjkyNCAzLjY1NyAxOS44MDEgMi4zNTcgQyAxOC41ODMgMC45NTcgMTYuNDMgMC4yNTcgMTMuNzE2IDAuMjU3IEwgNS43NTggMC4yNTcgQyA1LjI5IDAuMjU3IDQuNzI5IDAuNzU3IDQuNjM0IDEuMjU3IEwgMS4zNTggMjMuNDU3IEMgMS4zNTggMjMuODU3IDEuNjM5IDI0LjM1NyAyLjEwNyAyNC4zNTcgTCA2Ljk3NSAyNC4zNTcgTCA4LjI4NiAxNi4wNTcgTCA4LjE5MiAxNi4zNTcgQyA4LjI4NiAxNS43NTcgOC43NTQgMTUuMzU3IDkuMzE1IDE1LjM1NyBMIDExLjY1NSAxNS4zNTcgQyAxNi4yNDMgMTUuMzU3IDE5LjgwMSAxMy4zNTcgMjAuOTI0IDcuNzU3IEMgMjAuODMxIDcuNDU3IDIwLjkyNCA3LjM1NyAyMC45MjQgNy4xNTciPjwvcGF0aD48cGF0aCBmaWxsPSIjMDAzMDg3IiBvcGFjaXR5PSIxIiBkPSJNIDkuNTA0IDcuMTU3IEMgOS41OTYgNi44NTcgOS43ODQgNi41NTcgMTAuMDY1IDYuMzU3IEMgMTAuMjUxIDYuMzU3IDEwLjM0NSA2LjI1NyAxMC41MzIgNi4yNTcgTCAxNi43MTEgNi4yNTcgQyAxNy40NjEgNi4yNTcgMTguMjA4IDYuMzU3IDE4Ljc3MiA2LjQ1NyBDIDE4Ljk1OCA2LjQ1NyAxOS4xNDYgNi40NTcgMTkuMzMzIDYuNTU3IEMgMTkuNTIgNi42NTcgMTkuNzA3IDYuNjU3IDE5LjgwMSA2Ljc1NyBDIDE5Ljg5NCA2Ljc1NyAxOS45ODcgNi43NTcgMjAuMDgyIDYuNzU3IEMgMjAuMzYyIDYuODU3IDIwLjY0MyA3LjA1NyAyMC45MjQgNy4xNTcgQyAyMS4yMDQgNS4wNTcgMjAuOTI0IDMuNjU3IDE5LjgwMSAyLjI1NyBDIDE4LjY3NyAwLjg1NyAxNi41MjUgMC4yNTcgMTMuODA5IDAuMjU3IEwgNS43NTggMC4yNTcgQyA1LjI5IDAuMjU3IDQuNzI5IDAuNjU3IDQuNjM0IDEuMjU3IEwgMS4zNTggMjMuNDU3IEMgMS4zNTggMjMuODU3IDEuNjM5IDI0LjM1NyAyLjEwNyAyNC4zNTcgTCA2Ljk3NSAyNC4zNTcgTCA4LjI4NiAxNi4wNTcgTCA5LjUwNCA3LjE1NyBaIj48L3BhdGg+PC9zdmc+" alt="PP"> <img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjMyIiB2aWV3Qm94PSIwIDAgMTAwIDMyIiB4bWxucz0iaHR0cDomI3gyRjsmI3gyRjt3d3cudzMub3JnJiN4MkY7MjAwMCYjeDJGO3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaW4gbWVldCI+PHBhdGggZmlsbD0iIzAwMzA4NyIgZD0iTSAxMiA0LjkxNyBMIDQuMiA0LjkxNyBDIDMuNyA0LjkxNyAzLjIgNS4zMTcgMy4xIDUuODE3IEwgMCAyNS44MTcgQyAtMC4xIDI2LjIxNyAwLjIgMjYuNTE3IDAuNiAyNi41MTcgTCA0LjMgMjYuNTE3IEMgNC44IDI2LjUxNyA1LjMgMjYuMTE3IDUuNCAyNS42MTcgTCA2LjIgMjAuMjE3IEMgNi4zIDE5LjcxNyA2LjcgMTkuMzE3IDcuMyAxOS4zMTcgTCA5LjggMTkuMzE3IEMgMTQuOSAxOS4zMTcgMTcuOSAxNi44MTcgMTguNyAxMS45MTcgQyAxOSA5LjgxNyAxOC43IDguMTE3IDE3LjcgNi45MTcgQyAxNi42IDUuNjE3IDE0LjYgNC45MTcgMTIgNC45MTcgWiBNIDEyLjkgMTIuMjE3IEMgMTIuNSAxNS4wMTcgMTAuMyAxNS4wMTcgOC4zIDE1LjAxNyBMIDcuMSAxNS4wMTcgTCA3LjkgOS44MTcgQyA3LjkgOS41MTcgOC4yIDkuMzE3IDguNSA5LjMxNyBMIDkgOS4zMTcgQyAxMC40IDkuMzE3IDExLjcgOS4zMTcgMTIuNCAxMC4xMTcgQyAxMi45IDEwLjUxNyAxMy4xIDExLjIxNyAxMi45IDEyLjIxNyBaIj48L3BhdGg+PHBhdGggZmlsbD0iIzAwMzA4NyIgZD0iTSAzNS4yIDEyLjExNyBMIDMxLjUgMTIuMTE3IEMgMzEuMiAxMi4xMTcgMzAuOSAxMi4zMTcgMzAuOSAxMi42MTcgTCAzMC43IDEzLjYxNyBMIDMwLjQgMTMuMjE3IEMgMjkuNiAxMi4wMTcgMjcuOCAxMS42MTcgMjYgMTEuNjE3IEMgMjEuOSAxMS42MTcgMTguNCAxNC43MTcgMTcuNyAxOS4xMTcgQyAxNy4zIDIxLjMxNyAxNy44IDIzLjQxNyAxOS4xIDI0LjgxNyBDIDIwLjIgMjYuMTE3IDIxLjkgMjYuNzE3IDIzLjggMjYuNzE3IEMgMjcuMSAyNi43MTcgMjkgMjQuNjE3IDI5IDI0LjYxNyBMIDI4LjggMjUuNjE3IEMgMjguNyAyNi4wMTcgMjkgMjYuNDE3IDI5LjQgMjYuNDE3IEwgMzIuOCAyNi40MTcgQyAzMy4zIDI2LjQxNyAzMy44IDI2LjAxNyAzMy45IDI1LjUxNyBMIDM1LjkgMTIuNzE3IEMgMzYgMTIuNTE3IDM1LjYgMTIuMTE3IDM1LjIgMTIuMTE3IFogTSAzMC4xIDE5LjMxNyBDIDI5LjcgMjEuNDE3IDI4LjEgMjIuOTE3IDI1LjkgMjIuOTE3IEMgMjQuOCAyMi45MTcgMjQgMjIuNjE3IDIzLjQgMjEuOTE3IEMgMjIuOCAyMS4yMTcgMjIuNiAyMC4zMTcgMjIuOCAxOS4zMTcgQyAyMy4xIDE3LjIxNyAyNC45IDE1LjcxNyAyNyAxNS43MTcgQyAyOC4xIDE1LjcxNyAyOC45IDE2LjExNyAyOS41IDE2LjcxNyBDIDMwIDE3LjQxNyAzMC4yIDE4LjMxNyAzMC4xIDE5LjMxNyBaIj48L3BhdGg+PHBhdGggZmlsbD0iIzAwMzA4NyIgZD0iTSA1NS4xIDEyLjExNyBMIDUxLjQgMTIuMTE3IEMgNTEgMTIuMTE3IDUwLjcgMTIuMzE3IDUwLjUgMTIuNjE3IEwgNDUuMyAyMC4yMTcgTCA0My4xIDEyLjkxNyBDIDQzIDEyLjQxNyA0Mi41IDEyLjExNyA0Mi4xIDEyLjExNyBMIDM4LjQgMTIuMTE3IEMgMzggMTIuMTE3IDM3LjYgMTIuNTE3IDM3LjggMTMuMDE3IEwgNDEuOSAyNS4xMTcgTCAzOCAzMC41MTcgQyAzNy43IDMwLjkxNyAzOCAzMS41MTcgMzguNSAzMS41MTcgTCA0Mi4yIDMxLjUxNyBDIDQyLjYgMzEuNTE3IDQyLjkgMzEuMzE3IDQzLjEgMzEuMDE3IEwgNTUuNiAxMy4wMTcgQyA1NS45IDEyLjcxNyA1NS42IDEyLjExNyA1NS4xIDEyLjExNyBaIj48L3BhdGg+PHBhdGggZmlsbD0iIzAwOWNkZSIgZD0iTSA2Ny41IDQuOTE3IEwgNTkuNyA0LjkxNyBDIDU5LjIgNC45MTcgNTguNyA1LjMxNyA1OC42IDUuODE3IEwgNTUuNSAyNS43MTcgQyA1NS40IDI2LjExNyA1NS43IDI2LjQxNyA1Ni4xIDI2LjQxNyBMIDYwLjEgMjYuNDE3IEMgNjAuNSAyNi40MTcgNjAuOCAyNi4xMTcgNjAuOCAyNS44MTcgTCA2MS43IDIwLjExNyBDIDYxLjggMTkuNjE3IDYyLjIgMTkuMjE3IDYyLjggMTkuMjE3IEwgNjUuMyAxOS4yMTcgQyA3MC40IDE5LjIxNyA3My40IDE2LjcxNyA3NC4yIDExLjgxNyBDIDc0LjUgOS43MTcgNzQuMiA4LjAxNyA3My4yIDYuODE3IEMgNzIgNS42MTcgNzAuMSA0LjkxNyA2Ny41IDQuOTE3IFogTSA2OC40IDEyLjIxNyBDIDY4IDE1LjAxNyA2NS44IDE1LjAxNyA2My44IDE1LjAxNyBMIDYyLjYgMTUuMDE3IEwgNjMuNCA5LjgxNyBDIDYzLjQgOS41MTcgNjMuNyA5LjMxNyA2NCA5LjMxNyBMIDY0LjUgOS4zMTcgQyA2NS45IDkuMzE3IDY3LjIgOS4zMTcgNjcuOSAxMC4xMTcgQyA2OC40IDEwLjUxNyA2OC41IDExLjIxNyA2OC40IDEyLjIxNyBaIj48L3BhdGg+PHBhdGggZmlsbD0iIzAwOWNkZSIgZD0iTSA5MC43IDEyLjExNyBMIDg3IDEyLjExNyBDIDg2LjcgMTIuMTE3IDg2LjQgMTIuMzE3IDg2LjQgMTIuNjE3IEwgODYuMiAxMy42MTcgTCA4NS45IDEzLjIxNyBDIDg1LjEgMTIuMDE3IDgzLjMgMTEuNjE3IDgxLjUgMTEuNjE3IEMgNzcuNCAxMS42MTcgNzMuOSAxNC43MTcgNzMuMiAxOS4xMTcgQyA3Mi44IDIxLjMxNyA3My4zIDIzLjQxNyA3NC42IDI0LjgxNyBDIDc1LjcgMjYuMTE3IDc3LjQgMjYuNzE3IDc5LjMgMjYuNzE3IEMgODIuNiAyNi43MTcgODQuNSAyNC42MTcgODQuNSAyNC42MTcgTCA4NC4zIDI1LjYxNyBDIDg0LjIgMjYuMDE3IDg0LjUgMjYuNDE3IDg0LjkgMjYuNDE3IEwgODguMyAyNi40MTcgQyA4OC44IDI2LjQxNyA4OS4zIDI2LjAxNyA4OS40IDI1LjUxNyBMIDkxLjQgMTIuNzE3IEMgOTEuNCAxMi41MTcgOTEuMSAxMi4xMTcgOTAuNyAxMi4xMTcgWiBNIDg1LjUgMTkuMzE3IEMgODUuMSAyMS40MTcgODMuNSAyMi45MTcgODEuMyAyMi45MTcgQyA4MC4yIDIyLjkxNyA3OS40IDIyLjYxNyA3OC44IDIxLjkxNyBDIDc4LjIgMjEuMjE3IDc4IDIwLjMxNyA3OC4yIDE5LjMxNyBDIDc4LjUgMTcuMjE3IDgwLjMgMTUuNzE3IDgyLjQgMTUuNzE3IEMgODMuNSAxNS43MTcgODQuMyAxNi4xMTcgODQuOSAxNi43MTcgQyA4NS41IDE3LjQxNyA4NS43IDE4LjMxNyA4NS41IDE5LjMxNyBaIj48L3BhdGg+PHBhdGggZmlsbD0iIzAwOWNkZSIgZD0iTSA5NS4xIDUuNDE3IEwgOTEuOSAyNS43MTcgQyA5MS44IDI2LjExNyA5Mi4xIDI2LjQxNyA5Mi41IDI2LjQxNyBMIDk1LjcgMjYuNDE3IEMgOTYuMiAyNi40MTcgOTYuNyAyNi4wMTcgOTYuOCAyNS41MTcgTCAxMDAgNS42MTcgQyAxMDAuMSA1LjIxNyA5OS44IDQuOTE3IDk5LjQgNC45MTcgTCA5NS44IDQuOTE3IEMgOTUuNCA0LjkxNyA5NS4yIDUuMTE3IDk1LjEgNS40MTcgWiI+PC9wYXRoPjwvc3ZnPg==" alt="paypal"> </div> </div> <script> $('[name=paypal_connect]').click(function(){ $(this).after('<input data-scope="paypal" class="temp_field" type="hidden" name="private_paypal_connect" value="1"/>'); $(this).after('<input data-scope="paypal" class="temp_field" type="hidden" name="step2_pass" value="1"/>'); $('[name=paypal_submit]').click(); }); </script> </fieldset> <fieldset id="stripe-connect" class=""> <input type="button" class="button apple_pay_styled_button" id="StripePayButtonLogin" style="display: none;"> </button> <input type="hidden" name="private_stripe_connect_paymentMethod"/> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <script type="text/javascript"> var Stripe_obj = { PayWithApple:true, PayWithWallet:true, StripeButtonPopulate: false, buttons: { Step2: false, Step3: false }, paymentRequest: false, populate: function (ev) { try { $('input[name=private_stripe_connect_paymentMethod]').val(JSON.stringify(ev)); if ((!$('input[name=lastname]').val() || !$('input[name=firstname]').val()) && ev.payerName) { var name = ev.payerName.split(' ').filter(function(x){ return x&&true;}); if (name.length) { $('input[name=firstname]').val(name[0]); $('input[name=lastname]').val(name.slice(1).join(' ')); }else{ $('input[name=firstname]').val('N/A'); $('input[name=lastname]').val(ev.payerName); } } if (ev.payerEmail) { $('input[name=email]').val(ev.payerEmail); } if (!$('select[name=civility] option:selected').val()) { // If no civility was selected, force a "0" civility value // for the step 2 validation not to fail if the civility was mandatory $('select[name=civility] option:first').prop('selected', 'selected').val("0"); } if ($('input[type=tel]').length && !$('input[type=tel]').val() && ev.payerPhone) { $('input[type=tel]').val(ev.payerPhone); } if (ev.paymentMethod && ev.paymentMethod.billing_details) { let evBillingDetails = ev.paymentMethod.billing_details; if ((!$('input[name=lastname]').val() || !$('input[name=firstname]').val()) && evBillingDetails.name) { var name = evBillingDetails.name.replace('').split(' ').filter(function(x){ return x&&true;}); if (name.length) { $('input[name=firstname]').val(name[0]); $('input[name=lastname]').val(name.slice(1).join(' ')); }else{ $('input[name=firstname]').val('N/A'); $('input[name=lastname]').val(evBillingDetails.name); } } if (evBillingDetails.address) { let evBillingAddress = evBillingDetails.address; if (!$('input[name=country]').val() && evBillingAddress.country) { $('select[name=country] option[value=' + evBillingAddress.country + ']').prop('selected', 'selected'); } if (!$('input[name=address1]').val() && evBillingAddress.line1) { $('input[name=address1]').val(evBillingAddress.line1); } if (!$('input[name=address2]').val() && evBillingAddress.line2) { $('input[name=address2]').val(evBillingAddress.line2); } if (!$('input[name=postcode]').val() && evBillingAddress.postal_code) { $('input[name=postcode]').val(evBillingAddress.postal_code); } if (!$('input[name=city]').val() && evBillingAddress.city) { $('input[name=city]').val(evBillingAddress.city); } } } } catch (err) { let msg = 'Stripe_obj.populate exception: ' + err; console.log(msg); window.onerror(msg); } }, createStripeButton: function (ev) { console.log('Stripe_obj.createStripeButton'); if(!Stripe_obj.buttons.Step3 && !Stripe_obj.buttons.Step2) return; var amount = parseInt(Common.getDonation().amount); var currency = (Common.getCurrency() || "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: "Reporters sans fronti\u00e8res", 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"); Common.select("[data-scope='stripe_apple_pay']").hide(); }, mountStripeConnect:function(frequency){ console.log(`mountStripeConnect(${frequency})`); $('#StripePayButtonLogin').attr('data-frequency', frequency).show(); }, removeStripeConnect: function(){ console.log("removeStripeConnect"); Stripe_obj.buttons.Step2 = false; $("#stripe-connect").detach(); if(!$('#fielset-step2-connect fieldset').length){ // no connector available $('.step2_connect_block').detach(); // remove all blocks related to connectors }else{ var fieldsetlength = $('#fielset-step2-connect fieldset').length; if($("#fielset-step2-connect fieldset.regularblock").length == fieldsetlength){ $('.step2_connect_block').addClass('regularblock'); }else if($("#fielset-step2-connect fieldset.onceblock").length == fieldsetlength){ $('.step2_connect_block').addClass('onceblock'); } } }, stripe: false } window.stripeJsLoaded.then(() => { $('body').on('init_done tip_changed', Stripe_obj.createStripeButton); Stripe_obj.createStripeButton(); }); </script> <script> Stripe_obj.buttons.Step2 = true; $('#StripePayButtonLogin').click(function(event){ if (Stripe_obj.buttons.Step2 && Step1.check()) { Stripe_obj.StripeButtonPopulate = true; console.log('paymentRequest.show() -- stripeConnect'); Stripe_obj.paymentRequest.show(); } return false; }); </script> <style> #StripePayButtonLogin { -webkit-appearance: -apple-pay-button !important; } #StripePayButtonLogin[data-frequency='once'] { -apple-pay-button-type: donate; } #StripePayButtonLogin[data-frequency='regular'] { -apple-pay-button-type: subscribe; } </style> </fieldset> </fieldset> <fieldset id="fieldset-step2"> <h4 class="step2_head step2_connect_block ">ou je saisis mes coordonnées</h4> <p id="c-email"> <label for="email">Email <span class="required">*</span> <span class="help">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-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="5">M et 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" autocomplete="given-name" /> </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" autocomplete="family-name" /> </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="US">ÉTATS-UNIS</option> <option value="FR">FRANCE</option> <option value="NL">PAYS-BAS</option> <option value="GB">ROYAUME-UNI</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</option> <option value="TZ">TANZANIE, RÉPUBLIQUE-UNIE DE</option> <option value="TD">TCHAD</option> <option value="CZ">TCHÈQUE, RÉPUBLIQUE</option> <option value="TF">TERRES AUSTRALES FRANÇAISES</option> <option value="TH">THAÏLANDE</option> <option value="TL">TIMOR-LESTE</option> <option value="TG">TOGO</option> <option value="TK">TOKELAU</option> <option value="TO">TONGA</option> <option value="TT">TRINITÉ-ET-TOBAGO</option> <option value="TN">TUNISIE</option> <option value="TM">TURKMÉNISTAN</option> <option value="TC">TURKS ET CAÏQUES, ÎLES</option> <option value="TR">TURQUIE</option> <option value="TV">TUVALU</option> <option value="UA">UKRAINE</option> <option value="UY">URUGUAY</option> <option value="VU">VANUATU</option> <option value="VE">VENEZUELA, RÉPUBLIQUE BOLIVARIENNE DU</option> <option value="VN">VIET NAM</option> <option value="WF">WALLIS ET FUTUNA</option> <option value="YE">YÉMEN</option> <option value="ZM">ZAMBIE</option> <option value="ZW">ZIMBABWE</option> </select> </p> <!-- FindMyAddress not enabled on this campaign --> </fieldset> <p name="reserved_phone_number" id="reserved_phone_number_id_6746d1368550b" data-type="phone" > <label for="reserved_phone_number"> <span class="reserved_title">Numéro de téléphone</span> <span id="nameHelp_reserved_phone_number" class="help"></span> </label> <input id="reserved_phone_number" type="tel" aria-describedby="nameHelp_reserved_phone_number" name="reserved_phone_number" data-scope="step2" data-required="" value=""/> </p> <script type="text/javascript"> load_phone_input_reserved_phone_number_id_6746d1368550b = function(){ var reserved_phone_input_reserved_phone_number_id_6746d1368550b = $("#reserved_phone_number_id_6746d1368550b input[name=reserved_phone_number]"); var iti_reserved_phone_number_id_6746d1368550b = window.intlTelInput(document.querySelector("#reserved_phone_number_id_6746d1368550b input[name=reserved_phone_number]"),{ initialCountry: "auto", autoPlaceholder: "polite", preferredCountries: ['fr', 'gb', 'be', 'nl', 'de'], utilsScript: "/libs.iraiser.eu/libs/intl-tel-input-15.0.1/build/js/utils.js" }); $("form:has(#reserved_phone_number_id_6746d1368550b)").submit(function() { const reserved_phone_input_reserved_phone_number_id_6746d1368550b_tmp = reserved_phone_input_reserved_phone_number_id_6746d1368550b.val(); reserved_phone_input_reserved_phone_number_id_6746d1368550b.val(iti_reserved_phone_number_id_6746d1368550b.getNumber()); if(reserved_phone_input_reserved_phone_number_id_6746d1368550b.val() == ''){ reserved_phone_input_reserved_phone_number_id_6746d1368550b.val(reserved_phone_input_reserved_phone_number_id_6746d1368550b_tmp); } }); try { if (reserved_phone_input_reserved_phone_number_id_6746d1368550b.val() == '') iti_reserved_phone_number_id_6746d1368550b.setCountry('sg'); }catch(e){} $( document ).ready(function(){ $('select[name=country],input[name=country]').change(function(){ try { if(reserved_phone_input_reserved_phone_number_id_6746d1368550b.val() == '') iti_reserved_phone_number_id_6746d1368550b.setCountry($(this).val().toLowerCase()); }catch(e){} }); }); } $( document ).ready(function(){ if(typeof window.intlTelInput == "undefined"){ $('head').append('<link rel="stylesheet" type="text/css" href="/libs.iraiser.eu/libs/intl-tel-input-15.0.1/build/css/intlTelInput.min.css" />'); $.getScript('/libs.iraiser.eu/libs/intl-tel-input-15.0.1/build/js/intlTelInput.min.js',load_phone_input_reserved_phone_number_id_6746d1368550b); }else{ load_phone_input_reserved_phone_number_id_6746d1368550b(); } }); </script> <p name="reserved_optin_newsletter" id="reserved_optin_newsletter_id_6746d13685578" data-type="checkbox" > <label for="reserved_optin_newsletter"> <input type="hidden" name="reserved_optin_newsletter" value="0" /> <input id="reserved_optin_newsletter" type="checkbox" aria-describedby="nameHelp_reserved_optin_newsletter" name="reserved_optin_newsletter" data-scope="step2" data-required="" value="1" checked /> <span class="reserved_title">Je souhaite recevoir la newsletter</span> <span id="nameHelp_reserved_optin_newsletter" class="help"></span> </label> </p> <p id="required-info"><span class="required">*</span> <span class="help">Champs obligatoires (ces informations sont indispensables pour bénéficier de votre réduction fiscale)</span></p> </fieldset> </div> <!-- End Bloc --> <div class="step-info"> <h4>Respect de votre vie privée</h4> <div class="step-info-body"> <p>Vos coordonn&eacute;es nous sont indispensables pour vous envoyer votre re&ccedil;u fiscal. Conform&eacute;ment &agrave; la loi informatique et libert&eacute;s du 6 janvier 1978, vous disposez d&#39;un droit d&#39;acc&egrave;s, de modification, de rectification et de suppression des donn&eacute;es vous concernant. Pour exercer ce droit, adressez-vous &agrave; :<br /> <br /> <strong>Service Relations Donateurs</strong><br /> <strong>Reporters sans fronti&egrave;res</strong><br /> CS 90247<br /> 75083 Paris Cedex 02 - France.<br /> www.rsf.org<br /> Email: don@rsf.org<br /> <br /> <span style="font-size:20px;"><strong>Donner en toute s&eacute;curit&eacute;</strong></span><br /> <br /> Ce site internet est <strong>100% s&eacute;curis&eacute;</strong>.<br /> Toutes les informations bancaires pour traiter le paiement sont totalement s&eacute;curis&eacute;es. Elles ne sont en aucun cas conserv&eacute;es sur nos syst&egrave;mes informatiques. Gr&acirc;ce au cryptage SSL de vos donn&eacute;es bancaires, vous &ecirc;tes assur&eacute;s de la fiabilit&eacute; de vos transactions sur Internet. Pour en &ecirc;tre certain : l’espace est s&eacute;curis&eacute; d&egrave;s que l’URL de Reporters sans fronti&egrave;res commence par <strong>https</strong>.<br /> Notre service donateurs est &agrave; votre disposition pour r&eacute;pondre &agrave; toutes vos questions. N&#39;h&eacute;sitez pas &agrave; nous contacter par e-mail : don@rsf.org</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> <div class="payment"> <div id="payment_modes_once"> <input type="hidden" name="paymentNonce" id="paymentNonce" value="" autocomplete="off"/> <input type="hidden" name="stripeErrorCode" id="stripeErrorCode" value="" autocomplete="off"/> <input type="hidden" name="stripeError" id="stripeError" value="" autocomplete="off"/> <fieldset id="payment_mode-card" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Carte bancaire</span> </h4> <div class="payment_body" id="creditcard"> <p id="card-number"> <label for="stripe_creditcard_cardNumber_placeholder_once">Saisissez votre numéro de carte bancaire</label> <input type="text" id="stripe_creditcard_cardNumber_placeholder_once" autocomplete="off"/> </p> <div class="line"> <p id="card-expiry" class="unit size1of2"> <label for="stripe_creditcard_cardExpiry_placeholder_once">Date d'expiration</label> <input type="text" id="stripe_creditcard_cardExpiry_placeholder_once" autocomplete="off"/> </p> <p id="card-scode" class="unit size2of2 lastUnit"> <label for="stripe_creditcard_cardCvc_placeholder_once">Code de sécurité</label> <input type="text" id="stripe_creditcard_cardCvc_placeholder_once" autocomplete="off"/> <span class="help">Le code de sécurité est constitué des 3 derniers chiffres inscrits au dos de votre carte bancaire</span> <span class="help amex" style="display: none;">Le code de sécurité est constitué des 4 derniers chiffres inscrits au recto de votre carte bancaire</span> </p> </div> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_once" data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('once')"/> <script> var stripeElementGetFrequency = () => Step1.current_donation.frequency; if (!window.stripe_creditcard) { const VAL_ERROR = 'error'; const VAL_NOT_SET = 'N/A'; const defaultCoords = {}; defaultCoords["firstname"] = null; defaultCoords["lastname"] = null; defaultCoords["email"] = null; const defaultPaymentMethodErrorMessage = "Les coordonn&eacute;es bancaires saisies sont incorrectes. Merci de les v&eacute;rifier et de les saisir &agrave; nouveau."; const lang = "fr_FR"; const cardCvcPlaceholder = "Use the value provided by Stripe"; const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN"; const stripeApiVersion = "2020-08-27"; const coordNames = Object.keys(defaultCoords); const elementConf = { 'cardNumber': { defaultErrorMessage: DntErrors.errorMsg.cardnumber, options: {showIcon: true}, }, 'cardExpiry': { defaultErrorMessage: DntErrors.errorMsg.cardmonth, }, 'cardCvc': { defaultErrorMessage: DntErrors.errorMsg.cardscode, }, }; // only add a CVC placeholder for languages which have a short CVC provided if (cardCvcPlaceholder != 'Use the value provided by Stripe') { elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder}; } const elementTypes = Object.keys(elementConf); window.stripe_creditcard = { complete: {}, elements: {}, error: {}, frequencies: {}, lastInitFrequency: '', stripe: false, checkElement: function(frequency, elementType) { this.log('checkElement', [frequency, elementType]); if (frequency !== this.lastInitFrequency) return false; const complete = this.complete[frequency][elementType]; const error = this.error[frequency][elementType]; const placeholder = $('#' + this.getPlaceholderId(frequency, elementType)); if (!complete || error) { placeholder.attr('data-ira-errormsg', error && error.message ? error.message : elementConf[elementType].defaultErrorMessage ); return false; } else { placeholder.removeAttr('data-ira-errormsg'); return true; } }, checkPaymentMethod: function(frequency) { this.log('checkPaymentMethod', [frequency]); if (frequency !== this.lastInitFrequency) return false; const paymentMethodInput = this.getPaymentMethodInput(frequency); if (paymentMethodInput.val() === VAL_ERROR) { paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage); return false; } else { paymentMethodInput.removeAttr('data-ira-errormsg'); return true; } }, createPaymentMethod: function (frequency) { if (frequency !== this.lastInitFrequency) return; this.log('createPaymentMethod', [frequency]); const paymentMethodInput = this.resetPaymentMethod(frequency); for (let elementType of elementTypes) { if (!this.complete[frequency][elementType]) return; } const coords = {}; for (let coordName of coordNames) { const coordInput = $('input[name="' + coordName + '"]'); coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName]; if (!coords[coordName]) return; } // All other inputs we rely on are ok and won't trigger any error message display, // so until createPaymentMethod succeds, we must ensure paymentMethodInput does paymentMethodInput.val(VAL_ERROR); // Prevent form submission before createPaymentMethod answers $('#stripe_submit.' + frequency).prop('disabled', true); setTimeout(() => { try { this.stripe.createPaymentMethod({ type: 'card', card: this.elements[frequency].cardNumber, billing_details: { name: coords.firstname + ' ' + coords.lastname, email: coords.email, } }).then(result => { $('#stripe_submit.' + frequency).prop('disabled', false); console.log(result); if (result.paymentMethod && result.paymentMethod.id) { paymentMethodInput.val(result.paymentMethod.id); console.log('paymentMethod = ' + paymentMethodInput.val()); } else { this.error[frequency].paymentMethod = result.error.message; for (let prop of ['type', 'code', 'decline_code', 'message']) { window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]); } } }); } catch (e) { console.log(e); $('#stripe_submit.' + frequency).prop('disabled', false); } }, 500); }, getContainerId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_container_' + frequency; }, getPaymentMethodInput: function(frequency) { return $('#stripe_creditcard_paymentMethod_' + frequency); }, getPlaceholderId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency; }, /** * Build an array of Stripe JS CssFontSource objects * from the fonts used by the specified elements. * * See https://stripe.com/docs/js/appendix/css_font_source_object * * Warning: works only for fonts loaded from a google-style stylesheet URL * with a family=xxx parameter (where xxx is the font-family) */ getStripeJsCssFontSources: function(ids) { try { const used = {}; for (let id of ids) { const computedStyle = window.getComputedStyle(document.getElementById(id)); const fontFamily = computedStyle.getPropertyValue('font-family'); used[fontFamily] = true; } const hrefs = []; for (let s of document.styleSheets) { if (!s.href) continue; const params = new URLSearchParams(new URL(s.href).search); const fontFamily = params.get('family'); if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) { hrefs.push(s.href); } } return hrefs.map(href => ({cssSrc: href})); } catch (error) { /** * Stripe Element implementation has javascript incompatibility with Opera browser. * We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list. * This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations. */ return []; } }, /** * Get the locale as expected by Stripe JS * * See https://stripe.com/docs/js/appendix/supported_locales */ getStripeJsLocale: function () { switch(lang) { case 'en_EN': return 'en-GB'; case 'se_SE': return 'sv'; case 'zh_TW': return lang.substring(0, 2) + '-' + lang.substring(3, 5); default: return lang.substring(0, 2); } }, /** * Build a Stripe JS Style object from the specified element's computed style * and copy all other styles to the provided container. * * See https://stripe.com/docs/js/appendix/style */ getStripeJsStyle: function(id, container) { const styleKeyMap = { // Stripe JS recommands setting background-color on the container //'background-color': 'backgroundColor', 'color': 'color', 'font-family': 'fontFamily', 'font-size': 'fontSize', 'font-smoothing': 'fontSmoothing', 'font-style': 'fontStyle', 'font-variant': 'fontVariant', 'font-weight': 'fontWeight', // Stripe JS doesn't like line-height and doesn't even take it into account //'line-height': 'lineHeight', 'letter-spacing': 'letterSpacing', 'text-align': 'textAlign', 'text-decoration': 'textDecoration', 'text-shadow': 'textShadow', 'text-transform': 'textTransform', }; const baseStyle = {}; const computedStyle = window.getComputedStyle(document.getElementById(id)); for (let cssProp of computedStyle) { const styleKey = styleKeyMap[cssProp]; const cssValue = computedStyle.getPropertyValue(cssProp); if (styleKey) { baseStyle[styleKey] = cssValue; } else { container.css(cssProp, cssValue); } } return {base: baseStyle}; }, init: function (reason) { const frequency = stripeElementGetFrequency(); if (!this.frequencies[frequency]) return; this.log('init', [frequency, reason]); // Stripe elements are reset at every init so we need to reset as well this.complete[frequency] = {}; this.error[frequency] = {}; this.resetPaymentMethod(frequency); this.lastInitFrequency = frequency; this.mount(frequency); }, isMounted: function(frequency) { return !!this.elements[frequency]; }, log: function (method, params = []) { console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')'); }, mount: function (frequency) { const wasAlreadyMounted = this.unmount(frequency); this.log('mount', [frequency]); if (!this.stripe) { this.stripe = Stripe(stripePublicApiKey, { locale: this.getStripeJsLocale(), apiVersion: stripeApiVersion }); } const stripeElements = this.stripe.elements({ fonts: this.getStripeJsCssFontSources( elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType)) ), }); this.elements[frequency] = {}; for (let elementType of elementTypes) { const placeholderId = this.getPlaceholderId(frequency, elementType); const containerId = this.getContainerId(frequency, elementType); const container = $('<span/>').attr('id', containerId); const element = stripeElements.create(elementType, Object.assign( {style: this.getStripeJsStyle(placeholderId, container)}, elementConf[elementType].options )); this.elements[frequency][elementType] = element; $('#' + placeholderId) .attr('data-scope', 'stripe') .attr('data-required', '1') .attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')") .val(VAL_NOT_SET) .hide() .after(container); element.mount('#' + containerId); // Stripe creates an intermediate div between the container and its iframe // Let's force this div's contents to be vertically centered inside the container $('#' + containerId + ' div').css({ display: 'flex', height: '100%', 'align-items': 'center', }); element.on('change', ev => this.onElementChanged(frequency, ev)); } if (!wasAlreadyMounted) { for (let coordName of coordNames) { $('input[name="' + coordName + '"]').on('change', () => this.createPaymentMethod(frequency)); } // Force a re-init if the payment mode was previously hidden // as Stripe does not mount well hidden fields const cvcPlaceholderId = this.getPlaceholderId(frequency, 'cardCvc'); $('#payment_mode-card:has(#' + cvcPlaceholderId + ')').on('payment_shown', () => this.init('payment_shown')); } }, unmount: function (frequency) { if (!this.isMounted(frequency)) return false; this.log('unmount', [frequency]); for (let elementType of elementTypes) { this.elements[frequency][elementType].destroy(); $('#' + this.getContainerId(frequency, elementType)).remove(); $('#' + this.getPlaceholderId(frequency, elementType)).show(); } return true; }, onElementChanged: function (frequency, ev) { this.log('onElementChanged', [ frequency, ev.elementType, ev.complete ? 'complete' : 'not complete', ev.error ? ev.error.message : 'no error', ]); this.complete[frequency][ev.elementType] = ev.complete; this.error[frequency][ev.elementType] = ev.error; this.createPaymentMethod(frequency); }, resetPaymentMethod: function (frequency) { const paymentMethodInput = this.getPaymentMethodInput(frequency); paymentMethodInput.val(VAL_NOT_SET); this.error[frequency].paymentMethod = false; return paymentMethodInput; }, }; window.stripeJsLoaded.then(() => { // Force a reinit when the donation amount or the style change for (let event of ['init_done', 'WebFont.fontactive']) { $('body').on(event, () => window.stripe_creditcard.init(event)); } }); } if (!window.stripe_creditcard.frequencies["once"]) { window.stripe_creditcard.frequencies["once"] = true; window.stripeJsLoaded.then(() => { // Ensure the 1st init is done only once, for the active frequency if (stripeElementGetFrequency() === "once") { window.stripe_creditcard.init("stripeJsLoaded"); } }); } </script> <p id="card-submit" class="payment-submit"> <input name="stripe_submit" type="submit" value="Valider" id="stripe_submit" class="button once" data-scope='stripe'/> </p> </div> </fieldset> <fieldset id="payment_mode-paypal" class="payment_mode " > <h4 class="payment_head"><span class="payment_mode_title">Paypal</span></h4> <div class="payment_body" id="paypal"> <p id="paypal-submit" class="payment-submit"> <input name="paypal_submit" type="submit" value="Valider" alt="Paypal" id="paypal_submit" class="button" data-scope='paypal' /> </p> </div> </fieldset> <fieldset id="payment_mode-fintecture_banktransfer" class="payment_mode" data-scope='fintecture_banktransfer'> <h4 class="payment_head"><span class="payment_mode_title">Virement instantané</span></h4> <div class="payment_body" id="fintecture_banktransfer_body"> <p id="fintecture_banktransfer_provider" data-ira-errormsg="Vous devez s&eacute;lectionner votre banque"> <label> <select name="fintecture_banktransfer_provider" id="fintecture_banktransfer_provider_select" data-scope='fintecture_banktransfer' data-required="1"> <option value="">Sélectionnez votre banque</option> <option value="agfbfr" data-logo="https://assets.fintecture.com/img/providers/svg/agfbfr.svg"> Allianz Banque </option> </optgroup> <optgroup label="Arkéa"> <option value="fegefr" data-logo="https://assets.fintecture.com/img/providers/svg/arkea-x.svg"> Arkéa Banque Privée </option> </optgroup> <option value="axabfr" data-logo="https://assets.fintecture.com/img/providers/svg/axabfr.svg"> AXA Banque </option> <option value="bpsmfr" data-logo="https://assets.fintecture.com/img/providers/svg/bpsmfr.svg"> Banque BCP </option> <option value="bchafr" data-logo="https://assets.fintecture.com/img/providers/svg/bchafr.svg"> Banque Chalus </option> <option value="bsavfr2c" data-logo="https://assets.fintecture.com/img/providers/svg/bsavfr2c.svg"> Banque de Savoie </option> <option value="cdcgfr" data-logo="https://assets.fintecture.com/img/providers/svg/cdcgfr.svg"> Banque des territoires </option> <option value="bspffr" data-logo="https://assets.fintecture.com/img/providers/svg/bspffr.svg"> Banque Palatine </option> </optgroup> <optgroup label="Banque Populaire"> <option value="ccbpfrppmtz" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Alsace Lorraine Champagne </option> <option value="ccbpfrppbdx" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Aquitaine Centre Atlantique </option> <option value="ccbpfrppgre" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Auvergne et Rhône-Alpes </option> <option value="ccbpfrppdjn" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Bourgogne Franche Comté </option> <option value="ccbpfrppna1" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Grand Ouest </option> <option value="ccbpfrppnce" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Méditerranée </option> <option value="ccbpfrpplil" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Nord </option> <option value="ccbpfrpptls" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Occitane </option> <option value="ccbpfrppmtg" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Rives de Paris </option> <option value="ccbpfrppppg" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Sud </option> <option value="ccbpfrppver" data-logo="https://assets.fintecture.com/img/providers/svg/ccbpfr.svg"> Banque Populaire Val de France </option> </optgroup> <option value="cmcifrp1" data-logo="https://assets.fintecture.com/img/providers/svg/cmcifrp1.svg"> Banque Transatlantique </option> </optgroup> <optgroup label="BNP Paribas"> <option value="bnpafr" data-logo="https://assets.fintecture.com/img/providers/svg/bnpafr-x.svg"> BNP Paribas Ma Banque </option> <option value="bnpafr-c" data-logo="https://assets.fintecture.com/img/providers/svg/bnpafr-x.svg"> BNP Paribas Ma Banque Entreprise </option> <option value="bnpafr-p" data-logo="https://assets.fintecture.com/img/providers/svg/bnpafr-x.svg"> BNP Paribas Ma Banque Pro </option> </optgroup> <option value="bousfr" data-logo="https://assets.fintecture.com/img/providers/svg/bousfr.svg"> BoursoBank </option> <option value="bredfr" data-logo="https://assets.fintecture.com/img/providers/svg/bredfr.svg"> BRED </option> <option value="batifr" data-logo="https://assets.fintecture.com/img/providers/svg/batifr.svg"> BTP Banque </option> </optgroup> <optgroup label="Caisse d'Epargne"> <option value="cepafrpp333" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Aquitaine Poitou-Charentes </option> <option value="cepafrpp871" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Auvergne et Limousin </option> <option value="cepafrpp213" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Bourgogne Franche-Comté </option> <option value="cepafrpp444" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Bretagne-Pays De Loire </option> <option value="cepafrpp831" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Côte d'Azur </option> <option value="cepafrpp513" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Grand Est Europe </option> <option value="cepafrpp627" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Hauts de France </option> <option value="cepafrpp751" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Ile De France </option> <option value="cepafrpp348" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Languedoc-Roussillon </option> <option value="cepafrpp426" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Loire Drôme Ardèche </option> <option value="cepafrpp450" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Loire-Centre </option> <option value="cepafrpp313" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Midi-Pyrénées </option> <option value="cepafrpp142" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Normandie </option> <option value="cepafrpp131" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Provence Alpes Corse </option> <option value="cepafrpp382" data-logo="https://assets.fintecture.com/img/providers/svg/cepafr.svg"> Caisse d'Epargne Rhône Alpes </option> </optgroup> <option value="cmcifrpp" data-logo="https://assets.fintecture.com/img/providers/svg/cmcifrpp.svg"> CIC </option> <option value="cmcifrpr" data-logo="https://assets.fintecture.com/img/providers/svg/cmcifrpr.svg"> CIC Privée </option> <option value="crtafr" data-logo="https://assets.fintecture.com/img/providers/svg/crtafr.svg"> Creatis </option> </optgroup> <optgroup label="Crédit Agricole"> <option value="agrifrpp813" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Alpes Provence </option> <option value="agrifrpp872" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Alsace Vosges </option> <option value="agrifrpp879" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Anjou Maine </option> <option value="agrifrpp833" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Aquitaine </option> <option value="agrifrpp847" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Atlantique Vendée </option> <option value="agrifrpp887" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Brie Picardie </option> <option value="agrifrpp878" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Centre Est </option> <option value="agrifrpp868" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Centre France </option> <option value="agrifrpp848" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Centre Loire </option> <option value="agrifrpp895" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Centre Ouest </option> <option value="agrifrpp810" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Champagne Bourgogne </option> <option value="agrifrpp817" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Charente Maritime Deux Sèvres </option> <option value="agrifrpp824" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Charente Périgord </option> <option value="agrifrpp820" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Corse </option> <option value="agrifrpp822" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Côtes-d'Armor </option> <option value="agrifrpp829" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Finistère </option> <option value="agrifrpp825" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Franche-Comté </option> <option value="agrigp" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Guadeloupe </option> <option value="agrifrpp836" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Ille et Vilaine </option> <option value="agrifrpp835" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Languedoc </option> <option value="agrifrpp845" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Loire Haute-Loire </option> <option value="agrifrpp861" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Lorraine </option> <option value="agrimq" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Martinique </option> <option value="agrifrcc860" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Morbihan </option> <option value="agrifrpp867" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Nord de France </option> <option value="agrifrpp802" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Nord Est </option> <option value="agrifrpp812" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Nord Midi-Pyrénées </option> <option value="agrifrpp866" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Normandie </option> <option value="agrifrpp883" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Normandie Seine </option> <option value="agrifrpp882" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Paris </option> <option value="agrifrpp891" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Provence Côte d'Azur </option> <option value="agrifrcc869" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Pyrénées Gascogne </option> <option value="agrire" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Reunion </option> <option value="agrifrpp881" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Savoie </option> <option value="agrifrpp871" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Sud Méditerranée </option> <option value="agrifrpp839" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Sud Rhône Alpes </option> <option value="agrifrpp831" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Toulouse 31 </option> <option value="agrifrpp894" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Touraine Poitou </option> <option value="agrifrpp844" data-logo="https://assets.fintecture.com/img/providers/svg/agrifr.svg"> Crédit Agricole Val de France </option> </optgroup> <option value="ccfrfr-r" data-logo="https://assets.fintecture.com/img/providers/svg/ccfrfr-r.svg"> Crédit Commercial de France CCF </option> <option value="ccopfr" data-logo="https://assets.fintecture.com/img/providers/svg/ccopfr.svg"> Crédit Coopératif </option> </optgroup> <optgroup label="Crédit Maritime"> <option value="ccbpfrppna2" data-logo="https://assets.fintecture.com/img/providers/svg/cmmufr.svg"> Crédit Maritime Grand Ouest </option> <option value="ccbpfrpp169" data-logo="https://assets.fintecture.com/img/providers/svg/cmmufr.svg"> Crédit Maritime Littoral du Sud Ouest </option> </optgroup> <option value="cmcifr2a" data-logo="https://assets.fintecture.com/img/providers/svg/cmcifr2a.svg"> Crédit Mutuel </option> <option value="cmcifrpa" data-logo="https://assets.fintecture.com/img/providers/svg/cmcifrpa.svg"> Crédit Mutuel Banque Européenne </option> <option value="cmbrfr" data-logo="https://assets.fintecture.com/img/providers/svg/cmbrfr.svg"> Crédit Mutuel de Bretagne </option> <option value="cmsofr" data-logo="https://assets.fintecture.com/img/providers/svg/cmsofr.svg"> Crédit Mutuel du Sud Ouest </option> <option value="ftnofr" data-logo="https://assets.fintecture.com/img/providers/svg/ftnofr.svg"> Fortuneo </option> <option value="bnpafrhb" data-logo="https://assets.fintecture.com/img/providers/svg/bnpafrhb.svg"> Hello Bank! </option> </optgroup> <optgroup label="La Banque Postale"> <option value="psstfr" data-logo="https://assets.fintecture.com/img/providers/svg/psstfr-x.svg"> La Banque Postale Particulier </option> <option value="psstfr-p" data-logo="https://assets.fintecture.com/img/providers/svg/psstfr-x.svg"> La Banque Postale Professionnel </option> </optgroup> <optgroup label="Le Crédit Lyonnais LCL"> <option value="crlyfr" data-logo="https://assets.fintecture.com/img/providers/svg/crlyfr-x.svg"> Le Crédit Lyonnais LCL Particulier </option> <option value="crlyfr-p1" data-logo="https://assets.fintecture.com/img/providers/svg/crlyfr-x.svg"> Le Crédit Lyonnais LCL Professionnel </option> </optgroup> <option value="preufr" data-logo="https://assets.fintecture.com/img/providers/svg/preufr.svg"> Louvre Banque Privée </option> <option value="monnfr" data-logo="https://assets.fintecture.com/img/providers/svg/monnfr.svg"> Mona Banq </option> <option value="qntofr" data-logo="https://assets.fintecture.com/img/providers/svg/qntofr.svg"> Qonto </option> <option value="revogb" data-logo="https://assets.fintecture.com/img/providers/svg/revogb.svg"> Revolut </option> <option value="snnnfr" data-logo="https://assets.fintecture.com/img/providers/svg/snnnfr.svg"> Shine </option> </optgroup> <optgroup label="Société Générale"> <option value="sogefr-c" data-logo="https://assets.fintecture.com/img/providers/svg/sogefr-x.svg"> Société Générale Entreprise </option> <option value="sogefr" data-logo="https://assets.fintecture.com/img/providers/svg/sogefr-x.svg"> Société Générale Particulier </option> <option value="sogefr-p" data-logo="https://assets.fintecture.com/img/providers/svg/sogefr-x.svg"> Société Générale Professionnel </option> </optgroup> <option value="trwigb" data-logo="https://assets.fintecture.com/img/providers/svg/trwigb.svg"> Wise </option> </select> </label> </p> <div class="help">Simple et rapide (sans IBAN ni carte bancaire)&nbsp;: <ol><li>sélectionnez votre banque</li><li>entrez vos identifiants de banque en ligne</li><li>validez la notification de votre application bancaire</li></ol></div> <div id="fintecture_banktransfer-submit" class="payment-submit"> <input name="fintecture_banktransfer_submit" type="submit" value="Valider" alt="Bank transfer" id="fintecture_banktransfer_submit" class="button once" data-scope='fintecture_banktransfer' /> </div> </div> </fieldset> <fieldset id="payment_mode-apple_pay-once" class="payment_mode" data-scope='stripe_apple_pay'> <h4 class="payment_head"><span class="payment_mode_title">Apple Pay</span></h4> <div class="payment_body" id="apple_pay"> <div id="apple_pay-submit" class="payment-submit"> <input name="stripe_apple_pay_submit" type="submit" value="Valider" alt="Apple Pay" id="stripe_apple_pay_submit" class="button once" data-scope='stripe_apple_pay' style="display:none;" disabled/> </div> <input type="hidden" name="stripe_apple_pay_paymentMethod" id="stripe_apple_pay_paymentMethod" class="once" value=""/> </div> </fieldset> <script> Stripe_obj.buttons.Step3 = true; $('#stripe_apple_pay_submit.once').click(function(event){ // Submit the form if called after receiving the paymentMethod if ( (Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) && $('#stripe_apple_pay_paymentMethod.once').val() ) { console.log('stripe_apple_pay_submit -- submitting form'); return true; } else if (Stripe_obj.buttons.Step3) { // Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid if (Step1.check() && Step2.check() && Step3.check()) { console.log('paymentRequest.show() -- stripePay'); Stripe_obj.paymentRequest.show(); return false; } else { DntErrors.displayErrors(); } } // Or stay on the form setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500); return false; }); </script> <style> #stripe_apple_pay_submit.apple_pay_styled_button { -webkit-appearance: -apple-pay-button !important; -apple-pay-button-type: donate; color: transparent !important; } </style> <fieldset id="payment_mode-bancontact" class="payment_mode"> <h4 class="payment_head"><span class="payment_mode_title">Bancontact</span></h4> <div class="payment_body" id="bancontact"> <p id="bancontact-submit" class="payment-submit"> <input name="stripe_bancontact_submit" type="submit" value="Valider" alt="Bancontact" id="stripe_bancontact_submit" class="button" data-scope='stripe_bancontact' /> </p> </div> </fieldset> <fieldset id="payment_mode-check" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Chèque</span> </h4> <div class="payment_body" id="check"> <p id="check-submit" class="payment-submit"> <input name="check_submit" type="submit" value="Valider" id="check_submit" class="button" data-scope='check' /> </p> </div> </fieldset> </div> <div id="payment_modes_regular" style="display:none"> <input type="hidden" name="paymentNonce" id="paymentNonce" value="" autocomplete="off"/> <input type="hidden" name="stripeErrorCode" id="stripeErrorCode" value="" autocomplete="off"/> <input type="hidden" name="stripeError" id="stripeError" value="" autocomplete="off"/> <fieldset id="payment_mode-card" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">Carte bancaire</span> </h4> <div class="payment_body" id="creditcard"> <p id="card-number"> <label for="stripe_creditcard_cardNumber_placeholder_regular">Saisissez votre numéro de carte bancaire</label> <input type="text" id="stripe_creditcard_cardNumber_placeholder_regular" autocomplete="off"/> </p> <div class="line"> <p id="card-expiry" class="unit size1of2"> <label for="stripe_creditcard_cardExpiry_placeholder_regular">Date d'expiration</label> <input type="text" id="stripe_creditcard_cardExpiry_placeholder_regular" autocomplete="off"/> </p> <p id="card-scode" class="unit size2of2 lastUnit"> <label for="stripe_creditcard_cardCvc_placeholder_regular">Code de sécurité</label> <input type="text" id="stripe_creditcard_cardCvc_placeholder_regular" autocomplete="off"/> <span class="help">Le code de sécurité est constitué des 3 derniers chiffres inscrits au dos de votre carte bancaire</span> <span class="help amex" style="display: none;">Le code de sécurité est constitué des 4 derniers chiffres inscrits au recto de votre carte bancaire</span> </p> </div> <script type="text/javascript"> if (!window.stripeJsLoaded) { window.stripeJsLoaded = new Promise((resolve, reject) => { const s = document.createElement('script'); s.src = 'https://js.stripe.com/v3/'; s.type = 'text/javascript'; s.onerror = reject; s.onload = resolve; document.head.appendChild(s); }); } </script> <input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_regular" data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('regular')"/> <script> var stripeElementGetFrequency = () => Step1.current_donation.frequency; if (!window.stripe_creditcard) { const VAL_ERROR = 'error'; const VAL_NOT_SET = 'N/A'; const defaultCoords = {}; defaultCoords["firstname"] = null; defaultCoords["lastname"] = null; defaultCoords["email"] = null; const defaultPaymentMethodErrorMessage = "Les coordonn&eacute;es bancaires saisies sont incorrectes. Merci de les v&eacute;rifier et de les saisir &agrave; nouveau."; const lang = "fr_FR"; const cardCvcPlaceholder = "Use the value provided by Stripe"; const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN"; const stripeApiVersion = "2020-08-27"; const coordNames = Object.keys(defaultCoords); const elementConf = { 'cardNumber': { defaultErrorMessage: DntErrors.errorMsg.cardnumber, options: {showIcon: true}, }, 'cardExpiry': { defaultErrorMessage: DntErrors.errorMsg.cardmonth, }, 'cardCvc': { defaultErrorMessage: DntErrors.errorMsg.cardscode, }, }; // only add a CVC placeholder for languages which have a short CVC provided if (cardCvcPlaceholder != 'Use the value provided by Stripe') { elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder}; } const elementTypes = Object.keys(elementConf); window.stripe_creditcard = { complete: {}, elements: {}, error: {}, frequencies: {}, lastInitFrequency: '', stripe: false, checkElement: function(frequency, elementType) { this.log('checkElement', [frequency, elementType]); if (frequency !== this.lastInitFrequency) return false; const complete = this.complete[frequency][elementType]; const error = this.error[frequency][elementType]; const placeholder = $('#' + this.getPlaceholderId(frequency, elementType)); if (!complete || error) { placeholder.attr('data-ira-errormsg', error && error.message ? error.message : elementConf[elementType].defaultErrorMessage ); return false; } else { placeholder.removeAttr('data-ira-errormsg'); return true; } }, checkPaymentMethod: function(frequency) { this.log('checkPaymentMethod', [frequency]); if (frequency !== this.lastInitFrequency) return false; const paymentMethodInput = this.getPaymentMethodInput(frequency); if (paymentMethodInput.val() === VAL_ERROR) { paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage); return false; } else { paymentMethodInput.removeAttr('data-ira-errormsg'); return true; } }, createPaymentMethod: function (frequency) { if (frequency !== this.lastInitFrequency) return; this.log('createPaymentMethod', [frequency]); const paymentMethodInput = this.resetPaymentMethod(frequency); for (let elementType of elementTypes) { if (!this.complete[frequency][elementType]) return; } const coords = {}; for (let coordName of coordNames) { const coordInput = $('input[name="' + coordName + '"]'); coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName]; if (!coords[coordName]) return; } // All other inputs we rely on are ok and won't trigger any error message display, // so until createPaymentMethod succeds, we must ensure paymentMethodInput does paymentMethodInput.val(VAL_ERROR); // Prevent form submission before createPaymentMethod answers $('#stripe_submit.' + frequency).prop('disabled', true); setTimeout(() => { try { this.stripe.createPaymentMethod({ type: 'card', card: this.elements[frequency].cardNumber, billing_details: { name: coords.firstname + ' ' + coords.lastname, email: coords.email, } }).then(result => { $('#stripe_submit.' + frequency).prop('disabled', false); console.log(result); if (result.paymentMethod && result.paymentMethod.id) { paymentMethodInput.val(result.paymentMethod.id); console.log('paymentMethod = ' + paymentMethodInput.val()); } else { this.error[frequency].paymentMethod = result.error.message; for (let prop of ['type', 'code', 'decline_code', 'message']) { window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]); } } }); } catch (e) { console.log(e); $('#stripe_submit.' + frequency).prop('disabled', false); } }, 500); }, getContainerId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_container_' + frequency; }, getPaymentMethodInput: function(frequency) { return $('#stripe_creditcard_paymentMethod_' + frequency); }, getPlaceholderId: function(frequency, elementType) { return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency; }, /** * Build an array of Stripe JS CssFontSource objects * from the fonts used by the specified elements. * * See https://stripe.com/docs/js/appendix/css_font_source_object * * Warning: works only for fonts loaded from a google-style stylesheet URL * with a family=xxx parameter (where xxx is the font-family) */ getStripeJsCssFontSources: function(ids) { try { const used = {}; for (let id of ids) { const computedStyle = window.getComputedStyle(document.getElementById(id)); const fontFamily = computedStyle.getPropertyValue('font-family'); used[fontFamily] = true; } const hrefs = []; for (let s of document.styleSheets) { if (!s.href) continue; const params = new URLSearchParams(new URL(s.href).search); const fontFamily = params.get('family'); if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) { hrefs.push(s.href); } } return hrefs.map(href => ({cssSrc: href})); } catch (error) { /** * Stripe Element implementation has javascript incompatibility with Opera browser. * We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list. * This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations. */ return []; } }, /** * Get the locale as expected by Stripe JS * * See https://stripe.com/docs/js/appendix/supported_locales */ getStripeJsLocale: function () { switch(lang) { case 'en_EN': return 'en-GB'; case 'se_SE': return 'sv'; case 'zh_TW': return lang.substring(0, 2) + '-' + lang.substring(3, 5); default: return lang.substring(0, 2); } }, /** * Build a Stripe JS Style object from the specified element's computed style * and copy all other styles to the provided container. * * See https://stripe.com/docs/js/appendix/style */ getStripeJsStyle: function(id, container) { const styleKeyMap = { // Stripe JS recommands setting background-color on the container //'background-color': 'backgroundColor', 'color': 'color', 'font-family': 'fontFamily', 'font-size': 'fontSize', 'font-smoothing': 'fontSmoothing', 'font-style': 'fontStyle', 'font-variant': 'fontVariant', 'font-weight': 'fontWeight', // Stripe JS doesn't like line-height and doesn't even take it into account //'line-height': 'lineHeight', 'letter-spacing': 'letterSpacing', 'text-align': 'textAlign', 'text-decoration': 'textDecoration', 'text-shadow': 'textShadow', 'text-transform': 'textTransform', }; const baseStyle = {}; const computedStyle = window.getComputedStyle(document.getElementById(id)); for (let cssProp of computedStyle) { const styleKey = styleKeyMap[cssProp]; const cssValue = computedStyle.getPropertyValue(cssProp); if (styleKey) { baseStyle[styleKey] = cssValue; } else { container.css(cssProp, cssValue); } } return {base: baseStyle}; }, init: function (reason) { const frequency = stripeElementGetFrequency(); if (!this.frequencies[frequency]) return; this.log('init', [frequency, reason]); // Stripe elements are reset at every init so we need to reset as well this.complete[frequency] = {}; this.error[frequency] = {}; this.resetPaymentMethod(frequency); this.lastInitFrequency = frequency; this.mount(frequency); }, isMounted: function(frequency) { return !!this.elements[frequency]; }, log: function (method, params = []) { console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')'); }, mount: function (frequency) { const wasAlreadyMounted = this.unmount(frequency); this.log('mount', [frequency]); if (!this.stripe) { this.stripe = Stripe(stripePublicApiKey, { locale: this.getStripeJsLocale(), apiVersion: stripeApiVersion }); } const stripeElements = this.stripe.elements({ fonts: this.getStripeJsCssFontSources( elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType)) ), }); this.elements[frequency] = {}; for (let elementType of elementTypes) { const placeholderId = this.getPlaceholderId(frequency, elementType); const containerId = this.getContainerId(frequency, elementType); const container = $('<span/>').attr('id', containerId); const element = stripeElements.create(elementType, Object.assign( {style: this.getStripeJsStyle(placeholderId, container)}, elementConf[elementType].options )); this.elements[frequency][elementType] = element; $('#' + placeholderId) .attr('data-scope', 'stripe') .attr('data-required', '1') .attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')") .val(VAL_NOT_SET) .hide() .after(container); element.mount('#' + containerId); // Stripe creates an intermediate div between the container and its iframe // Let's force this div's contents to be vertically centered inside the container $('#' + containerId + ' div').css({ display: 'flex', height: '100%', 'align-items': 'center', }); element.on('change', ev => this.onElementChanged(frequency, ev)); } if (!wasAlreadyMounted) { for (let coordName of coordNames) { $('input[name="' + coordName + '"]').on('change', () => this.createPaymentMethod(frequency)); } // Force a re-init if the payment mode was previously hidden // as Stripe does not mount well hidden fields const cvcPlaceholderId = this.getPlaceholderId(frequency, 'cardCvc'); $('#payment_mode-card:has(#' + cvcPlaceholderId + ')').on('payment_shown', () => this.init('payment_shown')); } }, unmount: function (frequency) { if (!this.isMounted(frequency)) return false; this.log('unmount', [frequency]); for (let elementType of elementTypes) { this.elements[frequency][elementType].destroy(); $('#' + this.getContainerId(frequency, elementType)).remove(); $('#' + this.getPlaceholderId(frequency, elementType)).show(); } return true; }, onElementChanged: function (frequency, ev) { this.log('onElementChanged', [ frequency, ev.elementType, ev.complete ? 'complete' : 'not complete', ev.error ? ev.error.message : 'no error', ]); this.complete[frequency][ev.elementType] = ev.complete; this.error[frequency][ev.elementType] = ev.error; this.createPaymentMethod(frequency); }, resetPaymentMethod: function (frequency) { const paymentMethodInput = this.getPaymentMethodInput(frequency); paymentMethodInput.val(VAL_NOT_SET); this.error[frequency].paymentMethod = false; return paymentMethodInput; }, }; window.stripeJsLoaded.then(() => { // Force a reinit when the donation amount or the style change for (let event of ['init_done', 'WebFont.fontactive']) { $('body').on(event, () => window.stripe_creditcard.init(event)); } }); } if (!window.stripe_creditcard.frequencies["regular"]) { window.stripe_creditcard.frequencies["regular"] = true; window.stripeJsLoaded.then(() => { // Ensure the 1st init is done only once, for the active frequency if (stripeElementGetFrequency() === "regular") { window.stripe_creditcard.init("stripeJsLoaded"); } }); } </script> <p id="card-submit" class="payment-submit"> <input name="stripe_submit" type="submit" value="Valider" id="stripe_submit" class="button regular" data-scope='stripe'/> </p> </div> </fieldset> <fieldset id="payment_mode-apple_pay-regular" class="payment_mode" data-scope='stripe_apple_pay'> <h4 class="payment_head"><span class="payment_mode_title">Apple Pay</span></h4> <div class="payment_body" id="apple_pay"> <div id="apple_pay-submit" class="payment-submit"> <input name="stripe_apple_pay_submit" type="submit" value="Valider" alt="Apple Pay" id="stripe_apple_pay_submit" class="button regular" data-scope='stripe_apple_pay' style="display:none;" disabled/> </div> <input type="hidden" name="stripe_apple_pay_paymentMethod" id="stripe_apple_pay_paymentMethod" class="regular" value=""/> </div> </fieldset> <script> Stripe_obj.buttons.Step3 = true; $('#stripe_apple_pay_submit.regular').click(function(event){ // Submit the form if called after receiving the paymentMethod if ( (Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) && $('#stripe_apple_pay_paymentMethod.regular').val() ) { console.log('stripe_apple_pay_submit -- submitting form'); return true; } else if (Stripe_obj.buttons.Step3) { // Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid if (Step1.check() && Step2.check() && Step3.check()) { console.log('paymentRequest.show() -- stripePay'); Stripe_obj.paymentRequest.show(); return false; } else { DntErrors.displayErrors(); } } // Or stay on the form setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500); return false; }); </script> <style> #stripe_apple_pay_submit.apple_pay_styled_button { -webkit-appearance: -apple-pay-button !important; -apple-pay-button-type: subscribe; color: transparent !important; } </style> <fieldset id="payment_mode-iban" class="payment_mode"> <h4 class="payment_head"> <span class="payment_mode_title">IBAN</span> </h4> <div class="payment_body" id="iban"> <p id="iban-input"> <label for="iban-number">Votre numéro IBAN</label> <input type="text" name="iban-number" id="iban-number" maxlength="34" autocomplete="off" /> </p> <p id="iban-submit" class="payment-submit"> <input name="stripe_sepa_debit_submit" type="submit" value="Valider" id="iban_submit" class="button" data-scope='stripe_sepa_debit'/> </p> </div> </fieldset> </div> </div> <!-- End Payment --> </div> <!-- End Bloc --> <div class="step-info"> <h4>Donner en cryptomonnaie</h4> <div class="step-info-body"> <script id="tgb-widget-script"> !function(t,e,i,n,o,c,d,s){t.tgbWidgetOptions={id:o,domain:n},(d=e.createElement(i)).src=[n,"widget/script.js"].join(""),d.async=1,(s=e.getElementById(c)).parentNode.insertBefore(d,s)}(window,document,"script","https://tgbwidget.com/","200708028","tgb-widget-script"); </script> </div> </div> <!-- End Step-info --> </div> <!-- End Step-container --> </div> <!-- End Step 3 --> </form> </div> </div> <!-- End Main --> <div id="footer" class="line"> <div class="container" id="footer_wrapinner"> <div id="powered" class="unit size1of3" style="display:block !important;"> <p style="display:block !important;"><a style="display:block !important;" href="https://www.iraiser.eu" title="Powered by iRaiser"><img style="display:block !important; min-width: 100px!important;min-height: 15px!important;" src="/libs.iraiser.eu/design/powered-by/v1/powered-by-iraiser.png" alt="Powered by iRaiser" width="120" height="18"/></a></p> </div> <div id="copyright" class="unit size2of3 lastUnit"> <p> <a href="https://donate.rsf.org/nos-credits" title="Cr&eacute;dits">Cr&eacute;dits</a> <span>|</span> <a href="https://donate.rsf.org/mentions-legales" title="Mentions l&eacute;gales">Mentions l&eacute;gales</a> <span>|</span> <a href="https://donate.rsf.org/contactez-nous" title="Contact">Contact</a> </p> </div> </div> </div> <!-- End Footer --> </div> <!-- End Container --> </body></html>

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