32

私たちは、過去 1 年間開発されてきた大規模な Web アプリケーションのリリースに向けて準備を進めています。サービスの定期的なサブスクリプション料金を処理するために ActiveMerchant を統合するプロセスを開始しようとしています。

私たちの要件 (以下にリスト) を考慮したベスト プラクティスに関するアドバイス、およびよくある落とし穴や特別な考慮が必要な特定の問題に関する追加のヘッドアップについて、アドバイスを求めています。使用する支払いゲートウェイはPaymentExpressです。これは、定期請求があり、米国外で事業を行う企業にとって特別な条件がない、サポートされている数少ないゲートウェイの 1 つです。このアプリケーションの背後にあるビジネスは、英国を拠点としています。

アプリケーションのユーザーは、アプリケーションとそのデータにアクセスしてカスタマイズできるサブドメインでアカウントを作成します。請求の仕組みに影響を与える可能性のある要件/機能の一部を以下に示します。

  • すべてのユーザーが 30 日間の試用を利用できます
  • 無料プランなど様々なプランあり
  • より高い価格のプランでは、アカウントに保持できるデータ (ユーザー、プロジェクトなど) の量に大きな制限があります。
  • 請求期間は月単位で、試用後に開始されます
  • プランなどで、通常価格から 1 年間割引される割引 / クーポン コードがあります。
  • 機能が追加されると、プランの価格が変更されます

私が予測できる具体的なハードルは、次のようなものです。

  • 下位レベルのプランのプラン制限に違反した場合のダウングレードの処理方法。
  • クレジット カードの有効期限が切れた場合や支払いが完了しなかった場合の動作 (読み取り専用モードが強制されている可能性があります)
  • プランの価格が変更された場合、既存のユーザーに対して一定期間 (6 か月など) 以前の価格を適用し、その後、より高い料金の請求を開始したいと考えています。プラン価格が下がった場合は、すぐに有効になります。

役立つその他のアドバイスは、アプリケーションの流れに関するものです。請求フォームはユーザーにどのように提示する必要がありますか? クレジットカード情報が必要になるのはいつですか? 請求書はどのように送信、保管、およびアクセスする必要がありますか?

多くのコード ベースをSaaSyに基づいて作成する予定であることを明らかにしておく必要があります。SaaSy は、すべてのサインアップとアカウント管理の側面を処理する別の Rails アプリとして使用するように設計されています。ただし、最初からこれを計画したことはなく、そのように動作するようにアプリケーションを適応させるのは面倒なプロセスになるため、これはうまくいきません。その結果、SaaSy からコードとアイデアを取得してアプリにマージします。

4

4 に答える 4

8

追加したいことの 1 つは、ゲートウェイに組み込まれている定期請求機能を使用する必要がないことに注意してください。一般に、これらのシステムはレガシーで扱いが非常に難しく、レールの世界では甘やかされてしまいます。

それらを 1 つの目的 (クレジット カードへの請求、および PCI コンプライアンスのためのクレジット カードの保管) に使用するだけで、より多くの柔軟性が得られます。次に、cron ジョブ、支払い完了の日付フィールド、各人が支払う金額 (クーポンを使用した場合) などを使用して、Rails アプリで独自の定期請求をロールバックします。

1 つの小さな例: 月の途中で毎月のサブスクリプションをキャンセルすることがあります。彼らは、次の支払いまでにキャンセルを忘れないようにしたいと考えています。私が見たほとんどのゲートウェイの定期請求では、アカウントが即座に終了します (または、これを示すメッセージが送信されます)。実際には、ユーザーは月末までに支払いを済ませており、さらに 2 週間アクセスできるはずです。これは、レールで独自の定期請求を行っている場合は可能ですが、ゲートウェイの定期請求を使用している場合はできません。ほんの一例です。

于 2009-05-27T18:52:12.153 に答える
5

RailsKitsには、必要なことを行うサービス キットとしてのソフトウェアがあります。無料試用版、アップグレード、ダウングレード、プラン制限などのサポートが組み込まれており、PaymentExpress (およびその他) をサポートしています。

私が行っているプロジェクトのために少し調べましたが、まだ購入していないので保証できません. ただし、このキットを称賛するブログ投稿をいくつか見ました。

RailsKit は、すべての機能を自分で実装するのにかかる費用と比較すると比較的安価ですが、同じことを達成することを目的としたオープン ソース バージョンがいくつかあります。私が頭のてっぺんから覚えているのは、フリーミアムと呼ばれるものです。

編集: Ryan Bates が最新の Railscastで、次のエピソードまたは 2 つのエピソードで定期請求を扱うと述べたことを忘れていたので、注意してください。彼は通常、週に 1 つのエピソードを行い、12 月 22 日以降に行った 5 つのエピソードはすべて、さまざまな種類の支払いの処理をカバーしています。

于 2009-01-23T16:51:53.100 に答える
4

また、サブスクリプション ベースの Web サイトをセットアップしている最中であり、これらが現在の要件です。彼らはベストプラクティスに関してあなたを助けるかもしれません:

  • ユーザーは、いずれかのサブスクリプション プランを選択できます。
  • ユーザーは、選択したプランにサインアップするために、クレジット カードの詳細を入力する必要があります。
  • Maestro や American Express を含むすべての主要なクレジット カードおよびデビット カードを受け入れる必要があります。
  • 各プランには 30 日間の無料試用期間があるため、ユーザーのクレジット カードへの請求は 30 日間の期間が終了した後にのみ行う必要があります。ただし、クレジット カードの有効性は、サインアップ時に確認する必要があります。
  • クレジット カードに請求が行われる数日前に、アカウントをキャンセルしない限りすぐに請求されることを通知するメールがユーザーに送信されます。30 日間の無料試用期間中にアカウントをキャンセルした場合、クレジット カードに請求されることはありません。
  • 無料試用期間が終了すると、ユーザーはシステムの使用に対して前払いされます。つまり、前払いとなります。
  • ユーザーは、選択したプランに対して毎月自動的に請求されます。毎月、請求されることを通知するメールが数日前にユーザーに送信されます。支払いが完了すると、支払いが受領されたことを示す請求書がユーザーにメールで送信されます。
  • ユーザーはいつでも自分のアカウントをアップグレードまたはダウングレードできます。ユーザーがアップグレード/ダウングレードすると、次回のサブスクリプション料金は新しいレートになります。ユーザーは、データを処理できるプランにのみアカウントをダウングレードできます。たとえば、現在 10 個のアクティブなプロジェクトがある場合、Basic プランでは 5 つのプロジェクトしか許可されないため、Basic プランにダウングレードすることはできません。Basic にダウングレードする前に、5 つのプロジェクトを削除またはアーカイブする必要があります。
  • ユーザーは自分のアカウントにログインして、クレジット カードの詳細を変更または更新できます。
  • ユーザーはいつでもアカウントをキャンセルできます。ユーザーがアカウントをキャンセルした後は、サブスクリプション料金は発生しません。ただし、既に支払った月の一部については返金されません。
  • 支払いシステムのすべての部分が 100% PCI DSS に準拠している必要があります。サードパーティのシステムを含みます。
  • 支払いシステムは、失敗したサブスクリプション更新の自動通知と再試行をサポートする必要があります。
  • 支払いシステムは、有効期限のある割引券をサポートしている必要があります。
  • クレジットカードの詳細は、当社のサーバーで処理または保存してはなりません
  • それらは常に、サードパーティの支払い処理パートナーによって処理/保存される必要があります。これらの詳細を保護し、法的規則や規制を遵守する責任は負いません。
  • ユーザーは自分のアカウントにログインして、日付や支払額を含む完全な請求履歴を見ることができます。また、システムにログインして、顧客の支払い計画と支払い履歴を確認できる必要があります。これは顧客サービスにとって不可欠です。

http://chargify.com/も調べています。コーディング時間を大幅に節約できるようです。

于 2009-11-16T16:46:45.870 に答える