hai due possibilita:

- fai digitare all'utente il numero di carta su una pagina protetta con protocollo https (e apposito certificato), e poi scali "offline" l'importo grazie ad appositi strumenti di incasso che ti forniscono le banche;
- ti appoggi ad un servizio di qualche banca

Prima soluzione te la sconsiglio vivamente se è un sito che deve vendere in Italia perchè qui nessuno digita il codice della propria carta se non vede marchi famosi di banche o circuiti internazionali sulla pagina;

seconda soluzione ha costi maggiori ma ti solleva da tutte le rogne sulla sicurezza dei dati. Il cliente viene spedito dal tuo sito al server sicuro della banca, che poi provvede a comunicarti (via mail, pannello amministrazione ecc) l'incasso.
Tra i fornitori di questo servizio i principali sono:
- banca sella: servizio, assistenza ed affidabilita ottime, prezzi.. di conseguenza (ha anche un canone fisso)
- paypal: internazionale, famosissimo, semplice da integrare; commissioni alte su ciascuna transazione ma nessun costo fisso;
- bankpass: è il circuito delle banche italiane, il vantaggio è che le condizioni le decide la banca con il cliente (quindi se hai gia un ottimo rapporto con la tua banca puoi spuntare condizioni migliori)