Nunca almacene los detalles de la tarjeta de crédito: número, ccv, exp, etc. Rara vez hay una situación en la que los necesite. En su lugar, simplemente almacene el código de respuesta y el número de referencia de su puerta de enlace. Esos son suficientes para emitir reembolsos cuando sea necesario.
De acuerdo, a partir de tus comentarios estás usando PayPal.
Paypal tiene varias puertas de enlace diferentes, voy a asumir que es la de PayFlow Pro.
Primero, como se indicó anteriormente, NO almacene la información de la tarjeta de crédito localmente. Simplemente acepte la publicación del usuario y envíe inmediatamente los datos utilizando la API de PayPal. Una vez que obtenga la respuesta, conserve el ID de transacción y guárdelo.
Bajo ninguna circunstancia debe "registrar" la información de la tarjeta de crédito. Los registros pueden ser pirateados y usted no quiere esa responsabilidad.
En el caso de que esté permitiendo que el usuario final se configure para pagos recurrentes, todavía NO ALMACENE LA INFORMACIÓN DE CC. La API de paypal puede manejar esto y le proporcionará los ID de transacción relevantes para guardar para futuras referencias.
A continuación, revise la documentación de PayPal para conocer sus mejores prácticas.
Finalmente, no almacene el número de tarjeta de crédito. Ni siquiera parte de ello. NO necesita un botón "recordar mis datos de pago". Esas son una muy mala idea y gritan "objetivo" a los hackers.
Bien, ¿ahora qué debes hacer? Primero, lea la literatura de cumplimiento de PCI. En segundo lugar, leer la literatura OWASP. Tercero, construya su sitio y asegúrelo. En cuarto lugar, contratar a una empresa de terceros para hacer una auditoría de seguridad. Quinto, arregle lo que sea que encuentren y pídales que hagan otra auditoría. Repita hasta que su sitio sea considerado "seguro" por alguien que no sea usted. Preferiblemente alguien con experiencia haciendo auditorías. No será barato. Si es así, entonces has contratado a la compañía equivocada.
En curso, manténgase actualizado con sus actualizaciones de Windows y la puerta de enlace. Si PayPal envía una nueva API, verifíquela, actualice su código e implemente.
Cada vez que MS envíe una actualización, aplíquela. No esperes, solo hazlo. Si algo se rompe, arréglalo entonces. Ya para cuando MS u otro proveedor emite un parche, casi siempre hay una vulnerabilidad implementada dentro de uno o dos días para ese parche. A veces el exploit ya estaba ahí.