Collecting Payment Information from End-Customer (Stripe)

Overview

The high-level steps for this process are

  1. Create a customer on Stripe
  2. Go through the payment flow using Stripe Elements or Stripe.js
  3. Save the payment method back to MonetizeNow

You can either use the MonetizeNow APIs to complete the entire process, or you can own the entire process and then import the Stripe customer to MonetizeNow.

All of the MonetizeNow APIs require that you know our internal id of the Payment Gateway, you can obtain that from our UI or by calling GET /api/paymentGateways.

Using the MonetizeNow APIs

You can use the MonetizeNow APIs instead of working with the Stripe APIs directly.

  1. Create a Stripe Customer
    1. POST /api/accounts/{accountId}/paymentGateways/{gatewayId}/gatewayAccount
    2. If the Stripe customer was previously created when collecting a prior payment, you would use
      1. GET /api/accounts/{accountId}/paymentGateways/{gatewayId}/gatewayAccount
  2. Initialized a Setup Intent with Stripe
    1. POST /api/paymentGateways/{gatewayId}/gatewayAccounts/{gatewayAccountId}/setupIntent
  3. Use the Stripe Elements components to host the Stripe payment collection form on your website
  4. Once the customer has completed this step successfully, then you will save the payment method back to MonetizeNow
  5. POST /api/accounts/{accountId}/paymentMethods

Importing existing payment methods

If you want to work with the Stripe APIs directly, you can call a MonetizeNow API to link an existing Stripe customer and import existing payment methods.

  1. Go through entire Stripe flow using Stripe APIs
    1. Create Stripe customer
    2. Create a Setup Intent or Payment Intent, and ensure it is available for offline_use
    3. Use the Stripe Elements components to host the Stripe payment collection form on your website
  2. Import the customer and payment method(s) into MonetizeNow
    1. POST /api/accounts/{accountId}/paymentMethods/import