<!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>Ensemble, transformons des vies</title>
<meta name="description" content="Soutenez notre association en effectuant un don" />
<meta name="keywords" content="association,don,dons,donner,soutenir,enfants,maladie" />
<link type="text/css" href="https://donner.makeawishfrance.org/themes/default/css/style_v2.css?hash=0bb9c864f817574922b301f24e909104" rel="stylesheet" />
<script type="text/javascript">
// <![CDATA[
const cacheVersion = "26050";
var gamonitoring_previous_page = sessionStorage.getItem('gamonitoring_previous_page') || document.referrer || "https:\/\/donner.makeawishfrance.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:"donner.makeawishfrance.org\/"+gamonitoring_session_id,dl:"https:\/\/donner.makeawishfrance.org\/MWISH\/b:steps\/cid=69",sc:gamonitoring_sc,dr:gamonitoring_previous_page,cd:"2026-06-29:20.56.46-6a42bfee4663a",dt:window.location.host+'/'+"donations",ul:"fr-FR",ds:"web",};
var inputs = document.querySelectorAll('input[type=hidden][name=context_form_id]'), 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:"donner.makeawishfrance.org\/"+gamonitoring_session_id,t:"event",ec:"JSError",ev:1,ea:"\/MWISH\/b:steps\/cid=69\/",};
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;
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://donner.makeawishfrance.org/themes/default/js/jquery-1.11.2.min.js?hash=5790ead7ad3ba27397aedfa3d263b867" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/jquery.patch.min.js?hash=8c3155becb5ec93b830922ca82081911" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/jquery.cookie-1.0.min.js?hash=6f6ed3cd5486dbf3bb9143eea287a6a5" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/dnterrors.min.js?hash=963e9b559d6046553f6886a5d4b49b61" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/jquery.config.min.js?hash=aae7bb01c8a0e6da615dd41aaafab4b5" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/dynamic_form.min.js?hash=d0fa20a4d6821cc2aeba535277ff9b6e" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/visibility-toggle.min.js?hash=780b99b3a0928dcc5ff82ee20f36a435" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/step1.min.js?hash=df2a77ffb9e6db52b10f226738f311a6" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/step2.min.js?hash=89e92282d1c41022ace14e0a6d6de27d" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/step3.min.js?hash=8b26e860453a72180e0218ba60bbe444" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/steps.min.js?hash=676a05ab0f7d16e826b07dfee858008a" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/payment_button.min.js?hash=b238dd83060ba9692f5ccd77a63835ac" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/iban-validator.min.js?hash=683493897ee764a5c9b485c6412e20d0" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/jquery.ir-priceinput.min.js?hash=07482ff72021c2c53278074abe52347f" ></script>
<script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/js/common.min.js?hash=735eaf678c23f50f35606e522ee0a175" ></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","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":4.275673,"AFN":72.775709,"ALL":95.680597,"AMD":430.187173,"ANG":2.084523,"AOA":1068.771325,"ARS":1624.114129,"AUD":1.625805,"AWG":2.097086,"AZN":1.978198,"BAM":1.958473,"BBD":2.349507,"BDT":143.185437,"BGN":1.944186,"BHD":0.440001,"BIF":3473.240714,"BMD":1.164239,"BND":1.491235,"BOB":8.061003,"BRL":5.898973,"BSD":1.166492,"BTC":1.5129105e-5,"BTN":111.886717,"BWP":16.500522,"BYN":3.246231,"BYR":22819.08635,"BZD":2.346102,"CAD":1.599368,"CDF":2616.62634,"CHF":0.91373,"CLF":0.026823,"CLP":1055.696936,"CNY":7.928347,"CNH":7.914864,"COP":4423.002551,"CRC":529.122212,"CUC":1.164239,"CUP":30.852336,"CVE":110.415709,"CZK":24.328636,"DJF":207.723527,"DKK":7.473635,"DOP":69.695129,"DZD":154.680199,"EGP":62.175612,"ERN":17.463586,"ETB":182.142211,"EUR":1,"FJD":2.562781,"FKP":0.873663,"GBP":0.870216,"GEL":3.12012,"GGP":0.873663,"GHS":13.339207,"GIP":0.873663,"GMD":84.406035,"GNF":10228.961769,"GTQ":8.899147,"GYD":244.053114,"HKD":9.116481,"HNL":31.023345,"HRK":7.537984,"HTG":152.728463,"HUF":360.123017,"IDR":20553.70991,"ILS":3.397021,"IMP":0.873663,"INR":112.047477,"IQD":1528.18586,"IRR":1535631.372351,"ISK":143.609047,"JEP":0.873663,"JMD":184.321585,"JOD":0.825465,"JPY":184.905039,"KES":150.478174,"KGS":101.813007,"KHR":4680.388381,"KMF":493.637772,"KPW":1047.815176,"KRW":1740.741213,"KWD":0.359237,"KYD":0.972127,"KZT":547.637484,"LAK":25582.918774,"LBP":104461.582262,"LKR":383.203044,"LRD":213.471372,"LSL":19.322974,"LTL":3.437695,"LVL":0.704237,"LYD":7.40711,"MAD":10.752977,"MDL":20.180545,"MGA":4855.627569,"MKD":61.652101,"MMK":2444.340732,"MNT":4165.686051,"MOP":9.408542,"MRU":46.823911,"MUR":55.056765,"MVR":17.940723,"MWK":2022.760918,"MXN":20.134231,"MYR":4.626566,"MZN":74.393078,"NAD":19.322974,"NGN":1597.661775,"NIO":42.928594,"NOK":10.826085,"NPR":179.018347,"NZD":1.986396,"OMR":0.447659,"PAB":1.166492,"PEN":3.999159,"PGK":5.081936,"PHP":71.825981,"PKR":324.90417,"PLN":4.243244,"PYG":7108.702849,"QAR":4.252304,"RON":5.21311,"RSD":117.411217,"RUB":84.172328,"RWF":1706.429148,"SAR":4.410902,"SBD":9.332915,"SCR":15.820865,"SDG":699.125317,"SEK":10.965282,"SGD":1.488724,"SHP":0.869222,"SLE":28.636222,"SLL":24413.514247,"SOS":666.710009,"SRD":43.604257,"STD":24097.398769,"STN":24.533486,"SVC":10.206932,"SYP":128.677508,"SZL":19.326379,"THB":37.918686,"TJS":10.883655,"TMT":4.086479,"TND":3.41416,"TOP":2.803208,"TRY":53.065784,"TTD":7.917807,"TWD":36.763525,"TZS":3041.909938,"UAH":51.507604,"UGX":4379.978343,"USD":1.164239,"UYU":46.723774,"UZS":13969.066733,"VES":593.935197,"VND":30685.849945,"VUV":137.766514,"WST":3.150873,"XAF":656.853556,"XAG":0.015264,"XAU":0.000256,"XCD":3.146414,"XCG":2.10237,"XDR":0.817474,"XOF":656.853556,"XPF":119.331742,"YER":277.800446,"ZAR":19.35396,"ZMK":10479.550995,"ZMW":21.959974,"ZWL":374.884515,"CYP":1.7086,"SSP":633.704955,"VEF":3902666.416477}
Common.price_currency_position = "right"
Common.price_frequency_texts = {"once":"Je donne une fois","regular":"Je donne tous les mois"}
Common.campaign_default_frequency = "once"
Step1.tax_reduction_rates = {"ir":[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 ne vous co\u00fbte r\u00e9ellement que <strong><span class='price'><data class='price_amount'>%s<\/data> <data class='price_currency'>\u20ac<\/data><\/span><\/strong> apr\u00e8s r\u00e9duction fiscale (r\u00e9duction de <span class='price'><data class='price_amount'>%d<\/data> <data class='price_currency'>\u20ac<\/data><\/span>[notice])";
Step1.is_french_isf = 0;
Step1.is_tipping_campaign = 0;
Step1.amount_equivalences = {"once":[],"regular":[]}
Step1.decimal_sep = ",";
Step1.min_once_amount = 0;
Step1.max_once_amount = 10000;
Step1.min_regular_amount = 0;
Step1.max_regular_amount = 10000;
DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire";
DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire";
DntErrors.errorMsg.choose_amount = "Vous devez choisir un montant pour votre don";
DntErrors.errorMsg.min_once_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} ";
DntErrors.errorMsg.max_once_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} ";
DntErrors.errorMsg.min_regular_amount = "En raison de frais de traitement, le montant minimum accept\u00e9 pour un don est de {min_amount_with_currency} ";
DntErrors.errorMsg.max_regular_amount = "Votre don ne peut pas \u00eatre sup\u00e9rieur \u00e0 {max_amount_with_currency} ";
DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire";
DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire";
DntErrors.errorMsg.qualification = "Le champ \u00ab %s \u00bb est obligatoire";
DntErrors.errorMsg.firstname = "Vous devez saisir votre pr\u00e9nom";
DntErrors.errorMsg.lastname = "Vous devez saisir votre nom";
DntErrors.errorMsg.email = "Vous devez saisir une adresse email valide";
DntErrors.errorMsg.company = "La raison sociale ne doit pas d\u00e9passer 70 caract\u00e8res";
DntErrors.errorMsg.company_siren = "Le SIREN est vide ou invalide";
DntErrors.errorMsg.company_status = "La forme juridique est vide ou inconnue";
DntErrors.errorMsg.address1 = "Vous devez saisir votre adresse";
DntErrors.errorMsg.postcode = "Vous devez saisir votre code postal (10 caract\u00e8res maximum)";
DntErrors.errorMsg.city = "Vous devez saisir votre ville";
DntErrors.errorMsg.civility = "Vous devez s\u00e9lectionner votre civilit\u00e9";
DntErrors.errorMsg.errors = "%s erreurs ont \u00e9t\u00e9 trouv\u00e9es dans le formulaire";
DntErrors.errorMsg.error = "1 erreur a \u00e9t\u00e9 trouv\u00e9e dans le formulaire";
DntErrors.errorMsg.cardtype = "S\u00e9lectionnez votre type de carte bancaire";
DntErrors.errorMsg.cardnumber = "Saisissez correctement les chiffres de votre carte bancaire";
DntErrors.errorMsg.cardscode = DntErrors.errorMsg.scode = "Saisissez correctement les chiffres du code de s\u00e9curit\u00e9 situ\u00e9s au dos de votre carte bancaire";
DntErrors.errorMsg.cardmonth = "S\u00e9lectionnez le mois d'expiration de votre carte bancaire";
DntErrors.errorMsg.cardyear = "S\u00e9lectionnez l'ann\u00e9e d'expiration de votre carte bancaire";
DntErrors.errorMsg.gocardless = "Ce mode de paiement implique un montant inf\u00e9rieur \u00e0 5000\u20ac. Merci de diminuer le montant ou de s\u00e9lectionner un autre moyen de paiement";
DntErrors.errorMsg.ssn = "Veuillez saisir un num\u00e9ro d'identit\u00e9 personnel valide";
Step2.failed_dnt_url = "/index.php?module=donations&action=xhr:attemptSave";
form_context_lang = "fr_FR";
form_context_cid = 69;
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_a7c258da63aaaaec239bc254d8793f5877b0f47f_6a42bfee435a67.95280211&module=donations&action=default:setSaveCard";
Step3.cards_mastercard_length=16;
Step3.cards_mastercard_cvvlength=3;
Step3.cards_mastercard_hasalias=1;
Step3.cards_visa_length=16;
Step3.cards_visa_cvvlength=3;
Step3.cards_visa_hasalias=1;
$(document).ready(function() {
Step1.init();
Step2.init();
Steps.init();
Steps.submit();
});
organisation_name = "Make-A-Wish France";
try{ var ira_context_infos = {"form_id":"form_a7c258da63aaaaec239bc254d8793f5877b0f47f_6a42bfee435a67.95280211","campaign":69,"version":"b","lang":"fr_FR","amount":{"amount":null,"amount_donation":0,"frequency":null,"free_amount":null,"currency":null,"log":null},"reserved":"[]","affectation":null,"_cpn_name_":"redirection-don"}; console.warn(ira_context_infos); }catch(err){}
// ]]>
</script><meta name="viewport" content="width=device-width" />
<link rel="preconnect" href="https://libs.iraiser.eu" crossorigin />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="dns-prefetch" href="https://libs.iraiser.eu" />
<link rel="canonical" href="https://donner.makeawishfrance.org/~share?cid=69&lang=fr_FR" />
<style type="text/css">
body {
background: url(/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/origin/Capturedecran2024-09-11a10.11.54.png);
}
#header {
}
</style>
<link rel="icon" href="data:image/png;base64,....==">
<script type='text/javascript'>
optionsGlobal = "";
optionsCampaign = {"theme":"arya","active_theme":"1","version":"4","font":"","font_title":"","fontsize":"","--body-background-color":"#FFFFFF","donation_grid":"1","layout":"1","widgets_footer":"1","live_counter_map_sum":"","live_counter_map_count":"","widgets_progress_bar_currency":"","widgets_color_progress_bar_goal":"","widgets_progress_bar_goal":"","widgets_progress_bar_add_amount":"","widgets_progress_bar_add_donors":"","widgets_progress_bar_promt_amount":"","widgets_progress_bar_text":"","widgets_progress_bar_text_fr_FR":"","widgets_color_last_donors":"","widgets_last_donors_filter":"","widgets_last_donors_text":"","widgets_last_donors_text_fr_FR":"","widgets_color_cookies_banner":"","widgets_cookies_banner_text":"","widgets_cookies_banner_text_fr_FR":"","widgets_cookies_banner_button":"","widgets_cookies_banner_button_fr_FR":"","widgets_most_popular_once_amount":"","widgets_most_popular_once_title":"","widgets_most_popular_once_title_fr_FR":"","widgets_most_popular_once_text":"","widgets_most_popular_once_text_fr_FR":"","widgets_most_popular_regular_amount":"","widgets_most_popular_regular_title":"","widgets_most_popular_regular_title_fr_FR":"","widgets_most_popular_regular_text":"","widgets_most_popular_regular_text_fr_FR":"","--main-action-color":"","--main-action-color-lighter":"","--description-color":"","--information-color":"","--column-background-color":"","--banner-color":"","--banner-color-darker":""};
campaign_id = 69;
context_lang = "fr_FR";
campaign_stats = {"count":5,"sum":"25500","min":500,"max":15000,"avg":"51.00","progress":"100","last_donators":[{"firstname":"\u00c9meline","total":2000,"currency":"EUR","date":"2026-06-28 21:39:00","campaign":69,"city":"COURBEVOIE","message":"","avatar":""},{"firstname":"Cl\u00e9mentine","total":2000,"currency":"EUR","date":"2026-06-28 21:38:00","campaign":69,"city":"NOIRMOUTIER-EN-L\u02bc\u00eeLE","message":"","avatar":""},{"firstname":"Jade","total":500,"currency":"EUR","date":"2026-06-24 21:01:00","campaign":69,"city":"OUZOUER SUR TREZEE","message":"","avatar":""},{"firstname":"SEVERINE","total":15000,"currency":"EUR","date":"2026-06-23 10:58:00","campaign":69,"city":"PARIS (16)","message":"","avatar":""},{"firstname":"CAROLINE","total":6000,"currency":"EUR","date":"2026-06-22 19:29:00","campaign":69,"city":"SAINT GERMAIN EN LAYE","message":"","avatar":""}],"date_cache":"2026-06-29"};
campaign_stats_last_donators = [{"firstname":"\u00c9meline","total":2000,"currency":"EUR","date":"2026-06-28 21:39:00","campaign":69,"city":"COURBEVOIE","message":"","avatar":""},{"firstname":"Cl\u00e9mentine","total":2000,"currency":"EUR","date":"2026-06-28 21:38:00","campaign":69,"city":"NOIRMOUTIER-EN-L\u02bc\u00eeLE","message":"","avatar":""},{"firstname":"Jade","total":500,"currency":"EUR","date":"2026-06-24 21:01:00","campaign":69,"city":"OUZOUER SUR TREZEE","message":"","avatar":""},{"firstname":"SEVERINE","total":15000,"currency":"EUR","date":"2026-06-23 10:58:00","campaign":69,"city":"PARIS (16)","message":"","avatar":""},{"firstname":"CAROLINE","total":6000,"currency":"EUR","date":"2026-06-22 19:29:00","campaign":69,"city":"SAINT GERMAIN EN LAYE","message":"","avatar":""}];
campaign_currency = "EUR";
iraiser_counter = '';
client_livecounter = "makeawish";
bymonth = 'par mois';
i18n = {"accessibilityHeaderButton":"Accessibilit\u00e9","accessibilityModalTitle":"Options d'accessibilit\u00e9 de la page :","accessibilityModalOptionContrast":"Activer les couleurs \u00e0 contraste \u00e9lev\u00e9","accessibilityModalOptionSpacing":"Activer l'espacement suppl\u00e9mentaire","accessibilityModalOptionLargeTexts":"Activer les textes extra larges","accessibilityModalMessage":"Si vous rencontrez des probl\u00e8mes d'accessibilit\u00e9 sur cette page malgr\u00e9 ces options, veuillez <a href=\"\/contactez-nous\">nous contacter<\/a> par courriel afin que nous puissions travailler \u00e0 l'am\u00e9lioration de votre exp\u00e9rience. Nous vous remercions de votre attention."};
checkoutPage = '';
</script>
<script id="javascript_arya" type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/arya/dist/v4/arya.js?v=26050" ></script>
<link type="text/css" href="https://donner.makeawishfrance.org/themes/default/arya/dist/v4/arya.css?v=26050" rel="stylesheet" /><script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/arya/dist/v4/formTest.js?v=26050" ></script>
<link rel="stylesheet" href="https://use.typekit.net/eqq5onc.css" integrity="sha384-8sSywR6Cyic3sLn5qyxVqHLMupv1qGOQjgFvwT8dlScLwU7gVp+A5k1Vtk35vWBy" crossorigin="anonymous"><link type="text/css" href="https://donner.makeawishfrance.org/themes/default/arya/dist/v4/form_visible_label.css?v=26050" rel="stylesheet" /><script type="text/javascript" src="https://donner.makeawishfrance.org/themes/default/arya/dist/v4/accessibility.js?v=26050" ></script>
<link rel="icon" href="https://cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/origin/faviconmakeawish.png" /></head><body id="type-b" >
<div id="container">
<div id="header" class="line">
<div class="container" id="header_wrapinner">
<div id="logo" class="unit size3of4">
<h1>
<a href="https://www.makeawishfrance.org/" title="Make-A-Wish France" target="_blank" rel="noopener noreferrer">
<span class="screen-reader-only">Make-A-Wish France</span>
<img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/origin/Sanstitre2.png" alt="page d'accueil de Make-A-Wish France" fetchpriority="high"/>
</a>
</h1>
</div> <!-- End Logo -->
</div>
</div> <!-- End Header -->
<div id="_wait">
<div id="floatingCirclesG">
<div class="f_circleG" id="frotateG_01"></div>
<div class="f_circleG" id="frotateG_02"></div>
<div class="f_circleG" id="frotateG_03"></div>
<div class="f_circleG" id="frotateG_04"></div>
<div class="f_circleG" id="frotateG_05"></div>
<div class="f_circleG" id="frotateG_06"></div>
<div class="f_circleG" id="frotateG_07"></div>
<div class="f_circleG" id="frotateG_08"></div>
</div>
</div>
<div id="main" class="line">
<div class="container" id="main_wrapinner">
<div id="form-info" class="line">
<p><strong>EVENEMENT COMPLET !</strong><br />
Les places pour This Perfect Night 4 ont été attribuées. Merci pour votre soutien !<br />
<br />
Vous souhaitez malgré tout contribuer à la réalisation des vœux d'enfants gravement malades ?<br />
Vous pouvez faire un don et nous aider à créer encore plus de moments extraordinaires.</p>
<p></p>
</div>
<noscript>
</noscript>
<form action="/b/steps/save" method="post" id="form-steps" autocomplete="off">
<input type="hidden" name="context_form" value="KG7sBblxnf9qTNzmdcMdTxyLGJWoPwmOAyJYXpDuZ65tMjKwNEgETzRtHvdTKd-PxPt0DMufbiV5JLNPRhKgrK-ROZ7pJIbAoSxc619wmKA2hXyLkrUKR2d8_wG5u3ip9mJta4r5uKi7afRFUCW6XVITrzx9ASWd5p0HxiThaz77CJKWGCDroujF8CGc9k5CiSvJm0HmWSGAYKLtd8WsyZ5qIHV6UbzfSfkvDwOylny-1WR3nzvguoRPXOPGJqMm0WEkCQZkmd4MUXqvBbriMhFrEj-3ZPVUOmAt6xQb2GZmczz_qBAyg2-6BnFRaRZuBxMaZgCvHCcyB9z1ZVzM4OfEWEOjbDV-S9b33UD3Np_cl0I-DUopSLRbsQUS4w0ak0J5dPqGNNqgOSvX_CFC6Z4Nzuwft-n0_MoE4hZ9-ZQ_03ykQrTb6B0NL2EWGsAMJS2fbFmGdO0VTKBpMkS1pFVnkzGL2MqvRWy5rRwmbzX7dmu56vvBUQAvjVk76TPW5ptGjiw1JwN-uv3cHgxFYrEaab1NMHMLWZQId6QqR5caAEriPLXYgIMXoBvaVFtVVoClv9LeCOh3FXERb1Bh8L4IYRxFU1UXhRr59XWfi4Za7adBhtvA6o8QrF2OQk85cRpbBShKCClva4NfMIVM6Y4m6LRkoxzVergvaopRoEHOZpIbsEUEX9uyuTBJJlyVOIumMhMBBG7WXhdBw435nxucu2ARdGwUuxnZPGEklLZjl6NFC0Qcfyj3X7HYKNjD7xQ5a77rKy1Q1jLqGxmOdrjAsBSO80VCGkr1JLdu9wypJgeCeAuBkjiiMf_7Y_0LaVq9YDCQX99enMjp4nQvt-_CAdvBRukUtDiHRf71SX2zg-tU5-r_rJrP9ZC_MBury3U2E6lk4CHtoUsHO7KW8u2zDYEjFjIX8PU_jyW29HL-yWK_tp-AtnZVNE-HjnTu-diIdXsaJNVmQdis4nLe4Sqbg2A5Uxt9UYyJd_mkIqt24RYQOEDnqe5woZqBMozX_qzzQgNDtz6e-77fg_28maMJgtUaX1rFt9Li0j-iqV9yuK1RRLlx3sgrPqimxhARnqWJ9PztL22D-I2vTPceiVOdujAIASLVgfsnn9qJQwCip8PyCd5gBggy6soeFTxXpMdj3tmDeRH5EiZr5moC1-3C4Un7E7fp_NSuAiC4VDg" />
<input type="hidden" name="context_form_id" value="form_a7c258da63aaaaec239bc254d8793f5877b0f47f_6a42bfee435a67.95280211" />
<input type="hidden" name="cid" value="69" />
<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 type2ct">
<ul class="radio-desc line" id="amount-list-once">
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/IMG63231.jpeg" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-once" value="2000" id="amount-once-2000" type="radio" /> <span id="value_of_amount-once-2000"><data class='price_amount'>20</data> <data class='price_currency'>€</data></span></label><p>Un cadeau souvenir</p></div>
</li>
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/IMG1315.JPG" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-once" value="6000" id="amount-once-6000" type="radio" /> <span id="value_of_amount-once-6000"><data class='price_amount'>60</data> <data class='price_currency'>€</data></span></label><p>Un maquillage personnalisé</p></div>
</li>
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/IMG-20211124-WA0007.jpg" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-once" value="9000" id="amount-once-9000" type="radio" /> <span id="value_of_amount-once-9000"><data class='price_amount'>90</data> <data class='price_currency'>€</data></span></label><p>Un casque de gamer sans fil</p></div>
</li>
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/lulubelle11.png" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-once" value="13000" id="amount-once-13000" type="radio" /> <span id="value_of_amount-once-13000"><data class='price_amount'>130</data> <data class='price_currency'>€</data></span></label><p>Une expérience dans un parc à thème</p></div>
</li>
</ul>
</fieldset>
<div class="amount-equivalences">
<p class="amount-equivalences-img"></p>
<p class="amount-equivalences-description"></p>
</div>
<fieldset class="free-amount">
<p><label>Montant libre <input autocomplete="section-famount" name="famount-once" type="text" size="6" id="famount-once" />
<span class="price_currency">€</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 type2ct">
<ul class="radio-desc line" id="amount-list-regular">
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/FormatcarrRS3.png" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-regular" value="500" id="amount-regular-500" type="radio" /> <span id="value_of_amount-regular-500"><data class='price_amount'>5</data> <data class='price_currency'>€</data></span></label><p>Une place de concert pour voir son idole</p></div>
</li>
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/FormatcarrRS.jpg" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-regular" value="1500" id="amount-regular-1500" type="radio" /> <span id="value_of_amount-regular-1500"><data class='price_amount'>15</data> <data class='price_currency'>€</data></span></label><p>Faire du parapente</p></div>
</li>
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/B1F539F9-3E12-43D8-AAA7-A850E6B9F32A.jpg" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-regular" value="3000" id="amount-regular-3000" type="radio" /> <span id="value_of_amount-regular-3000"><data class='price_amount'>30</data> <data class='price_currency'>€</data></span></label><p>Faire un saut en parachute</p></div>
</li>
<li>
<div class="unit size1of2"><img src="/cdn.iraiser.eu/5NhjUjqiyQxmtkwO2Q8HsA==/default/pricelist_item/FormatcarrRS1.jpg" width="120" height="90" alt="" /></div>
<div class="unit size1of2 lastUnit"><label><input autocomplete="false" name="amount-regular" value="5000" id="amount-regular-5000" type="radio" /> <span id="value_of_amount-regular-5000"><data class='price_amount'>50</data> <data class='price_currency'>€</data></span></label><p>Chien de traineau pour toute la famille</p></div>
</li>
</ul>
</fieldset>
<div class="amount-equivalences">
<p class="amount-equivalences-img"></p>
<p class="amount-equivalences-description"></p>
</div>
<fieldset class="free-amount">
<p><label>Montant libre <input autocomplete="section-famount" name="famount-regular" type="text" size="6" id="famount-regular" />
<span class="price_currency">€</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 faire un don ?</h4>
<div class="step-info-body">
<div style="text-align: justify;"><span style="font-size:11px;">Make-A-Wish France</span><span style="font-size:12px;"> </span><span style="font-size:14px;">est une association à but non lucratif, loi 1901, <strong>qui réalise des vœux qui transforment la vie des enfants et adolescents atteints de maladies graves.</strong><br />
Toujours réalisé en famille, le vœu est une expérience positive, extraordinaire, inoubliable qui <strong>aide les enfants à regarder vers l’avenir avec espoir et les rendent plus forts dans leur combat contre la maladie.</strong><br />
En réalisant les vœux les plus incroyables et inaccessibles aux yeux des enfants, nous voulons <strong>leur montrer que rien n'est impossible et qu’ils peuvent eux aussi combattre la maladie !</strong><br />
<br />
Ce n’est qu’avec votre précieux soutien que nous pourrons réaliser notre vision ambitieuse de satisfaire la demande de vœu de chaque enfant éligible qui réside en France atteint d’une maladie grave.<br />
Pour se faire nous nous engageons chaque année à allouer en moyenne 80% de nos dépenses à notre mission (84 % lors du précédent exercice).<br />
<br />
En tant que particulier, votre don à Make-A-Wish France vous permet de bénéficier d’une réduction de 66% du montant du don sur votre impôt sur le revenu, dans la limite de 20% du revenu imposable.<br />
<br />
N° d’enregistrement RNA : W751180139<br />
<br />
<strong>Les dons versés à Make-A-Wish France profitent uniquement aux enfants que nous soutenons en France.</strong><br />
Funds donated to Make-A-Wish France solely benefit our cause and the children we serve in France.<br />
Pour voir notre politique de confidentialité, rendez-vous <a href="https://www.makeawishfrance.org/mentions-legales">ici</a>.</span></div>
</div>
</div> <!-- End Step-info -->
</div> <!-- End Step-container -->
</div> <!-- End Step-1 -->
<div id="step-2" class="unit size1of3">
<div class="step-container">
<div class="step-title">
<h2>Mes coordonnées</h2>
</div>
<div class="step-content">
<fieldset id="fieldset-step2">
<p id="c-email">
<label for="email">
Email
<span class="required">*</span>
<span class="help">
</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">
</span>
</label>
<input type="text" name="company" id="company"
/>
</p>
<p id="c-civ">
<label for="civility">
Civilité
<span class="required">*</span>
</label>
<select name="civility" id="civility">
<option value=""></option>
<option value="1">M</option>
<option value="2">Mme</option>
<option value="3">Mlle</option>
</select> </p>
<p id="c-fname">
<label for="firstname">Prénom
<span class="required">*</span> <span class="help">
</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">
</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">
</span>
</label>
<input type="text" name="address1" id="address1" />
</p>
<p id="c-addr2">
<label for="address2">
Complément adresse
<span class="help">
</span>
</label>
<input type="text" name="address2" id="address2" />
</p>
<div class="line">
<p id="c-pcode" class="unit size1of2">
<label for="postcode">
Code postal
<span class="required">*</span>
<span class="help">
</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">
</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">
</span>
</label>
<select name="country" id="country">
<option value="BE">BELGIQUE</option>
<option value="US">ÉTATS-UNIS</option>
<option value="FR" selected="selected">FRANCE</option>
<option value="GB">ROYAUME-UNI</option>
<option value="CH">SUISSE</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">SINGAPOUR</option>
<option value="SK">SLOVAQUIE</option>
<option value="SI">SLOVÉNIE</option>
<option value="SO">SOMALIE</option>
<option value="SD">SOUDAN</option>
<option value="LK">SRI LANKA</option>
<option value="SE">SUÈDE</option>
<option value="CH">SUISSE</option>
<option value="SR">SURINAME</option>
<option value="SJ">SVALBARD ET ÎLE JAN MAYEN</option>
<option value="SZ">SWAZILAND</option>
<option value="SY">SYRIENNE, RÉPUBLIQUE ARABE</option>
<option value="TJ">TADJIKISTAN</option>
<option value="TW">TAÏWAN, PROVINCE DE CHINE</option>
<option value="TZ">TANZANIE, RÉPUBLIQUE-UNIE DE</option>
<option value="TD">TCHAD</option>
<option value="CZ">TCHÈQUE, RÉPUBLIQUE</option>
<option value="TF">TERRES AUSTRALES FRANÇAISES</option>
<option value="TH">THAÏLANDE</option>
<option value="TL">TIMOR-LESTE</option>
<option value="TG">TOGO</option>
<option value="TK">TOKELAU</option>
<option value="TO">TONGA</option>
<option value="TT">TRINITÉ-ET-TOBAGO</option>
<option value="TN">TUNISIE</option>
<option value="TM">TURKMÉNISTAN</option>
<option value="TC">TURKS ET CAÏQUES, ÎLES</option>
<option value="TR">TURQUIE</option>
<option value="TV">TUVALU</option>
<option value="UA">UKRAINE</option>
<option value="UY">URUGUAY</option>
<option value="VU">VANUATU</option>
<option value="VE">VENEZUELA, RÉPUBLIQUE BOLIVARIENNE DU</option>
<option value="VN">VIET NAM</option>
<option value="WF">WALLIS ET FUTUNA</option>
<option value="YE">YÉMEN</option>
<option value="ZM">ZAMBIE</option>
<option value="ZW">ZIMBABWE</option>
</select>
</p>
<!-- FindMyAddress not enabled on this campaign -->
</fieldset>
<p name="reserved_date" id="reserved_date_id_6a42bfee6a996" data-type="date" class="custom-field-p" >
<label for="reserved_date">
<span class="reserved_title">Date de naissance</span>
<span id="nameHelp_reserved_date" class="help"></span>
</label>
<input
id="reserved_date"
type="date"
aria-describedby="nameHelp_reserved_date"
name="reserved_date"
data-scope="step2"
data-required=""
value=""
/>
</p>
<p name="reserved_profession" id="reserved_profession_id_6a42bfee6a9a2" data-type="short" class="custom-field-p" >
<label for="reserved_profession">
<span class="reserved_title">Profession</span>
<span id="nameHelp_reserved_profession" class="help"></span>
</label>
<input
id="reserved_profession"
type="text"
aria-describedby="nameHelp_reserved_profession"
name="reserved_profession"
data-scope="step2"
data-required=""
value=""
/>
</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">
<div style="text-align: justify;"><span style="font-size:14px;">Vos coordonnées sont indispensables pour la gestion et le réalisation des vœux des enfants gravement malades, le suivi de votre don, l’envoi de votre reçu fiscal et pour vous adresser des informations sur nos actions et faire appel à votre générosité.<br />
Conformément à la loi informatique et libertés du 6 janvier 1978, vous disposez d’un droit d’accès, de modification, de rectification et de suppression des données vous concernant.<br />
<strong>Pour exercer ce droit, adressez-vous à : contact@makeawishfrance.org</strong></span><br />
<br />
<span style="font-size:14px;">Make-A-Wish France<br />
70 Rue Rivay 5ème étage <br />
92300 Levallois-Perret - FRANCE<br />
Tél: 0141050873<br />
Email :contact@makeawishfrance.org</span></div>
</div>
</div> <!-- End Step-info -->
</div> <!-- End Step-container -->
</div> <!-- End Step-2 -->
<div id="step-3" class="unit size1of3 lastUnit">
<div class="step-container">
<div class="step-title">
<h2>Mon règlement</h2>
</div>
<div class="step-content">
<div id="security-info">
<p>Paiements sécurisés avec les derniers protocoles de chiffrement, conçus pour respecter les normes les plus élevées de l’industrie.</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">N° 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">CVC</label>
<input type="text" id="stripe_creditcard_cardCvc_placeholder_once" autocomplete="off"/>
<span class="help">Le code de sécurité est constitué des 3 derniers chiffres inscrits au dos de votre carte bancaire</span>
<span class="help amex"
style="display: none;">Le code de sécurité est constitué des 4 derniers chiffres inscrits au recto de votre carte bancaire</span>
</p>
</div>
<script type="text/javascript">
if (!window.stripeJsLoaded) {
window.stripeJsLoaded = new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = 'https://js.stripe.com/v3/';
s.type = 'text/javascript';
s.onerror = reject;
s.onload = resolve;
document.head.appendChild(s);
});
}
</script>
<input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_once"
data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('once')"/>
<script>
var stripeElementGetFrequency = () => Step1.current_donation.frequency;
if (!window.stripe_creditcard) {
const VAL_ERROR = 'error';
const VAL_NOT_SET = 'N/A';
const defaultCoords = {};
defaultCoords["firstname"] = null;
defaultCoords["lastname"] = null;
defaultCoords["email"] = null;
const defaultPaymentMethodErrorMessage = "Les coordonnées bancaires saisies sont incorrectes. Merci de les vérifier et de les saisir à nouveau.";
const lang = "fr_FR";
const cardCvcPlaceholder = "Use the value provided by Stripe";
const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN";
const stripeApiVersion = "2020-08-27";
const coordNames = Object.keys(defaultCoords);
const elementConf = {
'cardNumber': {
defaultErrorMessage: DntErrors.errorMsg.cardnumber,
options: {showIcon: true},
},
'cardExpiry': {
defaultErrorMessage: DntErrors.errorMsg.cardmonth,
},
'cardCvc': {
defaultErrorMessage: DntErrors.errorMsg.cardscode,
},
};
// only add a CVC placeholder for languages which have a short CVC provided
if (cardCvcPlaceholder != 'Use the value provided by Stripe') {
elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder};
}
const elementTypes = Object.keys(elementConf);
window.stripe_creditcard = {
complete: {},
elements: {},
error: {},
frequencies: {},
lastInitFrequency: '',
stripe: false,
checkElement: function(frequency, elementType) {
this.log('checkElement', [frequency, elementType]);
if (frequency !== this.lastInitFrequency) return false;
const complete = this.complete[frequency][elementType];
const error = this.error[frequency][elementType];
const placeholder = $('#' + this.getPlaceholderId(frequency, elementType));
if (!complete || error) {
placeholder.attr('data-ira-errormsg', error && error.message
? error.message
: elementConf[elementType].defaultErrorMessage
);
return false;
} else {
placeholder.removeAttr('data-ira-errormsg');
return true;
}
},
checkPaymentMethod: function(frequency) {
this.log('checkPaymentMethod', [frequency]);
if (frequency !== this.lastInitFrequency) return false;
const paymentMethodInput = this.getPaymentMethodInput(frequency);
if (paymentMethodInput.val() === VAL_ERROR) {
paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage);
return false;
} else {
paymentMethodInput.removeAttr('data-ira-errormsg');
return true;
}
},
createPaymentMethod: function (frequency) {
if (frequency !== this.lastInitFrequency) return;
this.log('createPaymentMethod', [frequency]);
const paymentMethodInput = this.resetPaymentMethod(frequency);
for (let elementType of elementTypes) {
if (!this.complete[frequency][elementType]) return;
}
const coords = {};
for (let coordName of coordNames) {
const coordInput = $('input[name="' + coordName + '"]');
coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName];
if (!coords[coordName]) return;
}
// All other inputs we rely on are ok and won't trigger any error message display,
// so until createPaymentMethod succeds, we must ensure paymentMethodInput does
paymentMethodInput.val(VAL_ERROR);
// Prevent form submission before createPaymentMethod answers
$('#stripe_submit.' + frequency).prop('disabled', true);
setTimeout(() => {
try {
this.stripe.createPaymentMethod({
type: 'card',
card: this.elements[frequency].cardNumber,
billing_details: {
name: coords.firstname + ' ' + coords.lastname,
email: coords.email,
}
}).then(result => {
$('#stripe_submit.' + frequency).prop('disabled', false);
console.log(result);
if (result.paymentMethod && result.paymentMethod.id) {
paymentMethodInput.val(result.paymentMethod.id);
console.log('paymentMethod = ' + paymentMethodInput.val());
} else {
this.error[frequency].paymentMethod = result.error.message;
for (let prop of ['type', 'code', 'decline_code', 'message']) {
window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]);
}
}
});
} catch (e) {
console.log(e);
$('#stripe_submit.' + frequency).prop('disabled', false);
}
}, 500);
},
getContainerId: function(frequency, elementType) {
return 'stripe_creditcard_' + elementType + '_container_' + frequency;
},
getPaymentMethodInput: function(frequency) {
return $('#stripe_creditcard_paymentMethod_' + frequency);
},
getPlaceholderId: function(frequency, elementType) {
return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency;
},
/**
* Build an array of Stripe JS CssFontSource objects
* from the fonts used by the specified elements.
*
* See https://stripe.com/docs/js/appendix/css_font_source_object
*
* Warning: works only for fonts loaded from a google-style stylesheet URL
* with a family=xxx parameter (where xxx is the font-family)
*/
getStripeJsCssFontSources: function(ids) {
try {
const used = {};
for (let id of ids) {
const computedStyle = window.getComputedStyle(document.getElementById(id));
const fontFamily = computedStyle.getPropertyValue('font-family');
used[fontFamily] = true;
}
const hrefs = [];
for (let s of document.styleSheets) {
if (!s.href) continue;
const params = new URLSearchParams(new URL(s.href).search);
const fontFamily = params.get('family');
if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) {
hrefs.push(s.href);
}
}
return hrefs.map(href => ({cssSrc: href}));
} catch (error) {
/**
* Stripe Element implementation has javascript incompatibility with Opera browser.
* We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list.
* This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations.
*/
return [];
}
},
/**
* Get the locale as expected by Stripe JS
*
* See https://stripe.com/docs/js/appendix/supported_locales
*/
getStripeJsLocale: function () {
switch(lang) {
case 'en_EN':
return 'en-GB';
case 'se_SE':
return 'sv';
case 'zh_TW':
return lang.substring(0, 2) + '-' + lang.substring(3, 5);
default:
return lang.substring(0, 2);
}
},
/**
* Build a Stripe JS Style object from the specified element's computed style
* and copy all other styles to the provided container.
*
* See https://stripe.com/docs/js/appendix/style
*/
getStripeJsStyle: function(id, container) {
const styleKeyMap = {
// Stripe JS recommands setting background-color on the container
//'background-color': 'backgroundColor',
'color': 'color',
'font-family': 'fontFamily',
'font-size': 'fontSize',
'font-smoothing': 'fontSmoothing',
'font-style': 'fontStyle',
'font-variant': 'fontVariant',
'font-weight': 'fontWeight',
// Stripe JS doesn't like line-height and doesn't even take it into account
//'line-height': 'lineHeight',
'letter-spacing': 'letterSpacing',
'text-align': 'textAlign',
'text-decoration': 'textDecoration',
'text-shadow': 'textShadow',
'text-transform': 'textTransform',
};
const baseStyle = {};
const computedStyle = window.getComputedStyle(document.getElementById(id));
for (let cssProp of computedStyle) {
const styleKey = styleKeyMap[cssProp];
const cssValue = computedStyle.getPropertyValue(cssProp);
if (styleKey) {
baseStyle[styleKey] = cssValue;
} else {
container.css(cssProp, cssValue);
}
}
return {base: baseStyle};
},
init: function (reason) {
const frequency = stripeElementGetFrequency();
if (!this.frequencies[frequency]) return;
this.log('init', [frequency, reason]);
// Stripe elements are reset at every init so we need to reset as well
this.complete[frequency] = {};
this.error[frequency] = {};
this.resetPaymentMethod(frequency);
this.lastInitFrequency = frequency;
this.mount(frequency);
},
isMounted: function(frequency) {
return !!this.elements[frequency];
},
log: function (method, params = []) {
console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')');
},
mount: function (frequency) {
const wasAlreadyMounted = this.unmount(frequency);
this.log('mount', [frequency]);
if (!this.stripe) {
this.stripe = Stripe(stripePublicApiKey, {
locale: this.getStripeJsLocale(),
apiVersion: stripeApiVersion
});
}
const stripeElements = this.stripe.elements({
fonts: this.getStripeJsCssFontSources(
elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType))
),
});
this.elements[frequency] = {};
for (let elementType of elementTypes) {
const placeholderId = this.getPlaceholderId(frequency, elementType);
const containerId = this.getContainerId(frequency, elementType);
const container = $('<span/>').attr('id', containerId);
const element = stripeElements.create(elementType, Object.assign(
{style: this.getStripeJsStyle(placeholderId, container)},
elementConf[elementType].options
));
this.elements[frequency][elementType] = element;
$('#' + placeholderId)
.attr('data-scope', 'stripe')
.attr('data-required', '1')
.attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')")
.val(VAL_NOT_SET)
.hide()
.after(container);
element.mount('#' + containerId);
// Stripe creates an intermediate div between the container and its iframe
// Let's force this div's contents to be vertically centered inside the container
$('#' + containerId + ' div').css({
display: 'flex',
height: '100%',
'align-items': 'center',
});
element.on('change', ev => this.onElementChanged(frequency, ev, placeholderId));
}
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, placeholderId) {
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);
Common.toggleDisplayErrorInput($("#" + placeholderId), !!ev.error);
},
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"
data-no_amount_txt="Valider"
data-once_txt="Valider"
data-regular_txt="Valider"
id="stripe_submit"
class="button payment-button once"
data-scope="stripe"
/>
</p>
</div>
</fieldset>
<!-- STANDARD BUTTONS -->
<fieldset id="payment_mode-gw_paypal_paypal"
class="payment_mode"
>
<h4 class="payment_head">
<span class="payment_mode_title">Paypal</span>
</h4>
<div class="payment_body" id="gw_paypal_paypal">
<!-- GOCARDLESS BACS SPECIFIC TEXT & CHECKBOX (must be checked to submit payment) -->
<!-- LEGAL UK REQUIREMENTS FOR BANK MANDATES -->
<input name="type" type="hidden" value="" data-scope="gw_paypal_paypal"/>
<input name="mode" type="hidden" value="gw_paypal_paypal" data-scope="gw_paypal_paypal"/>
<p id="gw_paypal_paypal-submit" class="payment-submit gateway">
<input
name="gw_paypal_paypal_submit"
type="submit"
value="Valider"
data-no_amount_txt="Valider"
data-once_txt="Valider"
data-regular_txt="Valider"
id="gw_paypal_paypal_submit"
class="button payment-button gateway"
data-scope="gw_paypal_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">
<label>
<select name="fintecture_banktransfer_provider" id="fintecture_banktransfer_provider_select"
data-scope='fintecture_banktransfer' data-required="1" data-ira-errormsg="Vous devez sélectionner votre banque">
<option value="">Sélectionnez votre banque</option>
<option value="agfbfr" data-logo="https://assets.fintecture.com/img/providers/icon/agfbfr.svg">
Allianz Banque
</option>
</optgroup>
<optgroup label="Arkéa">
<option value="fegefr" data-logo="https://assets.fintecture.com/img/providers/icon/arkea-x.svg">
Arkéa Banque Privée
</option>
</optgroup>
<option value="axabfr" data-logo="https://assets.fintecture.com/img/providers/icon/axabfr.svg">
AXA Banque
</option>
<option value="bpsmfr" data-logo="https://assets.fintecture.com/img/providers/icon/bpsmfr.svg">
Banque BCP
</option>
<option value="bsavfr2c" data-logo="https://assets.fintecture.com/img/providers/icon/bsavfr2c.svg">
Banque de Savoie
</option>
<option value="cdcgfr" data-logo="https://assets.fintecture.com/img/providers/icon/cdcgfr.svg">
Banque des territoires
</option>
<option value="bspffr" data-logo="https://assets.fintecture.com/img/providers/icon/bspffr.svg">
Banque Palatine
</option>
</optgroup>
<optgroup label="Banque Populaire">
<option value="ccbpfrppmtz" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Alsace Lorraine Champagne
</option>
<option value="ccbpfrppbdx" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Aquitaine Centre Atlantique
</option>
<option value="ccbpfrppgre" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Auvergne et Rhône-Alpes
</option>
<option value="ccbpfrppdjn" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Bourgogne Franche Comté
</option>
<option value="ccbpfrppna1" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Grand Ouest
</option>
<option value="ccbpfrppnce" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Méditerranée
</option>
<option value="ccbpfrpplil" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Nord
</option>
<option value="ccbpfrpptls" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Occitane
</option>
<option value="ccbpfrppmtg" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Rives de Paris
</option>
<option value="ccbpfrppppg" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Sud
</option>
<option value="ccbpfrppver" data-logo="https://assets.fintecture.com/img/providers/icon/ccbpfr.svg">
Banque Populaire Val de France
</option>
</optgroup>
<option value="cmcifrp1" data-logo="https://assets.fintecture.com/img/providers/icon/cmcifrp1.svg">
Banque Transatlantique
</option>
</optgroup>
<optgroup label="BNP Paribas">
<option value="bnpafr" data-logo="https://assets.fintecture.com/img/providers/icon/bnpafr-x.svg">
BNP Paribas Ma Banque
</option>
<option value="bnpafr-c" data-logo="https://assets.fintecture.com/img/providers/icon/bnpafr-x.svg">
BNP Paribas Ma Banque Entreprise
</option>
<option value="bnpafr-p" data-logo="https://assets.fintecture.com/img/providers/icon/bnpafr-x.svg">
BNP Paribas Ma Banque Pro
</option>
</optgroup>
<option value="bousfr" data-logo="https://assets.fintecture.com/img/providers/icon/bousfr.svg">
BoursoBank
</option>
<option value="bredfr" data-logo="https://assets.fintecture.com/img/providers/icon/bredfr.svg">
BRED
</option>
<option value="batifr" data-logo="https://assets.fintecture.com/img/providers/icon/batifr.svg">
BTP Banque
</option>
</optgroup>
<optgroup label="Caisse d'Epargne">
<option value="cepafrpp333" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Aquitaine Poitou-Charentes
</option>
<option value="cepafrpp871" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Auvergne et Limousin
</option>
<option value="cepafrpp213" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Bourgogne Franche-Comté
</option>
<option value="cepafrpp444" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Bretagne-Pays De Loire
</option>
<option value="cepafrpp831" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Côte d'Azur
</option>
<option value="cepafrpp513" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Grand Est Europe
</option>
<option value="cepafrpp627" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Hauts de France
</option>
<option value="cepafrpp751" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Ile De France
</option>
<option value="cepafrpp348" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Languedoc-Roussillon
</option>
<option value="cepafrpp426" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Loire Drôme Ardèche
</option>
<option value="cepafrpp450" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Loire-Centre
</option>
<option value="cepafrpp313" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Midi-Pyrénées
</option>
<option value="cepafrpp142" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Normandie
</option>
<option value="cepafrpp131" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Provence Alpes Corse
</option>
<option value="cepafrpp382" data-logo="https://assets.fintecture.com/img/providers/icon/cepafr.svg">
Caisse d'Epargne Rhône Alpes
</option>
</optgroup>
<option value="ccfrfr-r" data-logo="https://assets.fintecture.com/img/providers/icon/ccfrfr-r.svg">
CCF (ex HSBC Particulier)
</option>
<option value="cmcifrpp" data-logo="https://assets.fintecture.com/img/providers/icon/cmcifrpp.svg">
CIC
</option>
<option value="cmcifrpr" data-logo="https://assets.fintecture.com/img/providers/icon/cmcifrpr.svg">
CIC Privée
</option>
<option value="crtafr" data-logo="https://assets.fintecture.com/img/providers/icon/crtafr.svg">
Creatis
</option>
</optgroup>
<optgroup label="Crédit Agricole">
<option value="agrifrpp813" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Alpes Provence
</option>
<option value="agrifrpp872" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Alsace Vosges
</option>
<option value="agrifrpp879" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Anjou Maine
</option>
<option value="agrifrpp833" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Aquitaine
</option>
<option value="agrifrpp847" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Atlantique Vendée
</option>
<option value="agrifrpp887" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Brie Picardie
</option>
<option value="agrifrpp878" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Centre Est
</option>
<option value="agrifrpp868" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Centre France
</option>
<option value="agrifrpp848" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Centre Loire
</option>
<option value="agrifrpp895" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Centre Ouest
</option>
<option value="agrifrpp810" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Champagne Bourgogne
</option>
<option value="agrifrpp817" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Charente Maritime Deux Sèvres
</option>
<option value="agrifrpp824" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Charente Périgord
</option>
<option value="agrifrpp820" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Corse
</option>
<option value="agrifrpp822" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Côtes-d'Armor
</option>
<option value="agrifrpp829" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Finistère
</option>
<option value="agrifrpp825" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Franche-Comté
</option>
<option value="agrigp" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Guadeloupe
</option>
<option value="agrifrpp836" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Ille et Vilaine
</option>
<option value="agrifrpp835" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Languedoc
</option>
<option value="agrifrpp845" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Loire Haute-Loire
</option>
<option value="agrifrpp861" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Lorraine
</option>
<option value="agrimq" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Martinique
</option>
<option value="agrifrcc860" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Morbihan
</option>
<option value="agrifrpp867" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Nord de France
</option>
<option value="agrifrpp802" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Nord Est
</option>
<option value="agrifrpp812" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Nord Midi-Pyrénées
</option>
<option value="agrifrpp866" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Normandie
</option>
<option value="agrifrpp883" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Normandie Seine
</option>
<option value="agrifrpp882" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Paris
</option>
<option value="agrifrpp891" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Provence Côte d'Azur
</option>
<option value="agrifrcc869" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Pyrénées Gascogne
</option>
<option value="agrire" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Reunion
</option>
<option value="agrifrpp881" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Savoie
</option>
<option value="agrifrpp871" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Sud Méditerranée
</option>
<option value="agrifrpp839" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Sud Rhône Alpes
</option>
<option value="agrifrpp831" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Toulouse 31
</option>
<option value="agrifrpp894" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Touraine Poitou
</option>
<option value="agrifrpp844" data-logo="https://assets.fintecture.com/img/providers/icon/agrifr.svg">
Crédit Agricole Val de France
</option>
</optgroup>
<option value="ccopfr" data-logo="https://assets.fintecture.com/img/providers/icon/ccopfr.svg">
Crédit Coopératif
</option>
</optgroup>
<optgroup label="Crédit Maritime">
<option value="ccbpfrppna2" data-logo="https://assets.fintecture.com/img/providers/icon/cmmufr.svg">
Crédit Maritime Grand Ouest
</option>
<option value="ccbpfrpp169" data-logo="https://assets.fintecture.com/img/providers/icon/cmmufr.svg">
Crédit Maritime Littoral du Sud Ouest
</option>
</optgroup>
<option value="cmcifr2a" data-logo="https://assets.fintecture.com/img/providers/icon/cmcifr2a.svg">
Crédit Mutuel
</option>
<option value="cmcifrpa" data-logo="https://assets.fintecture.com/img/providers/icon/cmcifrpa.svg">
Crédit Mutuel Banque Européenne
</option>
<option value="cmbrfr" data-logo="https://assets.fintecture.com/img/providers/icon/cmbrfr.svg">
Crédit Mutuel de Bretagne
</option>
<option value="cmsofr" data-logo="https://assets.fintecture.com/img/providers/icon/cmsofr.svg">
Crédit Mutuel du Sud Ouest
</option>
<option value="fnomfr" data-logo="https://assets.fintecture.com/img/providers/icon/fnomfr.svg">
Finom
</option>
<option value="ftnofr" data-logo="https://assets.fintecture.com/img/providers/icon/ftnofr.svg">
Fortuneo
</option>
<option value="bnpafrhb" data-logo="https://assets.fintecture.com/img/providers/icon/bnpafrhb.svg">
Hello Bank!
</option>
<option value="ccfrfr-c" data-logo="https://assets.fintecture.com/img/providers/icon/ccfrfr-c.svg">
HSBC Corporate
</option>
</optgroup>
<optgroup label="La Banque Postale">
<option value="psstfr" data-logo="https://assets.fintecture.com/img/providers/icon/psstfr-x.svg">
La Banque Postale Particulier
</option>
<option value="psstfr-p" data-logo="https://assets.fintecture.com/img/providers/icon/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/icon/crlyfr-x.svg">
Le Crédit Lyonnais LCL Particulier
</option>
<option value="crlyfr-p1" data-logo="https://assets.fintecture.com/img/providers/icon/crlyfr-x.svg">
Le Crédit Lyonnais LCL Professionnel
</option>
</optgroup>
<option value="preufr" data-logo="https://assets.fintecture.com/img/providers/icon/preufr.svg">
Louvre Banque Privée
</option>
<option value="memofr" data-logo="https://assets.fintecture.com/img/providers/icon/memofr.svg">
Memo Bank
</option>
<option value="monnfr" data-logo="https://assets.fintecture.com/img/providers/icon/monnfr.svg">
Mona Banq
</option>
<option value="swnbfrpl" data-logo="https://assets.fintecture.com/img/providers/icon/swnbfrpl.svg">
Pennylane
</option>
<option value="qntofr2" data-logo="https://assets.fintecture.com/img/providers/icon/qntofr2.svg">
Qonto
</option>
<option value="revogb" data-logo="https://assets.fintecture.com/img/providers/icon/revogb.svg">
Revolut
</option>
<option value="snnnfr" data-logo="https://assets.fintecture.com/img/providers/icon/snnnfr.svg">
Shine
</option>
</optgroup>
<optgroup label="Société Générale">
<option value="sogefr-c" data-logo="https://assets.fintecture.com/img/providers/icon/sogefr-x.svg">
Société Générale Entreprise
</option>
<option value="sogefr" data-logo="https://assets.fintecture.com/img/providers/icon/sogefr-x.svg">
Société Générale Particulier
</option>
<option value="sogefr-p" data-logo="https://assets.fintecture.com/img/providers/icon/sogefr-x.svg">
Société Générale Professionnel
</option>
</optgroup>
<option value="swnbfr22" data-logo="https://assets.fintecture.com/img/providers/icon/swnbfr22.svg">
Swan
</option>
<option value="trwigb" data-logo="https://assets.fintecture.com/img/providers/icon/trwigb.svg">
Wise
</option>
</select>
</label>
</p>
<div class="help">Simple et rapide (sans IBAN ni carte bancaire) : <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"
data-no_amount_txt="Valider"
data-once_txt="Valider"
data-regular_txt="Valider"
id="fintecture_banktransfer_submit"
class="button payment-button once"
data-scope="fintecture_banktransfer"
alt="Bank transfer"
/>
</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"
data-no_amount_txt="Valider"
data-once_txt="Valider"
data-regular_txt="Valider"
id="stripe_apple_pay_submit"
class="button payment-button once"
data-scope="stripe_apple_pay"
alt="Apple Pay"
style="display:none;"
disabled="disabled"
/>
</div>
<input type="hidden" name="stripe_apple_pay_paymentMethod" id="stripe_apple_pay_paymentMethod" class="once" value=""/>
</div>
</fieldset>
<script type="text/javascript">
if (!window.stripeJsLoaded) {
window.stripeJsLoaded = new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = 'https://js.stripe.com/v3/';
s.type = 'text/javascript';
s.onerror = reject;
s.onload = resolve;
document.head.appendChild(s);
});
}
</script>
<script type="text/javascript">
var Stripe_obj = {
PayWithApple:true,
PayWithWallet:true,
StripeButtonPopulate: false,
buttons: {
Step2: false,
Step3: false
},
paymentRequest: false,
populate: function (ev) {
try {
$('input[name=private_stripe_connect_paymentMethod]').val(JSON.stringify(ev));
if ((!$('input[name=lastname]').val() || !$('input[name=firstname]').val()) && ev.payerName) {
var name = ev.payerName.split(' ').filter(function(x){ return x&&true;});
if (name.length) {
$('input[name=firstname]').val(name[0]);
$('input[name=lastname]').val(name.slice(1).join(' '));
}else{
$('input[name=firstname]').val('N/A');
$('input[name=lastname]').val(ev.payerName);
}
}
if (ev.payerEmail) {
$('input[name=email]').val(ev.payerEmail);
}
if (!$('select[name=civility] option:selected').val()) {
// If no civility was selected, force a "0" civility value
// for the step 2 validation not to fail if the civility was mandatory
$('select[name=civility] option:first').prop('selected', 'selected').val("0");
}
if ($('input[type=tel]').length && !$('input[type=tel]').val() && ev.payerPhone) {
$('input[type=tel]').val(ev.payerPhone);
}
if (ev.paymentMethod && ev.paymentMethod.billing_details) {
let evBillingDetails = ev.paymentMethod.billing_details;
if ((!$('input[name=lastname]').val() || !$('input[name=firstname]').val()) && evBillingDetails.name) {
var name = evBillingDetails.name.replace('').split(' ').filter(function(x){ return x&&true;});
if (name.length) {
$('input[name=firstname]').val(name[0]);
$('input[name=lastname]').val(name.slice(1).join(' '));
}else{
$('input[name=firstname]').val('N/A');
$('input[name=lastname]').val(evBillingDetails.name);
}
}
if (evBillingDetails.address) {
let evBillingAddress = evBillingDetails.address;
if (!$('input[name=country]').val() && evBillingAddress.country) {
$('select[name=country] option[value=' + evBillingAddress.country + ']').prop('selected', 'selected');
}
if (!$('input[name=address1]').val() && evBillingAddress.line1) {
$('input[name=address1]').val(evBillingAddress.line1);
}
if (!$('input[name=address2]').val() && evBillingAddress.line2) {
$('input[name=address2]').val(evBillingAddress.line2);
}
if (!$('input[name=postcode]').val() && evBillingAddress.postal_code) {
$('input[name=postcode]').val(evBillingAddress.postal_code);
}
if (!$('input[name=city]').val() && evBillingAddress.city) {
$('input[name=city]').val(evBillingAddress.city);
}
}
}
}
catch (err) {
let msg = 'Stripe_obj.populate exception: ' + err;
console.log(msg);
window.onerror(msg);
}
},
createStripeButton: function (ev) {
console.log('Stripe_obj.createStripeButton');
if(!Stripe_obj.buttons.Step3 && !Stripe_obj.buttons.Step2) return;
var amount = parseInt(Common.getDonation().amount);
var currency = (Common.getCurrency() || "EUR").toLowerCase();
var accountCountry = "FR";
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: "Make-A-Wish France",
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('Chrome') > 0) {
txt = txt.replace('Apple Pay', 'Google Pay');
fieldset.attr('data-stripe-mode','google');
} else {
txt = txt.replace('Apple Pay', 'Saved Credit Cards');
fieldset.attr('data-stripe-mode','other');
}
if(txt) {
Common.select("[data-scope='stripe_apple_pay'] .payment_mode_title").text(txt);
}
Stripe_obj.removeStripeConnect();
if (Stripe_obj.PayWithWallet) {
Stripe_obj.mountStripePay(frequency);
} else {
Stripe_obj.removeStripePay();
}
} else {
fieldset.attr('data-stripe-mode','apple');
$('#stripe_apple_pay_submit.' + frequency).addClass('apple_pay_styled_button');
//Apple Pay OK
if (Stripe_obj.buttons.Step2) {
Stripe_obj.mountStripeConnect(frequency);
}
if (Stripe_obj.buttons.Step3) {
if (Stripe_obj.PayWithApple) {
// Mount the button with its value cleared
// for it not to interfere with Apple Pay styling
Stripe_obj.mountStripePay(frequency);
} else {
Stripe_obj.removeStripePay();
}
}
Stripe_obj.validatePaymentMethodIfExists();
}
} else {
// nothing available
Stripe_obj.removeStripeConnect();
Stripe_obj.removeStripePay();
}
},
function (reason) {
console.log('paymentRequest.canMakePayment() - promise rejected');
console.log(reason);
Stripe_obj.removeStripeConnect();
Stripe_obj.removeStripePay();
}
);
Stripe_obj.paymentRequest.on('cancel', function (ev) {
console.log('paymentRequest.on(cancel)');
$('.ira-processing').removeClass('ira-processing');
});
Stripe_obj.paymentRequest.on('paymentmethod', function (ev) {
console.log('paymentRequest.on(paymentMethod)');
console.log(ev);
if (Stripe_obj.StripeButtonPopulate) {
Stripe_obj.populate(ev);
Stripe_obj.StripeButtonPopulate = false;
}
// Send the paymentMethod to your server to charge it
$('#stripe_apple_pay_paymentMethod.' + frequency).val(ev.paymentMethod.id);
ev.complete('success');
$('#stripe_apple_pay_submit.' + frequency).prop('disabled', false).trigger('click');
//$('.ira-processing').removeClass('ira-processing');
});
}
},
mountStripePay:function(frequency){
console.log(`mountStripePay(${frequency})`);
$('#stripe_apple_pay_submit.' + frequency).prop('disabled', false).show();
},
validatePaymentMethodIfExists:function(){
},
removeStripePay: function(){
Stripe_obj.buttons.Step3 = false;
console.log("removeStripePay");
const stripeApplePayElmt = Common.select("[data-scope='stripe_apple_pay']");
stripeApplePayElmt.filter('h4').addClass('unavailable-payment-method');
stripeApplePayElmt.hide();
$('body').trigger($.Event('paymentModeListUpdated'));
},
mountStripeConnect:function(frequency){
console.log(`mountStripeConnect(${frequency})`);
$('#StripePayButtonLogin').attr('data-frequency', frequency).show();
},
removeStripeConnect: function(){
console.log("removeStripeConnect");
Stripe_obj.buttons.Step2 = false;
$("#stripe-connect").detach();
if(!$('#fielset-step2-connect fieldset').length){
// no connector available
$('.step2_connect_block').detach();
// remove all blocks related to connectors
}else{
var fieldsetlength = $('#fielset-step2-connect fieldset').length;
if($("#fielset-step2-connect fieldset.regularblock").length == fieldsetlength){
$('.step2_connect_block').addClass('regularblock');
}else if($("#fielset-step2-connect fieldset.onceblock").length == fieldsetlength){
$('.step2_connect_block').addClass('onceblock');
}
}
},
stripe: false
}
window.stripeJsLoaded.then(() => {
$('body').on('init_done tip_changed', Stripe_obj.createStripeButton);
Stripe_obj.createStripeButton();
});
</script>
<script>
Stripe_obj.buttons.Step3 = true;
$('#stripe_apple_pay_submit.once').click(function(event){
// Submit the form if called after receiving the paymentMethod
if (
(Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) &&
$('#stripe_apple_pay_paymentMethod.once').val()
) {
console.log('stripe_apple_pay_submit -- submitting form');
return true;
}
else if (Stripe_obj.buttons.Step3) {
// Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid
if (Step1.check() && Step2.check() && Step3.check()) {
console.log('paymentRequest.show() -- stripePay');
Stripe_obj.paymentRequest.show();
return false;
} else {
DntErrors.displayErrors();
}
}
// Or stay on the form
setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500);
return false;
});
</script>
<style>
#stripe_apple_pay_submit.apple_pay_styled_button {
-webkit-appearance: -apple-pay-button !important;
-apple-pay-button-type: donate;
color: transparent !important;
}
</style>
</div>
<div id="payment_modes_regular" style="display:none">
<input type="hidden" name="paymentNonce" id="paymentNonce" value="" autocomplete="off"/>
<input type="hidden" name="stripeErrorCode" id="stripeErrorCode" value="" autocomplete="off"/>
<input type="hidden" name="stripeError" id="stripeError" value="" autocomplete="off"/>
<fieldset id="payment_mode-card" class="payment_mode">
<h4 class="payment_head">
<span class="payment_mode_title">Carte bancaire</span>
</h4>
<div class="payment_body" id="creditcard">
<p id="card-number">
<label for="stripe_creditcard_cardNumber_placeholder_regular">N° 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">CVC</label>
<input type="text" id="stripe_creditcard_cardCvc_placeholder_regular" autocomplete="off"/>
<span class="help">Le code de sécurité est constitué des 3 derniers chiffres inscrits au dos de votre carte bancaire</span>
<span class="help amex"
style="display: none;">Le code de sécurité est constitué des 4 derniers chiffres inscrits au recto de votre carte bancaire</span>
</p>
</div>
<script type="text/javascript">
if (!window.stripeJsLoaded) {
window.stripeJsLoaded = new Promise((resolve, reject) => {
const s = document.createElement('script');
s.src = 'https://js.stripe.com/v3/';
s.type = 'text/javascript';
s.onerror = reject;
s.onload = resolve;
document.head.appendChild(s);
});
}
</script>
<input type="hidden" name="stripe_creditcard_paymentMethod" id="stripe_creditcard_paymentMethod_regular"
data-scope="stripe" data-required = "1" data-ira-check="window.stripe_creditcard.checkPaymentMethod('regular')"/>
<script>
var stripeElementGetFrequency = () => Step1.current_donation.frequency;
if (!window.stripe_creditcard) {
const VAL_ERROR = 'error';
const VAL_NOT_SET = 'N/A';
const defaultCoords = {};
defaultCoords["firstname"] = null;
defaultCoords["lastname"] = null;
defaultCoords["email"] = null;
const defaultPaymentMethodErrorMessage = "Les coordonnées bancaires saisies sont incorrectes. Merci de les vérifier et de les saisir à nouveau.";
const lang = "fr_FR";
const cardCvcPlaceholder = "Use the value provided by Stripe";
const stripePublicApiKey = "pk_live_srqYyZqem3SpTx2GjUycaPjN";
const stripeApiVersion = "2020-08-27";
const coordNames = Object.keys(defaultCoords);
const elementConf = {
'cardNumber': {
defaultErrorMessage: DntErrors.errorMsg.cardnumber,
options: {showIcon: true},
},
'cardExpiry': {
defaultErrorMessage: DntErrors.errorMsg.cardmonth,
},
'cardCvc': {
defaultErrorMessage: DntErrors.errorMsg.cardscode,
},
};
// only add a CVC placeholder for languages which have a short CVC provided
if (cardCvcPlaceholder != 'Use the value provided by Stripe') {
elementConf.cardCvc.options = {placeholder: cardCvcPlaceholder};
}
const elementTypes = Object.keys(elementConf);
window.stripe_creditcard = {
complete: {},
elements: {},
error: {},
frequencies: {},
lastInitFrequency: '',
stripe: false,
checkElement: function(frequency, elementType) {
this.log('checkElement', [frequency, elementType]);
if (frequency !== this.lastInitFrequency) return false;
const complete = this.complete[frequency][elementType];
const error = this.error[frequency][elementType];
const placeholder = $('#' + this.getPlaceholderId(frequency, elementType));
if (!complete || error) {
placeholder.attr('data-ira-errormsg', error && error.message
? error.message
: elementConf[elementType].defaultErrorMessage
);
return false;
} else {
placeholder.removeAttr('data-ira-errormsg');
return true;
}
},
checkPaymentMethod: function(frequency) {
this.log('checkPaymentMethod', [frequency]);
if (frequency !== this.lastInitFrequency) return false;
const paymentMethodInput = this.getPaymentMethodInput(frequency);
if (paymentMethodInput.val() === VAL_ERROR) {
paymentMethodInput.attr('data-ira-errormsg', this.error[frequency].paymentMethod || defaultPaymentMethodErrorMessage);
return false;
} else {
paymentMethodInput.removeAttr('data-ira-errormsg');
return true;
}
},
createPaymentMethod: function (frequency) {
if (frequency !== this.lastInitFrequency) return;
this.log('createPaymentMethod', [frequency]);
const paymentMethodInput = this.resetPaymentMethod(frequency);
for (let elementType of elementTypes) {
if (!this.complete[frequency][elementType]) return;
}
const coords = {};
for (let coordName of coordNames) {
const coordInput = $('input[name="' + coordName + '"]');
coords[coordName] = coordInput.length ? coordInput.val() : defaultCoords[coordName];
if (!coords[coordName]) return;
}
// All other inputs we rely on are ok and won't trigger any error message display,
// so until createPaymentMethod succeds, we must ensure paymentMethodInput does
paymentMethodInput.val(VAL_ERROR);
// Prevent form submission before createPaymentMethod answers
$('#stripe_submit.' + frequency).prop('disabled', true);
setTimeout(() => {
try {
this.stripe.createPaymentMethod({
type: 'card',
card: this.elements[frequency].cardNumber,
billing_details: {
name: coords.firstname + ' ' + coords.lastname,
email: coords.email,
}
}).then(result => {
$('#stripe_submit.' + frequency).prop('disabled', false);
console.log(result);
if (result.paymentMethod && result.paymentMethod.id) {
paymentMethodInput.val(result.paymentMethod.id);
console.log('paymentMethod = ' + paymentMethodInput.val());
} else {
this.error[frequency].paymentMethod = result.error.message;
for (let prop of ['type', 'code', 'decline_code', 'message']) {
window.onerror('createPaymentMethod error.' + prop + ' = ' + result.error[prop]);
}
}
});
} catch (e) {
console.log(e);
$('#stripe_submit.' + frequency).prop('disabled', false);
}
}, 500);
},
getContainerId: function(frequency, elementType) {
return 'stripe_creditcard_' + elementType + '_container_' + frequency;
},
getPaymentMethodInput: function(frequency) {
return $('#stripe_creditcard_paymentMethod_' + frequency);
},
getPlaceholderId: function(frequency, elementType) {
return 'stripe_creditcard_' + elementType + '_placeholder_' + frequency;
},
/**
* Build an array of Stripe JS CssFontSource objects
* from the fonts used by the specified elements.
*
* See https://stripe.com/docs/js/appendix/css_font_source_object
*
* Warning: works only for fonts loaded from a google-style stylesheet URL
* with a family=xxx parameter (where xxx is the font-family)
*/
getStripeJsCssFontSources: function(ids) {
try {
const used = {};
for (let id of ids) {
const computedStyle = window.getComputedStyle(document.getElementById(id));
const fontFamily = computedStyle.getPropertyValue('font-family');
used[fontFamily] = true;
}
const hrefs = [];
for (let s of document.styleSheets) {
if (!s.href) continue;
const params = new URLSearchParams(new URL(s.href).search);
const fontFamily = params.get('family');
if (used[fontFamily] && (hrefs.indexOf(s.href) === -1)) {
hrefs.push(s.href);
}
}
return hrefs.map(href => ({cssSrc: href}));
} catch (error) {
/**
* Stripe Element implementation has javascript incompatibility with Opera browser.
* We work around this problem by catching exceptions in getStripeJsCssFontSources and returning an empty list.
* This fix will have an impact on the design of Stripe Elements, but it will not block the creation of donations.
*/
return [];
}
},
/**
* Get the locale as expected by Stripe JS
*
* See https://stripe.com/docs/js/appendix/supported_locales
*/
getStripeJsLocale: function () {
switch(lang) {
case 'en_EN':
return 'en-GB';
case 'se_SE':
return 'sv';
case 'zh_TW':
return lang.substring(0, 2) + '-' + lang.substring(3, 5);
default:
return lang.substring(0, 2);
}
},
/**
* Build a Stripe JS Style object from the specified element's computed style
* and copy all other styles to the provided container.
*
* See https://stripe.com/docs/js/appendix/style
*/
getStripeJsStyle: function(id, container) {
const styleKeyMap = {
// Stripe JS recommands setting background-color on the container
//'background-color': 'backgroundColor',
'color': 'color',
'font-family': 'fontFamily',
'font-size': 'fontSize',
'font-smoothing': 'fontSmoothing',
'font-style': 'fontStyle',
'font-variant': 'fontVariant',
'font-weight': 'fontWeight',
// Stripe JS doesn't like line-height and doesn't even take it into account
//'line-height': 'lineHeight',
'letter-spacing': 'letterSpacing',
'text-align': 'textAlign',
'text-decoration': 'textDecoration',
'text-shadow': 'textShadow',
'text-transform': 'textTransform',
};
const baseStyle = {};
const computedStyle = window.getComputedStyle(document.getElementById(id));
for (let cssProp of computedStyle) {
const styleKey = styleKeyMap[cssProp];
const cssValue = computedStyle.getPropertyValue(cssProp);
if (styleKey) {
baseStyle[styleKey] = cssValue;
} else {
container.css(cssProp, cssValue);
}
}
return {base: baseStyle};
},
init: function (reason) {
const frequency = stripeElementGetFrequency();
if (!this.frequencies[frequency]) return;
this.log('init', [frequency, reason]);
// Stripe elements are reset at every init so we need to reset as well
this.complete[frequency] = {};
this.error[frequency] = {};
this.resetPaymentMethod(frequency);
this.lastInitFrequency = frequency;
this.mount(frequency);
},
isMounted: function(frequency) {
return !!this.elements[frequency];
},
log: function (method, params = []) {
console.log('stripe_creditcard.' + method + '(' + params.join(', ') + ')');
},
mount: function (frequency) {
const wasAlreadyMounted = this.unmount(frequency);
this.log('mount', [frequency]);
if (!this.stripe) {
this.stripe = Stripe(stripePublicApiKey, {
locale: this.getStripeJsLocale(),
apiVersion: stripeApiVersion
});
}
const stripeElements = this.stripe.elements({
fonts: this.getStripeJsCssFontSources(
elementTypes.map(elementType => this.getPlaceholderId(frequency, elementType))
),
});
this.elements[frequency] = {};
for (let elementType of elementTypes) {
const placeholderId = this.getPlaceholderId(frequency, elementType);
const containerId = this.getContainerId(frequency, elementType);
const container = $('<span/>').attr('id', containerId);
const element = stripeElements.create(elementType, Object.assign(
{style: this.getStripeJsStyle(placeholderId, container)},
elementConf[elementType].options
));
this.elements[frequency][elementType] = element;
$('#' + placeholderId)
.attr('data-scope', 'stripe')
.attr('data-required', '1')
.attr('data-ira-check', "window.stripe_creditcard.checkElement('" + frequency + "', '" + elementType + "')")
.val(VAL_NOT_SET)
.hide()
.after(container);
element.mount('#' + containerId);
// Stripe creates an intermediate div between the container and its iframe
// Let's force this div's contents to be vertically centered inside the container
$('#' + containerId + ' div').css({
display: 'flex',
height: '100%',
'align-items': 'center',
});
element.on('change', ev => this.onElementChanged(frequency, ev, placeholderId));
}
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, placeholderId) {
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);
Common.toggleDisplayErrorInput($("#" + placeholderId), !!ev.error);
},
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"
data-no_amount_txt="Valider"
data-once_txt="Valider"
data-regular_txt="Valider"
id="stripe_submit"
class="button payment-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"
data-no_amount_txt="Valider"
data-once_txt="Valider"
data-regular_txt="Valider"
id="stripe_apple_pay_submit"
class="button payment-button regular"
data-scope="stripe_apple_pay"
alt="Apple Pay"
style="display:none;"
disabled="disabled"
/>
</div>
<input type="hidden" name="stripe_apple_pay_paymentMethod" id="stripe_apple_pay_paymentMethod" class="regular" value=""/>
</div>
</fieldset>
<script>
Stripe_obj.buttons.Step3 = true;
$('#stripe_apple_pay_submit.regular').click(function(event){
// Submit the form if called after receiving the paymentMethod
if (
(Stripe_obj.buttons.Step2 || Stripe_obj.buttons.Step3) &&
$('#stripe_apple_pay_paymentMethod.regular').val()
) {
console.log('stripe_apple_pay_submit -- submitting form');
return true;
}
else if (Stripe_obj.buttons.Step3) {
// Or show the Apple/Google/Microsoft popup if called in step 3 and the form is valid
if (Step1.check() && Step2.check() && Step3.check()) {
console.log('paymentRequest.show() -- stripePay');
Stripe_obj.paymentRequest.show();
return false;
} else {
DntErrors.displayErrors();
}
}
// Or stay on the form
setTimeout(() => $('.ira-processing').removeClass('ira-processing'), 500);
return false;
});
</script>
<style>
#stripe_apple_pay_submit.apple_pay_styled_button {
-webkit-appearance: -apple-pay-button !important;
-apple-pay-button-type: subscribe;
color: transparent !important;
}
</style>
</div>
</div> <!-- End Payment -->
</div> <!-- End Bloc -->
<div class="step-info">
<h4>Nous soutenir en toute confiance</h4>
<div class="step-info-body">
<div style="text-align: justify;"><span style="font-size:14px;">Ce site internet est 100% sécurisé.<br />
Toutes les informations bancaires pour traiter le paiement sont cryptées grâce au protocole SSL. Elles ne sont en aucun cas conservées sur nos systèmes informatiques.<br />
<br />
Make-A-Wish France s'engage à 100% de transparence et de rigueur dans l'utilisation de vos dons. <br />
Les comptes annuels sont certifiés tous les ans par un commissaire aux comptes et sont rendus publics.<br />
<br />
Notre service donateurs est à votre disposition pour répondre à toutes vos questions. N'hésitez pas à nous contacter : contact@makeawishfrance.org</span></div>
</div>
</div> <!-- End Step-info -->
</div> <!-- End Step-container -->
</div> <!-- End Step 3 -->
</form>
</div>
</div> <!-- End Main -->
<div id="footer" class="line">
<div class="container" id="footer_wrapinner">
<div id="powered" class="unit size1of3" style="display:block !important;">
<a style="display:block !important;" href="https://www.iraiser.com/fr/" title="Powered by iRaiser" target="_blank">
<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>
</div>
<div id="copyright" class="unit size2of3 lastUnit">
<p>
<a href="https://donner.makeawishfrance.org/connect" title="Espace personnel" target="_blank" rel="noopener noreferrer">Espace personnel</a> <span>|</span>
<a href="https://donner.makeawishfrance.org/nos-credits" title="Crédits" target="_blank" rel="noopener noreferrer">Crédits</a> <span>|</span>
<a href="https://donner.makeawishfrance.org/mentions-legales" title="Mentions légales" target="_blank" rel="noopener noreferrer">Mentions légales</a> <span>|</span>
<a href="https://donner.makeawishfrance.org/contactez-nous" title="Contact" target="_blank" rel="noopener noreferrer">Contact</a>
</p>
</div>
</div>
</div> <!-- End Footer -->
</div> <!-- End Container -->
</body></html>