32

Chúng tôi đang chuẩn bị phát hành một ứng dụng web lớn đã được phát triển trong năm qua. Chúng tôi sắp bắt đầu quá trình tích hợp ActiveMerchant để xử lý các khoản phí đăng ký định kỳ cho dịch vụ.Thanh toán định kỳ với Rails và ActiveMerchant: Thực tiễn tốt nhất, cạm bẫy, gotchas?

Tôi đang tìm kiếm bất kỳ lời khuyên nào liên quan đến các thực tiễn tốt nhất xem xét các yêu cầu của chúng tôi (liệt kê bên dưới) và bất kỳ thông tin bổ sung nào về các cạm bẫy phổ biến hoặc các vấn đề cụ thể. Cổng thanh toán chúng tôi sẽ sử dụng là PaymentExpress vì đây là một trong số ít cổng được hỗ trợ có thanh toán định kỳ và không có bất kỳ điều kiện đặc biệt nào cho các công ty hoạt động bên ngoài Hoa Kỳ. Các doanh nghiệp đằng sau ứng dụng này được dựa trên Vương quốc Anh.

Người dùng ứng dụng tạo tài khoản có tên miền phụ nơi họ có thể truy cập và tùy chỉnh ứng dụng cũng như dữ liệu của họ. Dưới đây là một số yêu cầu/tính năng mà có thể có ảnh hưởng đến việc thanh toán như thế nào:

  • Tất cả người dùng được dùng thử 30 ngày
  • Có kế hoạch khác nhau, bao gồm miễn phí một
  • kế hoạch giá cao hơn có giới hạn lớn hơn về lượng dữ liệu (ví dụ: người dùng, dự án, v.v) mà họ có thể có trong tài khoản của họ
  • Thời hạn thanh toán sẽ là hàng tháng, bắt đầu sau khi dùng thử
  • Sẽ có mã giảm giá/giảm giá để nhận phần trăm bình thường giá cho một năm theo kế hoạch, v.v.
  • Kế hoạch giá cả sẽ thay đổi khi tính năng được thêm vào

rào cản cụ thể tôi có thể lường trước được sẽ có những điều bao gồm:

  • Làm thế nào để xử lý hạ khi họ vi phạm các giới hạn kế hoạch cho các kế hoạch cấp dưới.
  • Hành vi khi thẻ tín dụng hết hạn hoặc không thực hiện thanh toán (có thể là chế độ chỉ đọc),
  • Khi thay đổi giá kế hoạch, chúng tôi muốn tôn trọng giá trước đó cho người dùng hiện tại trong một khoảng thời gian (chẳng hạn như 6 tháng), sau đó bắt đầu tính cước cao hơn. Nếu giá kế hoạch giảm, nó sẽ có hiệu lực ngay lập tức.

Lời khuyên khác hữu ích sẽ là bất kỳ điều gì liên quan đến luồng ứng dụng. Các biểu mẫu thanh toán sẽ được trình bày như thế nào cho người dùng? Khi nào cần thông tin thẻ tín dụng? Hóa đơn nên được gửi, lưu trữ và truy cập như thế nào?

Tôi nên tiết lộ rằng chúng tôi dự định căn cứ rất nhiều cơ sở mã khỏi SaaSy. SaaSy được thiết kế để được sử dụng như một ứng dụng Rails riêng biệt xử lý tất cả các mặt đăng ký và quản lý tài khoản của mọi thứ. Tuy nhiên, điều này không hiệu quả với chúng tôi vì chúng tôi chưa bao giờ lên kế hoạch cho việc này ngay từ đầu và nó sẽ là một quá trình tẻ nhạt để thích ứng với ứng dụng của chúng tôi để hoạt động như thế. Do đó, chúng tôi sẽ lấy mã và ý tưởng từ SaaSy và hợp nhất chúng vào ứng dụng của chúng tôi, một nhiệm vụ ít tẻ nhạt hơn đáng kể.

Trả lời

5

RailsKitsSoftware as a Service kit nên làm những gì bạn cần. Nó có hỗ trợ tích hợp cho các bản dùng thử miễn phí, nâng cấp, hạ cấp, giới hạn kế hoạch, v.v. và nó hỗ trợ PaymentExpress (và một số khác).

Tôi đã nghiên cứu nó một chút cho một dự án tôi đang làm, nhưng tôi chưa mua nó vì vậy tôi không thể xác minh cho nó.Tuy nhiên, tôi đã thấy một vài bài đăng trên blog ca ngợi bộ tài liệu này.

Trong khi RailsKit tương đối rẻ tiền khi so sánh bạn sẽ tự mình thực hiện tất cả các tính năng của mình, có một vài phiên bản nguồn mở có mục đích thực hiện cùng một điều. Người tôi nhớ ra khỏi đầu của tôi được gọi là Freemium.

EDIT: Tôi quên đề cập đến rằng Ryan Bates đã nói trong số most recent Railscast rằng tập tiếp theo hoặc hai tập sẽ xử lý thanh toán định kỳ, vì vậy hãy chú ý đến điều đó. Anh ấy thường tập một tuần một lần và năm tập anh ấy đã hoàn thành kể từ ngày 22 tháng 12, tất cả đều xử lý các khoản thanh toán các loại khác nhau.

+0

Có, tôi đã theo dõi các chương trình truyền hình từ Ryan và tôi cũng đã xem RailsKit.Vấn đề là RailsKit được thiết kế như một điểm khởi đầu cho một ứng dụng, không phải là một điểm khởi đầu cho một ứng dụng hiện có. Câu hỏi của tôi là ít hơn một kỹ thuật hơn là kiến ​​trúc/thiết kế thực hành tốt nhất một. Cảm ơn mặc dù! –

+0

BTW, nhiều người sử dụng SaaS Rails Kit với ứng dụng đã tồn tại của họ ... họ chỉ sao chép qua các mô hình, bộ điều khiển, vv Vì vậy, bạn không phải bắt đầu từ đầu để sử dụng nó. –

4

Peepcode có PDF để bán (70 trang) nêu chi tiết các khía cạnh khác nhau của việc xử lý thanh toán và thực tiễn ngành cho việc này. Nó có thể là giá trị kiểm tra ra:

http://peepcode.com/products/activemerchant-pdf

+0

Tôi đã xem cuốn sách, tôi đang tìm kiếm nhiều hơn một chút so với số này –

+0

Cuốn sách cung cấp tổng quan tuyệt vời về quy trình và bao gồm nhiều đoạn mã. Tác giả cũng đề cập đến việc phải tạo ra các bài kiểm tra đơn vị. Ngoài ra còn có một ứng dụng mẫu bao gồm: moneyhats. Nội dung tuyệt vời và giá trị cho một mức giá rất phải chăng. –

8

Một điều tôi muốn thêm: hãy lưu ý bạn không cần phải sử dụng tính năng thanh toán định kỳ được xây dựng vào cổng. Nói chung, những hệ thống này là di sản và rất khó giải quyết, chúng ta bị hư hỏng trong thế giới đường ray.

Bạn sẽ linh hoạt hơn nhiều khi sử dụng chúng cho một mục đích (để lập hóa đơn thẻ tín dụng và có thể lưu trữ thẻ tín dụng để tuân thủ PCI). Sau đó, cuộn thanh toán định kỳ của riêng bạn trong ứng dụng đường ray của bạn bằng công việc cron, trường ngày cho khi họ được thanh toán và số tiền mỗi người thanh toán (trong trường hợp họ đã sử dụng phiếu giảm giá), v.v.

Một ví dụ nhỏ: đôi khi mọi người sẽ hủy đăng ký hàng tháng vào giữa tháng. Họ muốn đảm bảo họ không quên hủy trước lần thanh toán tiếp theo. Hầu hết thanh toán định kỳ cổng mà tôi đã thấy sẽ ngay lập tức chấm dứt tài khoản (hoặc gửi cho bạn một thông báo cho biết điều này). Trên thực tế, người dùng đã thanh toán cho đến cuối tháng và sẽ được cấp thêm 2 tuần truy cập. Bạn có thể làm điều này nếu bạn đã cuộn thanh toán định kỳ của riêng bạn trong đường ray, nhưng không phải nếu bạn đang sử dụng thanh toán định kỳ cổng. Chỉ là một ví dụ nhỏ.

3

Tôi cũng đang trong quá trình thiết lập trang web dựa trên đăng ký và đây là những yêu cầu hiện tại của chúng tôi. Họ có thể giúp bạn về thực tiễn tốt nhất:

  • Người dùng sẽ có thể chọn một trong số gói đăng ký.
  • Người dùng sẽ được yêu cầu nhập chi tiết thẻ tín dụng của họ để đăng ký gói đã chọn của họ.
  • Tất cả thẻ tín dụng và thẻ ghi nợ chính phải được chấp nhận bao gồm Maestro và American Express.
  • Mỗi gói sẽ có thời gian dùng thử miễn phí 30 ngày để thẻ tín dụng của người dùng chỉ bị tính phí sau thời hạn 30 ngày hết hạn. Tuy nhiên, giá trị của thẻ tín dụng phải được kiểm tra tại thời điểm đăng ký.
  • Người dùng sẽ được gửi email một vài ngày trước khi thẻ tín dụng của họ bị tính phí để thông báo cho họ rằng họ sẽ bị thanh toán ngay nếu họ hủy tài khoản . Nếu họ hủy tài khoản của họ trong thời gian dùng thử miễn phí 30 ngày, không được tính phí thẻ tín dụng của họ.
  • Sau bất kỳ thời gian dùng thử miễn phí nào, người dùng sẽ bị tính phí trước cho việc sử dụng của hệ thống - nghĩa là họ sẽ trả trước.
  • Người dùng sẽ tự động bị tính phí mỗi tháng cho gói đã chọn của họ. Mỗi tháng, người dùng sẽ được gửi một email trước một vài ngày để thông báo cho rằng họ sẽ bị tính phí. Khi đã thanh toán , người dùng sẽ được gửi hóa đơn qua email cho biết rằng họ đã nhận được thanh toán của họ.
  • Người dùng sẽ có thể nâng cấp hoặc hạ cấp tài khoản của họ bất cứ lúc nào. Khi người dùng nâng cấp/hạ cấp, phí đăng ký tiếp theo của họ sẽ ở mức mức phí mới. Người dùng sẽ chỉ có thể hạ cấp tài khoản của mình xuống gói có thể xử lý dữ liệu của họ. Đối với ví dụ , nếu chúng hiện có 10 dự án đang hoạt động, chúng không thể hạ cấp xuống gói Cơ bản vì gói cơ bản chỉ cho phép 5 dự án. Họ sẽ phải xóa hoặc lưu trữ 5 dự án trước khi bạn có thể hạ cấp xuống Cơ bản.
  • Người dùng sẽ có thể đăng nhập vào tài khoản của họ và thay đổi hoặc cập nhật chi tiết chi tiết thẻ tín dụng của họ.
  • Người dùng sẽ có thể hủy tài khoản của mình bất cứ lúc nào. Sẽ không có phí đăng ký thêm sau khi người dùng đã hủy tài khoản của họ. Tuy nhiên, người dùng sẽ không được hoàn lại cho một phần của tháng mà họ có đã được thanh toán.
  • Tất cả các phần của hệ thống thanh toán phải tương thích 100% PCI DSS; bao gồm mọi hệ thống của bên thứ ba.
  • Hệ thống thanh toán phải hỗ trợ thông báo tự động và thử lại gia hạn đăng ký không thành công.
  • Hệ thống thanh toán phải hỗ trợ chứng từ chiết khấu có hạn sử dụng.
  • Chi tiết thẻ tín dụng không được là được xử lý hoặc lưu trữ trên máy chủ của chúng tôi
  • chúng phải luôn được xử lý/lưu trữ bởi bên thứ ba đối tác xử lý thanh toán của chúng tôi. Chúng tôi không muốn có trách nhiệm bảo mật các chi tiết này và tuân thủ các quy tắc và quy định pháp lý.
  • Người dùng sẽ có thể đăng nhập vào tài khoản của họ và xem toàn bộ hóa đơn lịch sử bao gồm ngày và số tiền thanh toán. Chúng tôi cũng sẽ cần phải là có thể đăng nhập vào hệ thống để xem gói thanh toán của khách hàng và thanh toán lịch sử. Điều này sẽ rất cần thiết cho dịch vụ khách hàng .

Chúng tôi cũng đã xem xét http://chargify.com/ có vẻ như nó có thể tiết kiệm rất nhiều thời gian mã hóa.

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