Attualmente sto sviluppando un'applicazione iOS che ha la possibilità di pagare un ordine (pulizia vestiti) tramite la scansione delle informazioni della carta di credito utilizzando la fotocamera del dispositivo. Non posso utilizzare Apple In-App Purchases (IAP) per questo, perché è un bene fisico non virtuale:
11.3 Apps using IAP to purchase physical goods or goods and services used outside of the application will be rejected
Questi pagamenti sono future payments
nella terminologia PayPal, quindi non posso addebitare immediatamente la carta utente. Sfortunatamente, la versione attuale di PayPal Mobile SDK non ha un'opzione per utilizzare una carta di credito per questo:
When you integrate your mobile app with PayPal Mobile SDK 2.0, your customers can give permission to be billed multiple times in the future without logging into their PayPal account. PayPal payments (not credit cards) are supported.
Quindi ho implementato il prossimo approccio: un'app esegue la scansione della scheda utente e quindi invio PAN scansionato / ccv / nome del proprietario / data di scadenza tramite HTTPS (SSL) al mio server, che, a sua volta, li invia direttamente a PayPal
a ottenere un token OAuth per il pagamento futuro. Non memorizzo queste informazioni da nessuna parte.
Nei paragrafi 4.1 e 4.2 delle specifiche PCI DSS ho visto:
" Never send unprotected PANs by end-user messaging technologies"
Ma nel mio scenario non si tratta di una tecnologia di messaggistica degli utenti finali. PCI DSS dice che se il browser utilizza SSL è ok per inviare i dati attraverso di esso:
Requirement 4: Encrypt transmission of cardholder data across open, public networks
Come ho capito, non c'è differenza su quale client sto usando: browser o app mobile se crittogrado i miei dati, giusto?
La mia domanda è valida per questo processo o la mia app viola alcune regole di PCI DSS?