diff --git a/src/components/Abonnement.js b/src/components/Abonnement.js index 7020eca..3cb7bba 100644 --- a/src/components/Abonnement.js +++ b/src/components/Abonnement.js @@ -139,7 +139,7 @@ function Abonnement(props) { const [paymentmode, setpaymentmode] = useState([]); const [paymentmodeapi, setpaymentmodeapi] = useState([]); - + const [paymentmode_nb_carte, setpaymentmode_nb_carte] = useState(); function GetPayementMode(event) { @@ -160,7 +160,7 @@ function Abonnement(props) { }) .then((data) => data.json()) .then((data) => { - //console.log('LAAAAAAAAA Success:', data['message'], "data['status'] = ", data['status']); + console.log('LAAAAAAAAA Success:', data['message'], "data['status'] = ", data['status'], " nb_carte", data['nb_carte']); if (String(data['status']) === String("false")) { //console.log("erreur rrrr:" + data['status']) @@ -170,6 +170,7 @@ function Abonnement(props) { else { setpaymentmodeapi("True"); + setpaymentmode_nb_carte(data['nb_carte']) if (data['message'] && data['message'][0] && Object.keys(data['message'][0]).length > 0) { setpaymentmode(data['message']); @@ -260,6 +261,10 @@ function Abonnement(props) { history.push("/PartnerLogin"); } + const [RecordData_api, setRecordData_api] = useState(); + const [RecordData_result, setRecordData_result] = useState(); + const [RecordData_message, setRecordData_message] = useState(); + function RecordData() { const formData = new FormData(); const url = process.env.REACT_APP_API_URL + "myclass/api/update_partner_account/"; @@ -293,21 +298,21 @@ function Abonnement(props) { .then((response) => response.json()) .then((result) => { console.log('Success:', result['message'], "result['status'] = ", result['status']); - + setRecordData_api(result['status']); setmyApiResponse(result['status']); - setResult(result['message']); + setRecordData_result(result['message']); if (String(result['status']) === String("true")) { settestval(true); desablefield1(); - + } - + }) .catch((error) => { console.error('RecordData Error:', error); - + setmyApiResponse("false"); }); @@ -378,8 +383,8 @@ function Abonnement(props) { formData.append('token', stored_part); axios.post(url, formData).then(res => { - - if (String(res.data.status) === String("true") ) { + + if (String(res.data.status) === String("true")) { //console.log(" In getCurrentUserData res.data.status = " + res.data.status); //console.log(" In getCurrentUserData res.data.message = " + res.data.message); setmyApiResponse("True"); @@ -580,9 +585,9 @@ function Abonnement(props) { console.log(" In getCurrentUserData res.data.status = " + data.status); console.log(" In getCurrentUserData res.data.message = " + data.message); - + if (String(data['status']) === String("false")) { - + setStopAbonnement_api("false"); setStopAbonnement_message(data['message']); @@ -627,11 +632,13 @@ function Abonnement(props) { } const [packprice, setpackprice] = useState(); + return (
{String(gotocheckout) === String("1") &&
+
} @@ -650,11 +657,11 @@ function Abonnement(props) { {String(gotocheckout) === String("0") &&
- +
Votre plan actuel
- Vous êtes actuellement sur un plan : {String(currentpack2).toUpperCase()} - {result && (JSON.parse(result).end_date_abonnement) && - } + Vous êtes actuellement sur un plan : {String(currentpack2).toUpperCase()} + {result && (JSON.parse(result).end_date_abonnement) && + }
 
Mode de Paiement
@@ -691,7 +698,7 @@ function Abonnement(props) { ))} - {String(paymentmodeapi) === String("True") && Object.keys(paymentmode).length <= 0 &&
+ {String(paymentmodeapi) === String("True") && String(paymentmode_nb_carte) === "0" &&
Aucun mode de paiement enregistré.
@@ -1182,25 +1189,25 @@ function Abonnement(props) { > Activez ce pack
} - {String(currentpack2).toLowerCase() === String("decouverte") && (!JSON.parse(result).end_date_abonnement) && -
- -
} + {String(currentpack2).toLowerCase() === String("decouverte") && (!JSON.parse(result).end_date_abonnement) && +
+ +
} {String(currentpack2).toLowerCase() === String("decouverte") && (JSON.parse(result).end_date_abonnement) && -
- -
} +
+ +
}
@@ -1257,7 +1264,7 @@ function Abonnement(props) { }}> Activez ce pack
} - {String(currentpack2).toLowerCase() === String("standard") && (!JSON.parse(result).end_date_abonnement) &&
+ {String(currentpack2).toLowerCase() === String("standard") && (!JSON.parse(result).end_date_abonnement) &&
-
} +
+ +
} @@ -1335,24 +1342,24 @@ function Abonnement(props) {
} {String(currentpack2).toLowerCase() === String("gold") && (!JSON.parse(result).end_date_abonnement) && -
- -
} +
+ +
} {String(currentpack2).toLowerCase() === String("gold") && (JSON.parse(result).end_date_abonnement) && -
- -
} +
+ +
}
diff --git a/src/components/CheckOut.js b/src/components/CheckOut.js index d4a54c6..173f81e 100644 --- a/src/components/CheckOut.js +++ b/src/components/CheckOut.js @@ -30,6 +30,7 @@ import { loadStripe } from '@stripe/stripe-js'; import { PaymentElement } from '@stripe/react-stripe-js'; const stripePromise = loadStripe('pk_test_51LUUfAAbmaEugrFTI25uZBD3IFjbtaL6jUfRV83diDf7nco8worna4NGKhMHbPP71WCwT5EHFRdDNatxPrJWwgZ300kgH5EO4p'); +//const stripePromise_PROD = loadStripe('pk_live_51LUUfAAbmaEugrFTyfNe4Dj0vbxc5qXQqNs0rztjAKy8oSlc5EEQyJGjA8Z5kXmP2gvUMcYLUBYCIyWWzLCw59RY00PtGInkVf'); @@ -96,7 +97,7 @@ function CheckOut(props) { ) .then((response) => response.json()) .then((result) => { - console.log('Success:', result['message'], "result['status'] = ", result['status']); + //console.log('Success:', result['message'], "result['status'] = ", result['status']); setmyApiResponse(result['status']); setResult(result['message']); if (String(result['status']) == String("true")) { @@ -419,10 +420,22 @@ function CheckOut(props) { getCurrentUserData(); get_production_service_by_pack(); GetPayementMode(); + + if (String(props.packs).toLocaleLowerCase() === String("standard")) { + setprice_ch(process.env.REACT_APP_API_URL_STRIP_ID_PACK_STAND); + } + else if (String(props.packs).toLocaleLowerCase() === String("gold")) { + setprice_ch(process.env.REACT_APP_API_URL_STRIP_ID_PACK_GOLD); + } + + window.scrollTo(0, 0); }, []); + function Handler() { + alert('works'); + } const [orderid, setorderid] = useState(); const [apiorderid, setapiorderid] = useState(); @@ -440,6 +453,53 @@ function CheckOut(props) { return; } + //initpayement_front(); + + // ---------- debut + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/create-subscription/"; + + var form1 = new FormData(); + + var local_souscription_id; + var local_souscription_id2; + + form1.append("customerid", cust_strip_id_global); + form1.append("pack", currentpack); + form1.append("qty", nb_formations); + + fetch(myurl, { + method: 'POST', + body: form1, + }).then((data) => data.json()) + .then((data) => { + //console.log(' #### retour myclass/api/create-subscription/ = subscription_id:', data['subscription_id'], ' ### payment_intent_client_secret:', data['payment_intent_client_secret'], "data['Status'] = ", data['status'],); + local_souscription_id = data['subscription_id']; + + //console.log(" ### INSIDE initpayement_front(); : local_souscription_id = ", local_souscription_id); + setpayement_id(data['subscription_id']); + + if (String(data['status']) === String("true")) { + //console.log(" subscriptionId = " + subscriptionId + " -- et clientSecret = " + clientSecret); + setclientSecret_id(data['payment_intent_client_secret']); + setpayement_id(data['subscription_id']); + + local_souscription_id2 = data['subscription_id']; + + //setSubscriptionData(data['subscription_id'], data['payment_intent_client_secret'] ); + //alert(" subscriptionId = " + data['subscription_id'] + " -- et clientSecret = " + data['payment_intent_client_secret']); + + } + + + }).catch((error) => { + console.log('Error:', error.message); + }); + + + // ----- end + + //console.log(" ### apres initpayement_front(); : local_souscription_id = ", local_souscription_id, " local_souscription_id2 = ",local_souscription_id2); var form = new FormData(); const stored_cookie = getCookie('tokenmysypart'); @@ -484,17 +544,17 @@ function CheckOut(props) { }) .then((data) => data.json()) .then((data) => { - console.log('Success:', data['message'], "data['status'] = ", data['status'], "ORDER ID = ", data['order_id']); + //console.log('Success:', data['message'], "data['status'] = ", data['status'], "ORDER ID = ", data['order_id']); if (String(data['status']) === String("true")) { setorderid(data['order_id']); setapiorderid("1"); - setmenu("ordervalide"); + //setmenu("ordervalide"); setpaymentmodeapi(""); setpaymentmode(""); setgotocheckout(""); if (parseFloat(packprice) > 0) - finalize_abonnement(); + finalize_abonnement(local_souscription_id); } else { @@ -510,6 +570,7 @@ function CheckOut(props) { }); + } const [paymentadded, setpaymentadded] = useState(""); @@ -640,7 +701,7 @@ function CheckOut(props) { ) .then((response) => response.json()) .then((result) => { - console.log('Success:', result['message'], "result['status'] = ", result['status']); + //console.log('Success:', result['message'], "result['status'] = ", result['status']); setaddfacturationinfo_api(result['status']); @@ -665,7 +726,7 @@ function CheckOut(props) { // Gestion payement Stripe - const [price_ch, setprice_ch] = useState("price_1LpyndAbmaEugrFTKZAAkm72"); + const [price_ch, setprice_ch] = useState(""); const [customer_ch, setcustomer_ch] = useState(); const [subscriptionData, setSubscriptionData] = useState(null); @@ -673,6 +734,8 @@ function CheckOut(props) { const [clientSecret_id, setclientSecret_id] = useState(); const [paymentIntent, setPaymentIntent] = useState(); + const [cust_strip_id_global, setcust_strip_id_global] = useState(); + function initpayement_front() { @@ -699,7 +762,8 @@ function CheckOut(props) { if (String(data['status']) === String("true")) { var mylocaltraining = JSON.parse(data.message); - if (mylocaltraining) { + setcust_strip_id_global(mylocaltraining.stripe_account_id); + /* if (mylocaltraining) { cust_strip_id = mylocaltraining.stripe_account_id; var myurl = process.env.REACT_APP_API_URL + "myclass/api/create-subscription/"; @@ -708,14 +772,15 @@ function CheckOut(props) { form.append("customerid", cust_strip_id); - form.append("priceid", price_ch); + form.append("pack", currentpack); + form.append("qty", nb_formations); fetch(myurl, { method: 'POST', body: form, }).then((data) => data.json()) .then((data) => { - //console.log(' #### subscription_id:', data['subscription_id'], ' ### payment_intent_client_secret:', data['payment_intent_client_secret'], "data['Status'] = ", data['status'],); + console.log(' #### retour myclass/api/create-subscription/ = subscription_id:', data['subscription_id'], ' ### payment_intent_client_secret:', data['payment_intent_client_secret'], "data['Status'] = ", data['status'],); if (String(data['status']) === String("true")) { //console.log(" subscriptionId = " + subscriptionId + " -- et clientSecret = " + clientSecret); @@ -731,7 +796,7 @@ function CheckOut(props) { }).catch((error) => { console.log('Error:', error.message); }); - } + } */ } @@ -751,7 +816,9 @@ function CheckOut(props) { const [payement_ok, setpayement_ok] = useState(); const [amount_captured, setamount_captured] = useState(); - function finalize_abonnement() { + const [payement_3DS_url, setpayement_3DS_url] = useState(); + + function finalize_abonnement(local_souscription_id) { //alert("Finalization de l'abonnement "); // Initialize an instance of stripe. @@ -778,12 +845,12 @@ function CheckOut(props) { if (error) { // show error and collect new card details. alert(error.message); - console.log(error.message); + //console.log(error.message); return; } else { //alert(" OKK paymentIntent = " + paymentIntent); - console.log(paymentIntent); + //console.log(paymentIntent); setPaymentIntent(paymentIntent); //alert(" debut conformation cmd "); @@ -793,9 +860,10 @@ function CheckOut(props) { const handleSubmit_MySy_Back = async (e) => { + var myurl = process.env.REACT_APP_API_URL + "myclass/api/confirm_payment/"; var form = new FormData(); - form.append("stripe_payment_id", payement_id); + form.append("stripe_payment_id", local_souscription_id); form.append('token', stored_part); @@ -804,12 +872,15 @@ function CheckOut(props) { body: form, }).then((data) => data.json()) .then((data) => { - //console.log(' #### status:', data['status'], ' -- payement_id:', data['payement_id'], " -- amount_captured = ", data['amount_captured'],); + console.log(' #### status:', data['status'], ' -- payement_id:', + data['payement_id'], " -- amount_captured = ", data['amount_captured'], + " secure_url = ", data['secure_url']); if (String(data['status']) === String("true")) { setpayement_ok("1"); setamount_captured(data['amount_captured']); setPaymentIntent("1"); + setpayement_3DS_url(data['secure_url']); } else { @@ -852,6 +923,13 @@ function CheckOut(props) { } + function finaliser() { + window.open( + "/", + '_self' + ); + } + return (
@@ -863,6 +941,19 @@ function CheckOut(props) { {String(menu) === String("default") &&

Récapitulatif de votre commande

+ setpayement_3DS_url = {payement_3DS_url} + + {payement_3DS_url &&
+ + + +
+ } + +
@@ -877,7 +968,7 @@ function CheckOut(props) { ))} - + code produit :
Detail prix
@@ -908,23 +999,23 @@ function CheckOut(props) {
Nombre de formations :
- {(String(props.packs).toLowerCase() !== String("decouverte")) && -
- -
+ {(String(props.packs).toLowerCase() !== String("decouverte")) && +
+ +
} - {(String(props.packs).toLowerCase() === String("decouverte")) && -
- 1 -
+ {(String(props.packs).toLowerCase() === String("decouverte")) && +
+ 1 +
} diff --git a/src/components/Inscription_Information.js b/src/components/Inscription_Information.js index e1ce849..c1d34e6 100644 --- a/src/components/Inscription_Information.js +++ b/src/components/Inscription_Information.js @@ -108,7 +108,7 @@ function Inscription_Information(props) { var nom = document.getElementsByName("nom")[0].value; if (String(nom).trim().length <= 0) { document.getElementsByName("nom")[0].style.borderColor = "red"; - alert(" Le nom d'utilisateur est obligatoire "); + alert(" Le nom d'utilisateur est obligatoire 3"); return; } @@ -154,7 +154,7 @@ function Inscription_Information(props) { var session = mysession; if (String(nom).trim().length <= 0) { - alert(" Le nom d'utilisateur est obligatoire "); + alert(" Le nom d'utilisateur est obligatoire 2 "); return; } @@ -394,7 +394,7 @@ function Inscription_Information(props) { if (props.Close_info_form) props.Close_info_form(); } - + const editorRef_description = useRef(null); const [field_description, setfield_description] = useState(""); @@ -419,6 +419,7 @@ function Inscription_Information(props) { } + const [SendInformationRequest_api, setSendInformationRequest_api] = useState(""); const [SendInformationRequest_status, setSendInformationRequest_status] = useState(""); const [SendInformationRequest_message, setSendInformationRequest_message] = useState(""); @@ -427,14 +428,16 @@ function Inscription_Information(props) { const formData = new FormData(); const url = process.env.REACT_APP_API_URL + "myclass/api/RenseignementClass/"; - var nom = document.getElementsByName("nom_info")[0].value; + var nom = valnom_info; + + //console.log(" nom = ", nom, ); if (String(nom).trim().length <= 0) { document.getElementsByName("nom_info")[0].style.borderColor = "red"; - alert(" Le nom d'utilisateur est obligatoire "); + alert(" Le nom d'utilisateur est obligatoire 1 "); return; } - var prenom = document.getElementsByName("prenom_info")[0].value; + var prenom = valprenom_info; if (String(prenom).trim().length <= 0) { document.getElementsByName("telephone_info")[0].style.borderColor = "red"; alert(" Le prenom d'utilisateur est obligatoire "); @@ -442,14 +445,14 @@ function Inscription_Information(props) { } - var telephone = document.getElementsByName("telephone_info")[0].value; + var telephone = valtelephone_info; if (String(telephone).trim().length < 10) { document.getElementsByName("telephone_info")[0].style.borderColor = "red"; alert(" Le numero de telephone doit comporter 10 chiffres "); return; } - var email = document.getElementsByName("email_info")[0].value; + var email = valemail_info; var re2 = /\S+@\S+\.\S+/; if (re2.test(email) === false) { alert("L'email est incorrect "); @@ -458,11 +461,8 @@ function Inscription_Information(props) { } - - var employeur = "" - if (document.getElementById('employeur_info') && document.getElementById('employeur_info').value) { - employeur = document.getElementById('employeur_info').value; - } + var employeur = valemployeur_info; + var message = ""; if (editorRef_description.current) { @@ -537,12 +537,12 @@ function Inscription_Information(props) { } - if (!RatingValue){ + if (!RatingValue) { alert(" Vous n'avez pas donné une appreciation globle. Le point N° 1. Merci d'avance") return; } - + formData.append('inscription_id', props.eval_token); @@ -582,6 +582,40 @@ function Inscription_Information(props) { const [RatingValue, setRatingValue] = useState(0); let datafromchild = "yaaaaa child"; + const [valnom_info, setvalnom_info] = useState(); + const [valprenom_info, setvalprenom_info] = useState(); + const [valemail_info, setvalemail_info] = useState(); + const [valtelephone_info, setvaltelephone_info] = useState(); + const [valemployeur_info, setvalemployeur_info] = useState(); + + const handlervalnom_info = event => { + var val = event.target.value; + setvalnom_info(val); + }; + + + const handlervalprenom_info = event => { + var val = event.target.value; + setvalprenom_info(val); + }; + + + const handlervalemail_info = event => { + var val = event.target.value; + setvalemail_info(val); + }; + + + const handlervaltelephone_info = event => { + var val = event.target.value; + setvaltelephone_info(val); + }; + + const handlervalemployeur_info = event => { + var val = event.target.value; + setvalemployeur_info(val); + }; + return (
@@ -633,13 +667,13 @@ function Inscription_Information(props) { @@ -951,8 +985,9 @@ function Inscription_Information(props) { ), }} + onChange={handlervalnom_info} variant="standard" /> @@ -978,8 +1014,10 @@ function Inscription_Information(props) { ), }} + onChange={handlervalprenom_info} variant="standard" /> + ), }} + onChange={handlervalemail_info} variant="standard" /> @@ -1009,6 +1048,7 @@ function Inscription_Information(props) { ), }} + onChange={handlervaltelephone_info} variant="standard" /> @@ -1025,6 +1065,7 @@ function Inscription_Information(props) { ), }} + onChange={handlervalemployeur_info} variant="standard" /> diff --git a/src/components/PaymentMethode_Carte.js b/src/components/PaymentMethode_Carte.js index ffa3b91..6b150eb 100644 --- a/src/components/PaymentMethode_Carte.js +++ b/src/components/PaymentMethode_Carte.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; import Button from '@mui/material/Button'; import img_visa_mastercard from "./../mysy_img/visa_mastercard.png"; -import img_logo_stripe from "./../mysy_img/logo-stripe-secure.png"; +import img_logo_stripe from "./../mysy_img/logo-stripe-secure.png"; import img_paypal from "./../mysy_img/paypal.png"; import axios from "axios"; import Box from '@mui/material/Box'; @@ -98,8 +98,9 @@ function PaymentMethodeNoConnect(props) { const stored_part = getCookie('tokenmysypart'); - const [paymenadded_api, setpaymenadded_api] = useState([]); - const [paymenadded_message, setpaymenadded_message] = useState([]); + const [RecordData_api, setRecordData_api] = useState(); + const [RecordData_result, setRecordData_result] = useState(); + const [RecordData_message, setRecordData_message] = useState(); function RecordData() { const formData = new FormData(); @@ -114,6 +115,9 @@ function PaymentMethodeNoConnect(props) { formData.append('pwd', pwd); formData.append('secret', secret); + + console.log(" menu = ", menu); + if (String(menu) === String("cb")) { var nom_carte = document.getElementsByName("nom_carte")[0].value; var num_carte = document.getElementsByName("num_carte")[0].value; @@ -136,21 +140,27 @@ function PaymentMethodeNoConnect(props) { .then((response) => response.json()) .then((result) => { console.log(' paymenadded_api Success:', result['message'], "result['status'] = ", result['status']); - setmyApiResponse(result['status']); - setResult(result['message']); + setRecordData_api(result['status']); + console.log(" FFFF "); if (String(result['status']) === String("true")) { + setpaymentadded("1"); + } else { + setpaymentadded("0"); - } + + } + }) .catch((error) => { console.error('Error:', error); - setmyApiResponse("false"); + setRecordData_api("false"); + setpaymentadded("0"); }); @@ -233,15 +243,6 @@ function PaymentMethodeNoConnect(props) { {String(paymentadded) === String("1") &&
Le mode de Paiement a été correctement ajouté - { - - history.push({ - pathname: "/Partner/", - state: { - currentpack: props.currentpack, local_sub_menu: 'abonnement' - } - })} - {window.location.reload()}
@@ -256,7 +257,7 @@ function PaymentMethodeNoConnect(props) {
  - +
:not(style)': { m: 1 }, width: '100%', }}> diff --git a/src/components/Recherche_new_v2.js b/src/components/Recherche_new_v2.js index 0b03c86..204ce10 100644 --- a/src/components/Recherche_new_v2.js +++ b/src/components/Recherche_new_v2.js @@ -2660,7 +2660,6 @@ const Recherche_new_v2 = () => {