2010-02-18 31 views
6

Tôi đang tạo một cửa hàng trực tuyến đơn giản với PHP được tích hợp với PayPal bán các mặt hàng độc đáo. Những gì tôi đang tự hỏi là làm thế nào các cửa hàng khác đối phó với nhiều người cố gắng để đi qua quá trình thanh toán với cùng một mục.Đối phó với hai người mua một mặt hàng duy nhất trong cửa hàng trực tuyến cùng lúc

Đây là dự thảo chiến lược hiện tại của tôi:

  • Items có ba loại trạng thái: có sẵn, ở trạng thái giữ & bán.
  • Khi người dùng chuyển sang trang thanh toán PayPal, nó sẽ kiểm tra trạng thái của tất cả các mục trong giỏ hàng để đảm bảo chúng có sẵn. Nó cũng thiết lập trạng thái của mục để "giữ lại" cho đến khi họ trở lại sau khi thanh toán được xác nhận hoặc nó lần ra (10 phút? Không chắc chắn điều này nên được).

Thực tiễn tiêu chuẩn này hay có cách thực tế hơn tôi nên thực hiện?

Cảm ơn trước!

+0

Đây là câu hỏi về yêu cầu kinh doanh, chứ không phải lập trình. – Richard

+9

@Richard Tôi không đồng ý, về tính đồng nhất của nó. – Justin

+3

@Richard: Đáp ứng các yêu cầu nghiệp vụ là một phần khá quan trọng trong lập trình, IMO. Chắc chắn lập trình liên quan. – Treb

Trả lời

0

tôi sẽ nói phần đầu của chiến lược của bạn là đúng - khi bạn chuyển sang trang thanh toán, cờ tất cả các sản phẩm như 'tạm dừng'

Khi người dùng đã hoàn tất việc thanh toán, bạn sẽ nhận được một postback từ Paypal cho phép bạn biết liệu ủy quyền có thành công hay không (và cũng có thể cho phép bạn kiểm tra kết quả CSC/CVV2), và tại thời điểm đó bạn có tùy chọn chấp nhận thanh toán hoặc từ chối nó.

Khi nhận được đăng lại, bạn cũng nên kiểm tra xem các mục vẫn đang bị giữ. Nếu họ đã hết thời gian, bạn có thể từ chối thanh toán và hiển thị thông báo 'xin lỗi - hết thời gian chờ' hoặc somesuch.

Phương pháp này cũng cho phép bạn tính thời gian chờ lý tưởng nếu bạn theo dõi tần suất khách hàng chạy vào thời gian chờ, vì vậy bạn có thể kéo dài thời gian chờ từ (ví dụ) từ 5 đến 10 phút nếu quá nhiều thời gian chờ, hoặc rút ngắn nếu không có thời gian.

0

woot.com nổi tiếng với vấn đề này nhưng giải pháp của họ hoạt động tốt. Sau khi thông tin thanh toán được xác minh, người dùng được đưa đến một trang có lượng văn bản nhỏ nói rằng "thứ tự của bạn đang ở trong đó, chúng tôi đang xác minh khoảng không quảng cáo".

Dường như API paypal có thông báo "RefundTransaction" nên có thể không có điều gì giống như vậy. Nhưng kinh nghiệm người dùng có thể là khó xử nếu bạn đi đến trang web paypal sau đó quay trở lại trang web của bạn.

2

Hãy xem Dell's UK outlet. Khi ai đó thêm hệ thống vào giỏ hàng của họ, nó sẽ được giữ lại và không có sẵn cho các khách hàng khác. Nếu nó không được mua, vật phẩm sẽ được lấy ra khỏi giỏ sau 15 phút không hoạt động và sau đó có sẵn cho các khách hàng khác.

0

Điều này giống như đặt vé rạp hát hoặc tương tự trực tuyến và có cách bạn mô tả thường là cách hoạt động của nó. Tại một số thời điểm, mục được "bảo lưu" trong hệ thống và khách hàng hoàn tất giao dịch hoặc mục được phát hành sau một thời gian để người khác mua.

Tất nhiên tại thời điểm bạn đặt trước mục (khi được thêm vào giỏ hàng, tại thời điểm bạn gửi chúng để thanh toán, v.v.) tùy thuộc vào bạn. Tôi cho rằng việc đặt nó vào giỏ hàng sẽ là lựa chọn tốt nhất vì nó khiến ít khả năng một người nào đó sẽ xây dựng một rổ đồ chỉ để tìm một nửa số đó không còn có sẵn ở lần thanh toán nữa.

0

Đây là vấn đề khá phổ biến với hệ thống kiểm kê cố định như địa điểm tổ chức, vận chuyển/hãng hàng không TIX, vv

Tôi thích mô hình máy bay ở đâu khi bạn nhận được itinery bạn muốn và nhấp chọn, bạn sẽ có một trang với thông tin hành khách với một thông báo nói rằng, chỗ ngồi bị giữ và bây giờ bạn có xx (10/15) phút để hoàn tất việc mua hàng. Mọi thứ trở nên rõ ràng vào thời điểm đó. Đối với một loại duy nhất/một mặt hàng khác, tôi nghĩ rằng một thông báo trên bất kỳ trang nào mà người dùng nhấp vào, nói rằng bạn có xx (phút) còn lại để hoàn thành giao dịch mua sẽ là động lực lớn cho người mua "trên cạnh" !

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