2010-07-09 33 views
5

Tôi đang tạo trang web thương mại điện tử sử dụng cổng thanh toán DPS. Cổng thanh toán chỉ cần chi tiết người dùng và trả về việc thanh toán có thành công hay không.Chấp nhận phương thức thanh toán tốt nhất

Tôi chỉ tự hỏi liệu có ai có bất kỳ tài nguyên tốt nào về cách tạo trang thanh toán thực sự mạnh mẽ có thể xử lý một lượng lớn giao dịch một cách an toàn hay không. Có kỹ thuật và chiến lược được thử nghiệm tốt cho các trang thanh toán có khối lượng cao không?

+0

Bạn có ý nghĩa gì với "số lượng lớn giao dịch"? Bạn có thể cho chúng tôi một ước tính sơ bộ không? – webbiedave

+0

Làm cho người dùng của bạn một ưu tiên và tích hợp với Paypal, Google Checkout, ... – Stephen

+0

vào thời điểm này chỉ khoảng 200 một ngày nhưng điều này dự kiến ​​sẽ tăng lên khoảng 1000 khá sớm. vì vậy vẫn còn khá nhỏ, nhưng đủ lớn mà chúng ta cần phải có một vài biện pháp phòng ngừa và viết mã mạnh mẽ có thể xử lý các vấn đề bất ngờ như thời gian chờ máy chủ và các vấn đề tương tranh. – nick

Trả lời

1

Tôi không phải là một chuyên gia về xử lý thanh toán và phát triển các ứng dụng thương mại điện tử, nhưng một số hướng dẫn (commonsense) của tôi là:

  1. Force HTTPS cho việc nộp thông tin từ những người dùng CC (khá nhiều tất cả các xử lý thanh toán cổng thông tin buộc sử dụng SSL khi giao tiếp với cổng của họ);
  2. Không lưu trữ thông tin thẻ tín dụng trong cơ sở dữ liệu sau khi xử lý; *
  3. Làm theo hướng dẫn bảo mật chung (ví dụ: không lưu mật khẩu thuần hoặc mật khẩu email);

* Lưu ý:

PCI không cho phép việc lưu trữ thông tin thẻ tín dụng sau khi chế biến, nhưng bạn cần lưu trữ PCI-tuân thủ, mà thường là khá tốn kém. Và thậm chí sau đó bạn đang chạy một nguy cơ rất lớn. Vì vậy, nếu bạn quyết định cung cấp cho khách hàng lựa chọn đó (và tôi biết điều đó rất hấp dẫn vì các trang web lớn như Amazon cung cấp "một lần nhấp" thanh toán), bạn nên đảm bảo rằng ứng dụng và máy chủ của bạn bị khóa chặt.

Tôi không biết nhiều về vấn đề khả năng mở rộng với xử lý thanh toán vì tôi không có kinh nghiệm trong khu vực đó. Tất cả các ứng dụng của tôi chỉ xử lý khoảng 5-25 đơn đặt hàng mỗi ngày.

+0

Xin cảm ơn vì đã trả lời nhanh chóng của bạn. Chúng tôi sử dụng một cổng thanh toán được gọi là DPS, công cụ này sẽ quản lý nhiều yếu tố cần thiết, phần còn lại của những điều cơ bản mà chúng tôi đã thực hiện. Chúng tôi hiện đang thực hiện khoảng 200 giao dịch mỗi ngày và phát triển nhanh chóng. Mối quan tâm của tôi liên quan nhiều hơn đến các vấn đề tương tranh, giao dịch postgres và thời gian chờ của máy chủ. Nếu bất cứ ai biết về một trang thanh toán thực sự mạnh mẽ là nguồn mở hoặc bất kỳ tài nguyên nào để xử lý khối lượng lớn các giao dịch một cách an toàn sẽ được nhiều người đánh giá cao! – nick

+0

À, có vẻ như bạn lo lắng về việc xử lý thanh toán của chính ứng dụng của bạn (tạo/lưu trữ hóa đơn), không tương tác với cổng thanh toán; đúng không? –

+0

có chính xác là – nick

0

Sử dụng SagePay (trước đây là Protx), nó hỗ trợ PayPal và cho phép bạn thực hiện thanh toán bằng thẻ. Nó cũng tích hợp vào Sage Suite (một giấc mơ accoutants) nó có thể tự động hóa rất nhiều thời gian nhập dữ liệu.

www.sagepay.com

Như những người khác đang nói - Đôi khi đối với các trang web nhỏ hơn, bạn không nên tự mạo hiểm khi tự lưu trữ thẻ. Tôi thích thanh toán trên các trang web mà tôi được chuyển hướng đến một dịch vụ thanh toán nổi tiếng (như paypal, sagepay hoặc google checkout) vì tôi biết rằng rất nhiều tiền được chi cho việc đảm bảo phần mềm này. Nếu bạn là một trang web mà tôi đang sử dụng lần đầu tiên, tôi sẽ được đưa ra.

3

Bạn sẽ muốn thiết kế mã theo cách sao cho giữ dữ liệu ở trạng thái hợp lệ.

Trách nhiệm lớn mà bạn phải đối mặt là bạn gửi dữ liệu cho Auth/Capture, và sau đó, vì bất kỳ lý do gì, điều gì đó cuối cùng của bạn không thành công. Bạn đã tính phí cho khách hàng của mình, nhưng vì lý do gì đó, bạn không biết thực tế này! Cuối cùng, một số khách hàng giận dữ sẽ bắt đầu la hét với bạn qua điện thoại. Đó là một thời điểm tồi tệ.

Ý tưởng chung là đặt một số biện pháp bảo vệ tại chỗ để bạn có thể xác định các loại vấn đề này. Vấn đề nên rất hiếm, nếu nó thậm chí còn xảy ra, do đó, sửa chữa các mess có lẽ sẽ là một quá trình thủ công.

Dưới đây là những gì tôi sẽ làm gì:

  1. Thiết kế một bảng cơ sở dữ liệu theo dõi thanh toán (chúng ta hãy gọi nó là "thanh toán"), và liên hệ nó để "đặt hàng" bảng của bạn (tài liệu tham khảo để payment.order_id order.id).
  2. Khi đến lúc tương tác với cổng của bạn, hãy thiết lập bản ghi thanh toán mới, chứa bất kỳ dữ liệu không nhạy cảm nào bạn sắp chuyển đến cổng thanh toán. Có cột "trạng thái" trong bảng thanh toán của bạn và đặt cột "đang chờ xử lý"
  3. Cố gắng giao dịch auth/capture với cổng của bạn. Khi nhận được phản hồi, hãy cập nhật trạng thái hồ sơ thanh toán thành "được chấp thuận", "bị từ chối" hoặc "lỗi" và lưu bất kỳ siêu dữ liệu có liên quan nào (lý do từ chối, ID giao dịch, v.v ...). Nếu cổng đó hết thời gian, đó có thể chỉ là một loại "lỗi", mặc dù bạn có thể thử lại một lần hoặc hai lần.

Chạy một công việc định kỳ hiện tại và sau đó tìm kiếm hồ sơ thanh toán "đang chờ xử lý" và cũ hơn 30 giây. Nếu bạn tìm thấy bất kỳ, hoảng sợ và nói với một nhà phát triển/người hoạt động.

Chắc chắn có những thứ khác có thể xảy ra, nhưng đây là điều quan trọng nhất, và chiến lược tôi đã mô tả là một trong nhiều trường hợp để giảm thiểu rủi ro.

+0

Điều này nghe có vẻ giống như một cách khá tốt để giữ hồ sơ thanh toán của bạn đồng bộ với những gì cổng thanh toán của bạn đã thực sự xử lý. Tôi sẽ cần một cái gì đó như thế này trong tương lai gần và có thể nhìn vào mô hình này một lần nữa. –

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