Stripe Checkout Connector

Content Type: Module
Categories: Connectors

Overview

The Stripe Checkout Connector leverages the prebuilt, hosted Stripe Checkout module to create a smooth and easy payment process for your Mendix native and web apps.

The operations in this connector enable you to create a checkout session with Stripe. You can then redirect your user to the Stripe Checkout page where they can input their payment data and complete the order. This means that you don't have to worry about collecting any sensitive payment data (like credit card numbers) in your Mendix apps, this is all taken care of by Stripe.

 

Documentation

Description

This connector contains 2 operations: 

  • An operation that creates a checkout session in Stripe
  • An operation that checks the status of the payment after the user gets redirected back to the Mendix app

It is a self contained module, but for the best user experience you'll want to use it in combination with the deeplink module. With deeplinks you can redirect your user back to the Mendix environment after they have completed the payment.

Typical usage scenario

You want to enable users to pay for products or services from your Mendix app.

Dependencies

  • Mendix Studio Pro 9.18.2 or higher
  • Deeplink module

Installation

To install this module, follow these steps: 

  1. Make sure you have the right credentials to use this API, i.e. a working API key. You can retrieve an API key by signing up for an account here.
  2. Use the APIKey you get to configure constant "StripeConnector.ApiKey". 
  3. Now configure the correct URL for constant "StripeConnector.BaseURL", the value should be: "https://api.stripe.com”

    Configuration

    To implement this connector into your app, follow the following steps:

    1. POST_v1_CheckoutSession_Create: Call this operation when starting your Stripe checkout session, for example when the user clicks on ‘Pay’.
      1. The SessionRequest object should be populated as follows:
        • Amount in minor units of currency (e.g. in cents / pence)
        • Currency in ISO currency code (e.g. usd)
        • Mode: payment
        • Name and description that will be displayed on the payment page in Stripe
        • SuccessURL used to guide user back to your Mendix Native app after payment was successful
          • The URL has the following format: ‘App URL’ + ‘deeplink request handler’ + ‘/DeeplinkConfigName’ + ‘/?PaymentSuccessful=true’ + &MakeItNative= true/false
        • CancelURL: used to guide user back to your Mendix Native app after payment was declined or abandoned
          • The URL has the following format: ‘App URL’ + ‘deeplink request handler’ + ‘/DeeplinkConfigName’ + ‘/?PaymentSuccessful=false’ + &MakeItNative= true/false
        • CustomerEmail: email of the current user
      2. The REST call will return a SessionResponse. Store the SessionID so you can use it in the callback from Stripe.
      3. The REST call will also return a URL, use this URL to redirect your user to Stripe
      4. Configure a deeplink nanoflow that processes the callback
    2. GET_v1_CheckoutSession_Retrieve: This operation should be used in the deeplink nanoflow after redirecting the user back to the Mendix app. This operation will check the status of the payment so you know how to process an order.
      1. Pass the SessionID of the order to the REST call
      2. The response will contain a status which will enable you to process the order accordingly

    For an example implementation, please download the Grocer Scan & Go template here.

    Releases

    Version: 1.0.0
    Framework Version: 9.18.2
    Release Notes: Initial release