• User

    [PHP+MYSQL] Pagamenti

    Salve ragazzi.
    Avrei bisogno di un idea, di un consiglio o di qualsiasi cosa che mi possa essere utile a capire come terminare il mio progetto.
    Devo gestire dei pagamenti di abbonamenti tramite un sito web in php+mysql.

    Premettiamo che non so nulla in materia di pagamenti, so che però molti siti, una volta pagato con carta di credito non so come fanno a controllare l'avevnuto pagamento ed in maniera automatica ti fanno accedere alle funzioni "premium" (chiamiamole così...).
    Intanto mi piacerebbe sapere come funzinoa questa cosa per eventualmente fare un idea e PROVARE a svilupparla.

    Ma il punto non è questo(anceh se gradirei una risposta al punto precedente), piuttosto il mio problema vero e proprio adesso sta qui. Siccome nel sito ho messo come modalità di pagamento il bonifico bancario o c.c.p è naturale che passino alcuni giorni priam di verificar l'effettivo pagamento!

    Una volta ricevuto il pagamento,controllato da me manualmente, dovrei "spuntare" una checkbox nella pagina di gestione utenti del mio sito ed attribuire un codice random numerico all'utente pagante che serivrà per effettuare operazioni che non ha senso descrivere qui ( se siete curiosi chiedete pure cmq ).

    Questo codice inoltre dovrà avere una scadenza. una volta passata tale data l'utente non potrà più usufruire dei servizi precedentemente acqusitati.
    Quindi penso che in questo caso si dovrebbe cancellare automaticamente dalla tabella "utenti_paganti_in_corso" e mettersi in "utenti_paganti_passati".

    Avete qualche consiglio su come sviluppare questo problema?
    Si accettano e son gradite anche le critiche.

    Un grazie ed un bacio:bigsmile: a chi mi risponderà!!!


  • User

    Una risposta semplice non c'e'. Per quanto riguarda i pagamenti come e se avvengono, è roba gestita dal providere diservizi che utilizzi. Paypal è un ottimo metodo per i pagamenti online facile da implementare, basta andare sul loro sito e leggere le info.

    Il secondo punto non è chiaro cosa vuoi sapere. Ci sono una moltitudine di modi per per effettuare quello che chiedi, dipende dal progetto. Ci sono soluzioni "chiavi in mano" esempio virtuemart di joomla che ha già il pannello e permette le modifiche manuali, senza contare l'ottimo sistema di gestione utenti.

    Buona Fortuna.. se non fosse stato per il bacio sarei potuto essere più esauriente 😄


  • User Attivo

    Ciao giuliox,
    da quello che ho capito la spunta dei pagamenti continuerai a farla a mano.

    Invece, per quanto riguarda il codice random e la scadenza potresti fare così:

    1. Codice random:
      Il codice potrebbe essere l'ID univoco dei record della ipotetica tabella
      'pagamenti_ricevuti':
      inserisci la spunta -> salvi un nuovo record in 'pagamenti_ricevuti' ->estrai l'id del pagamento.

    2. scadenza:
      La scadenza, se non ho capito male, è predeterminata o comunque sei te che la assegni. Sempre nella suddetta tabella aggiungi la colonna scadenza.
      Per capire se l'utente può ancora usufruire del servizio per cui ha pagato ti basterebbe controllare la data del giorno in cui si logga l'utente con quella di scadenza e se combacia (o è già scaduta) al momento del login ridirigi l'utente verso una pagina di segnalazione nella quale, volendo, potrebbe già decidere di rinnovare l'acquisto del tuo bene.

    Mi sembra che così possa funzionare, non sono sicuro però di aver capito la tua richiesta.

    Buona serata
    :ciauz:


  • User

    Innanzitutto grazie per avermi risposto.
    Riguardo al primo punto mi hai dato una buona idea, penso che applicherò pertanto questa soluzione.

    Riguardo al secondo forse mi ero espresso male io.

    Rispiego il tutto provando ad essere più chiaro e fornendo un esempio.
    Praticamente tu utente hai pagato il servizio tramite un bollettino postale/bancario o un assegno o tramite postepay.
    Accedi ad una pagina del sito nella quale inserisci alcuni dati relativi al pagamento cosicche mi vengano inviati via mail ed io posso effettivamente controllare l'avvenuto corretto pagamento e ti abilito, tramite una pagina di gestione ad usufruire dei servizi.
    Se io ti ho abilitato , per esempio, oggi 01/01/2000 alle ore 08:00, in base al tipo di abbonamento da te pagato, per esmpio un semestrale, che selezionerò da una selectbox del pannello di gestione, avrai inviato un codice che ti permetterà di usufruire dei servizi e potrai usufruirne finchè non sarà giorno 01/06/2000 allore ore 08:00.

    Se invece inserisci il codice per usufruire del servizio alle ore 08:01 e premi "invia" verrai inviato ad una pagina di rinnovo abbonamento.

    Spero di esser stato più chiaro.
    Se riesci a rispondermi prova ad allegare una bozza di codice esplicativo se ti è possibile.
    Grazie!


  • User Attivo

    Ciao giuliox,
    penso di aver capito.

    A me pare che il sistema che avevo pensato sia ancora valido,
    la differenza sarebbe che avresti bisogno di un campo sul DB definito come data+ora anziché solo data, in modo da poter gestire anche ore, minuti e secondi.

    MySQL, mi pare, di default usa proprio quel tipo di formato per i campi data.

    Ciao


  • User

    Perfetto. Prendo per buona questa soluzione.
    Volevo chiederti un ultima cosa, dato che son appena entrato nel mondo php+mysql, mi daresti una dritta su come implementare questa situazione ?

    Vediamo se ho capito bene, eventualmente correggimi epr cortesia :

    1-l'utente mi invia una mail automatica dal sito in maniera tale che io capisca che ha pagato.

    2-la leggo ed inserisco nel mio pannello di controllo i dati che mi interessano per abilitare l'utente donandogli un codice radom.

    3-quando creo il record della tabella autorizzazione(utente,codice_inserzione,scadenza,abilitazione) entrambi chiave primaria devo aggiungere un quinto campo (chiaramente lo aggiungo in fase di creazione della tabella) chiamato "data" di tipo timestamp.

    4- l'utente accede ai servizi inserendo nelle textbox dove interessa il suo "nome"(ovvero cio che nella tabella autorizzazione corrisponde ad utente), il codic_inserzionista inviato via mail e poi con una condizione IF abilitizaione=true (è un campo con tutti true, lo uso perchè penso sia comodo, se si puo fare a meno fatemelo sapere)faccio un controllo sulla "data".
    Questo controllo sulla data come lo sviluppo?
    Non ho mai lavorato con questo tipo di dato, ne con le sessioni(queste ultime le ho usate solo per alcune cose ma non ne ho capito effettivamente le potenzialità).
    Mi daresti una dritta su come effettuare il controllo?
    sarebbe tipo IF (data_odierna>=scadenza){rinnova} else {fai cio che devi fare}

    Come la traduco in linguaggio php la condizione dell'if ?