Contribution page

User journeys

As a user...

  • I want to see how much I'm contributing in order to understand my finances

  • I want to see all my previous payments in order to get a breakdown

    Blocked: need design for showing complete history of payments

  • I want to download receipts for recent payments I made for tax purposes

    MVP 1: Can't download invoices

  • I want to change my contribution period

    Blocked: Needs wider discussion on how this would work

  • I want to increase my monthly contribution

  • I want to prorate my new contribution amount in order to start my new contribution immediately

    MVP 1: Annual contributions can't change amount

  • I want to change my form of payment

  • I want to cancel my subscription or contribution

  • I want to see when my next payment will be taken

  • I want to renew my cancelled contribution

Onward flows

  • Change payment source or start contribution without a payment source:

    Contribution page -> GoCardless -> Back to contribution page (with redirect flow ID)

  • Cancel contribution:

    Contribution page -> Cancel contribution page ->

Tech requirements

Form validation

  • Amount must be more than minimum amount

Frontend requirements

  • MVP 1: Ignore Payment history column

  • MVP 1: Hide "Update contribution" form if user has an annual contribution period

  • If user has a Manual contribution type

  • If user does have an active GoCardless contribution

    GET /member/me/contribution "isActive" == true && "type" == "GoCardless"

    • Remove Monthly/Annual switch (users can't change period on an active GC contribution)

  • If the user doesn't have an active contribution:

    GET /member/me/contribution "isActive" == false

    • Hide "You are contributing" box

    • Change "Update contribution" to "Start contribution"

    • Hide "Cancel contribution" section

  • If user doesn't have a GoCardless contribution type

    GET /member/me/contribution "type" != "GoCardless"

    • Hide "Cancel contribution" section

  • If user doesn't have an active payment source:

    GET /member/me/contribution "paymentSource" == undefined

    • Hide "Bank account" section

API requirements

  • Ability to update a contribution amount (not period)

  • Ability to start a new contribution (for expiring or expired contacts)

  • Ability to change payment source (for active contacts)

Last updated

Was this helpful?