Compare commits
4 Commits
1.1.1
...
2df974371c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2df974371c | ||
|
|
31bdef2407 | ||
|
|
f0109b703a | ||
|
|
50921780a9 |
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "web-app",
|
"name": "web-app",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "1.1.1",
|
"version": "1.1.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --host :: --port 3000",
|
"dev": "vite --host :: --port 3000",
|
||||||
|
|||||||
@@ -87,13 +87,14 @@ export const api = {
|
|||||||
/**
|
/**
|
||||||
* Confirme une commande et envoie les emails
|
* Confirme une commande et envoie les emails
|
||||||
*/
|
*/
|
||||||
async confirmOrder(orderData, sessionId) {
|
async confirmOrder(orderData, sessionId, orderId = null) {
|
||||||
try {
|
try {
|
||||||
const data = await apiRequest('/orders/confirm', {
|
const data = await apiRequest('/orders/confirm', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: {
|
body: {
|
||||||
orderData,
|
orderData,
|
||||||
sessionId,
|
sessionId,
|
||||||
|
orderId,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
return { data, error: null };
|
return { data, error: null };
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import React, { useEffect, useState } from 'react';
|
|||||||
const [orderDetails, setOrderDetails] = useState(null);
|
const [orderDetails, setOrderDetails] = useState(null);
|
||||||
const [searchParams] = useSearchParams();
|
const [searchParams] = useSearchParams();
|
||||||
const sessionId = searchParams.get('session_id');
|
const sessionId = searchParams.get('session_id');
|
||||||
|
const orderId = searchParams.get('order_id');
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const [isLoading, setIsLoading] = useState(true);
|
const [isLoading, setIsLoading] = useState(true);
|
||||||
const [mainStatus, setMainStatus] = useState({ type: 'info', message: 'Traitement en cours...' });
|
const [mainStatus, setMainStatus] = useState({ type: 'info', message: 'Traitement en cours...' });
|
||||||
@@ -77,7 +78,7 @@ import React, { useEffect, useState } from 'react';
|
|||||||
sessionStorage.setItem(processedKey, 'true');
|
sessionStorage.setItem(processedKey, 'true');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { data: functionResponse, error: functionError } = await api.orders.confirmOrder(orderDataForDB, sessionId);
|
const { data: functionResponse, error: functionError } = await api.orders.confirmOrder(orderDataForDB, sessionId, orderId);
|
||||||
|
|
||||||
if (functionError) {
|
if (functionError) {
|
||||||
console.error("API error:", functionError);
|
console.error("API error:", functionError);
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ const OrderPage = () => {
|
|||||||
orderData: orderDataForDB,
|
orderData: orderDataForDB,
|
||||||
quantity: 1,
|
quantity: 1,
|
||||||
customerEmail: formData.email,
|
customerEmail: formData.email,
|
||||||
successUrl: `${window.location.origin}/confirmation?session_id={CHECKOUT_SESSION_ID}`,
|
successUrl: `${window.location.origin}/confirmation`,
|
||||||
cancelUrl: `${window.location.origin}/commander`,
|
cancelUrl: `${window.location.origin}/commander`,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user