Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    simplecart inserimento ordine dopo pagamento

    Buongiorno a tutti,

    ho creato un ecommerce con simplecart, funziona tutto perfettamente, solo che ho problemi con la parte finale, cioè l'inserimento dell'ordine all'interno del database dopo il pagamento tramite paypal....

    Nella pagina success.php ho messo l'INSERT ma ovviamente i dati vengono resettati e non so come farli passare da paypal al sito...

    Mi potete aiutare?

    Grazie
    Claudia

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    a prescindere che l'ordine deve essere inserito prima del pagamento. dopo lo cambi lo stato.

    se non posti il codice di tutto il processo come pensi che ti si possa aiutare?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Ciao e grazie per la risposta.
    Non ho postato il codice perchè fa tutto la libreria di simplecart e comunque volevo capire prima la procedura.
    Cmq, a titolo informativo.....
    avevo pensato anch'io di fare prima l'inserimento e poi una eventuale conferma, ma credevo di affollare inutilmente il database con inserimenti nulli.

    Grazie ancora
    Claudia

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    fai girare uno script che elimina gli inserimenti inutili.

    l'ordine lo inserisci prima perché se il pagamento salta non è che il cliente deve ripetere l'ordine. Deve solo ripeter il pagamento...
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    ok, allora....
    al click del checkout, oltre ad andare su paypal, esegue questo script

    codice:
    $(".saveCart").click(function(){
        $(".itemRow").each(function(){
            $.ajax({
                type: 'POST',
                url: '../insertOrder.php',
                dataType: 'html',
                data: {
                   idUtente: "<?php echo $_SESSION['login'] ?>",
                   itemName: $(this).find(".item-name").text(),
                   itemPrice: $(this).find(".item-price").text(),
                   itemQty: $(this).find(".item-quantity").text(),
                   itemTotal: $(this).find(".item-total").text(),
                },
                success: function (data) {
                    alert(data);
                }
            }); //Ajax
        });
    });
    che però mi fa un invio per ogni prodotto in carrello.... il foreach lo devo fare nel javascript o nel php?
    se il pagamento non va a buon fine e si clicca nuovamente il checkout, fa un altro inserimento?

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    l'insert lo fai lato php. quindi foreach li. una volta fatto insert lo porti al pagamento e se fallisce lo porti una pagina diversa. finito l'insert devi svuotare il carrello.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  7. #7
    Ciao, purtroppo non riesco a fare il foreach.....

    Codice PHP:
    $itemName    $_POST['itemName'];
    $arr = array($itemName);
    foreach (
    $arr as $value) {
        
    $descrizione.=$value;
    }
    echo 
    $descrizione."<br />\n"
    ma facendo un invio per ogni prodotto in carrello, nella pagina in php mi da sempre un risultato e quindi mi fa un inserimento per volta....
    da javascript si può fare un foreach che raggruppa la descrizione dei prodotti?

  8. #8
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Perché non fai il dump di $itemName? Giusto per verificare cosa contiene.
    Poi usa strumenti come "analizza elemento" di Firefox o "Ispeziona" di Chrome per vedere cosa passa alla pagina PHP e cosa questa torna.

  9. #9
    nel php è come se mi passasse in record per volta e quindi fa un inserimento per ogni record....

    ho ovviato facendo un append in javascript e solo dopo parte il codice ajax

    codice:
    $(".saveCart").click(function(){    
        $(".itemRow").each(function(){
            $("#sth").append($(this).find(".item-name").text()+', qty= '+$(this).find(".item-quantity").text()+', '+$(this).find(".item-price").text()+'\n');
        });
        $.ajax({
                type: 'POST',
                url: '../insertOrder.php',
                dataType: 'html',
                data: {
                   idUtente: <?php echo $_SESSION['login'] ?>,
                   itemName: $('#sth').html(),
                   itemTotal: $("body").find(".simpleCart_grandTotal").text(),
                   shipping: $("body").find(".simpleCart_shipping").text(),
                },
                success: function (data) {
                    $('<a href="javascript:;" class="simpleCart_checkout"></a>').load();
                }
            }); //Ajax
    });
    però dopo l'inserimento corretto non mi fa il checkout, sicuramente è sbagliato questo
    $('<a href="javascript:;" class="simpleCart_checkout"></a>').load();

  10. #10
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    @claudia_c82 non c'entra molto con le soluzioni per il tuo codice, ma se vuoi questo articolo uscito oggi sul blog di html.it ti può consolare: http://blog.html.it/14/11/2016/e-com...i-abbandonati/ perché come dice all'apertura dell'articolo, i carrelli abbandonati non sono l'eccezione ma la regola.
    Due cose sul tuo codice: uno prova a identificare l'ancora, così diventa semplice non solo gestirlo ma anche leggerlo, quindi scrivi magari:
    <a id="checkout" href="#checkout" class="simpleCart_checkout">Paga!</a> e poi nella tua funzione success: function( data ){ $('#checkout').load(); } e poi usa le funzioni di analisi del browser, così passo passo vedi che succede e cosa riportano le variabili.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.