Recurring billing with Rails and ActiveMerchant: Best practices, pitfalls, gotchas?

前端 未结 4 514
离开以前
离开以前 2021-01-29 22:53

We are prepping for the release of a large web application that has been in development for the past year. We are about to start the process of integrating ActiveMerchant to han

4条回答
  •  迷失自我
    2021-01-29 23:12

    I'm also in the middle of setting up a subscription based website and these are our current requirements. They may help you regarding best practice:

    • Users will be able to choose one of the subscription plans.
    • Users will be required to enter their credit card details to sign up to their chosen plan.
    • All major credit and debit cards must be accepted including Maestro and American Express.
    • Each plan will have a 30-day free trial so users' credit cards should only be charged after the 30-day period expires. However, the validity of credits cards should be checked at the time of sign up.
    • Users will be emailed a few days before their credit card is charged to notify them that they will be charged soon unless they cancel their account. If they cancel their account within their 30 day free trial, their credit card should not be charged.
    • After any free trial period, users will be charged in advance for their use of the system - ie they will pre-pay.
    • Users will be charged automatically every month for their chosen plan. Each month, users will be sent an email a few days in advance to notify them that they will be charged. Once payment has been made, users will be emailed an invoice showing that their payment has been received.
    • Users will be able to upgrade or downgrade their accounts at any time. When users upgrade/downgrade, their next subscription charge will be at the new rate. Users will only be able to downgrade their accounts to a plan that can handle their data. For example, if they currently have 10 active projects they can't downgrade to the Basic plan because the Basic plan only allows 5 projects. They will have to delete or archive 5 projects before you they can downgrade to Basic.
    • Users will be able to log in to their account and change or update their credit card details.
    • Users will be able to cancel their account at any time. There will be no further subscription charges after a user has canceled their account. However, users will not be refunded for part of the month they have already paid for.
    • All parts of the payment system must be 100% PCI DSS compliant; including any 3rd party systems.
    • The payment system must support automated notification and retry of failed subscription renewals.
    • The payment system must support discount vouchers with expiry dates.
    • Credit card details must not be processed by or stored on our servers
    • they should always be processed/stored by our 3rd party payment processing partner. We do not want responsibility for securing these details and complying with legal rules and regulations.
    • Users will be able to log into their accounts and see a full billing history including dates and amounts paid. We will also need to be able to log in to a system to see customer payment plans and payment history. This will be essential for customer service.

    We've also been looking at http://chargify.com/ which looks like it could save a lot of coding time.

提交回复
热议问题