2012-06-29 44 views
8

Tôi đang làm việc trên ứng dụng bán vé di động. Hệ thống cho phép người dùng thanh toán cho các mặt hàng bằng cách sử dụng api của bên thứ ba (Cardio) để lưu tất cả thông tin vào máy chủ của tôi đang ngồi vui vẻ trên đám mây.Làm cách nào để lưu một đơn đặt hàng an toàn trên đám mây, nếu bạn không thể xác minh thanh toán từ đám mây?

Vấn đề sôi xuống: Bởi vì (1) quá trình thanh toán xảy ra hoàn toàn trên điện thoại, và (2) không có API cho phép máy chủ của tôi để xác minh với bộ vi xử lý thanh toán mà việc thanh toán đã thực sự xảy ra , Tôi đang tự hỏi làm thế nào tốt nhất để đi về xác minh rằng người dùng đã thực sự trả tiền cho các mục trước khi đánh dấu nó như là trả tiền trong cơ sở dữ liệu của tôi trên máy chủ của tôi.

Bạn thấy, người dùng có thể thực hiện theo các cuộc gọi api của tôi theo cách thủ công, đăng nhập vào tài khoản của họ và sau đó gửi lệnh đến máy chủ của tôi để đánh dấu giao dịch mua mà không phải trả tiền cho mặt hàng đó.

Vì vậy, câu hỏi là: Làm cách nào để xác minh thanh toán đã diễn ra trên máy chủ của tôi hoặc thông qua một số loại bắt tay hoặc mã hóa với ứng dụng dành cho thiết bị di động?

Cách tiếp cận hiện tại của tôi: Tôi đang gửi thông tin rõ ràng cần thiết qua cuộc gọi SSL (HTTPS) đến máy chủ. Cùng với điều này, tôi gửi một băm của chuỗi đó và xác minh bằng cách sử dụng cùng một thuật toán trên máy chủ của tôi mà chuỗi được gửi khớp với băm được gửi đi. Ý nghĩ là, sau đó tôi có thể sử dụng một số loại khóa bí mật để tạo băm này và sau đó xác minh văn bản thuần túy khớp với băm trên đầu máy chủ để đảm bảo rằng không có gì thay đổi. Vấn đề của tôi với giải pháp này, là tôi không nghĩ rằng nó thực sự là an toàn ... Ai đó có thể, thay vì dễ dàng crack thuật toán, bởi vì họ được đưa ra mã hóa và văn bản thuần túy.

Cảm ơn bạn đã tìm kiếm!

Stephen

Trả lời

6

Câu trả lời ngắn gọn là bạn không thể tin tưởng khách hàng, thời gian. Hack xung quanh tất cả những gì bạn muốn - đó là không có cách nào để xây dựng thông tin giao dịch.

Nếu bộ xử lý thanh toán của bạn không có API mà bạn có thể dựa vào, thì bạn cần một cái tốt hơn ... giải quyết vấn đề của bạn ngay lập tức và cho tương lai.

0

Chiếc điện thoại di động nên quét các thông tin thẻ tín dụng và gửi nó tới máy chủ của bạn, và máy chủ phải là một để thực hiện quá trình thanh toán

Các vấn đề liên quan