Monthly Subscription Payment in Outsystems Application

Monthly Subscription Payment in Outsystems Application

  

I'm new to Outsystems and app development in general. I've completed around 8-10 hours of tutorials and feel comfortable using the Outsystems program. I'm making good progress on building my app, but I've encountered one problem that I can't seems to overcome.

How can I add payment processing to my app? My app is very simple. "Clients" pay nothing to use the app. "Contractors" pay $30 a month to use the app. (To find leads) How can I add this recurring subscription to my app? Is there a working module that integrates this for me?

-Levi

Hi Levi,

What exactly are you looking for? A payment solution, integration with a payment provider (like PayPal), integration with an existing financial app, or just some pointers how to go about enforcing that the app only works when paid for? Please provide some more details, so we can help.

Solution

Hi Levi,

As Kilian mentioned, more information would be needed for a better response so we can fully understand what you're trying to accomplish.

From the sound of it, you'll have a simple subscription model for a "contractor" role. I don't believe there is anything pre-built for this available from the Forge, but I did find one up-to-date component for Stripe - a popular payment processing solution that would fit your needs. You can create subscriptions inside the Stripe back office and manage them there, or build out a data model in Outsystems and have charges issued via timers on a schedule. You would just need to connect your application to your Stripe account and create customers, charges, etc. through the API. See the component for Stripe here.

Solution

Brian Gall wrote:

Hi Levi,

As Kilian mentioned, more information would be needed for a better response so we can fully understand what you're trying to accomplish.

From the sound of it, you'll have a simple subscription model for a "contractor" role. I don't believe there is anything pre-built for this available from the Forge, but I did find one up-to-date component for Stripe - a popular payment processing solution that would fit your needs. You can create subscriptions inside the Stripe back office and manage them there, or build out a data model in Outsystems and have charges issued via timers on a schedule. You would just need to connect your application to your Stripe account and create customers, charges, etc. through the API. See the component for Stripe here.

Kilian & Brian, thank you both for your responses.

I am looking for an integration solution. Much like the Stripe component mentioned. I’ll see if I can figure out how to integrate it into the application using the API. Simply, I want contractors to be able to sign up for a recurring subscription without leaving the app. This includes authorizations for future charges. I think the problem I foresee myself having is that I’m not sure how to store and call future authorizations for payments. (Since this is my first time integrating payments and a payment solution within an app before)


I have another question now. I can't download and install the "Stripe Demo" component. How do I add it so that I can use the functions within my own app?

Managed to setup a process to use the Stripe API properly.

Once I have a user pay for a subscription, how do I regularly check to see if the subscription is still active?

Hi Levy,

You would probably check that at every log in, to see if the user is still authorized to use the application. If you want a periodical check so you can inform users in advance their subscription is running out, you use a Timer.

Hi Levy,

Following up on your earlier post and the details you've provided in your most recent post, here is some information that may be useful:

Customers

You can create a customer in Stripe and store the customer ID returned in your database. Then issue one-off charges, refunds, and create subscriptions against them.

Plans

Defines the price, product, billing cycle a customer can be subscribed to.

Subscriptions

Ties the customer to a plan, resulting in the automatic payments against their default stored payment method.

As Kilian mentioned, via a timer you can check on a schedule your users' subscription statuses and make modifications the users in your application appropriately. You can retrieve a subscription and check its status, etc.