ShinyServicebot

CRAN version

shinyservicebot Create in-app purchasing and subscriptions through ‘Servicebot’ payment using the ‘Stripe’ framework.

What is Servicebot and Stripe

Servicebot

“Servicebot provides a user interface (UI) on top of Stripe. Stripe will remain the single source of truth for all things billing which makes Servicebot the easiest & fastest way to launch with Stripe.”

Click here for more information about servicebot.

Stripe

Online payment processing for internet businesses. Stripe is a suite of payment APIs that powers commerce for online businesses

Click here for more information about stripe.

Installation

if (!require("remotes")) install.packages("remotes")
remotes::install_github("capiaas/shinyservicebot")

Getting Started

To learn more we highly recommend you check out the servicebot docs. The site will explain in depths the setup of Servicebot.

Servicebot setup

In use

Initialize servicebot

Initialize servicebot by running the init command.

Development mode

# -------
# FOR DEVELOPMENT
# -------
shinyservicebot::init(dev_mode = TRUE)

Live mode

# -------
# FOR LIVE PRODUCTION
# -------
shinyservicebot::init(
   servicebot_secret    = "Your servicebot secret",
   secure_setup         = TRUE
)

Example: Pricing embed:

library(shinyservicebot)

# init servicebot pr user login
shinyservicebot::init(dev_mode = TRUE)
# Config
servicebot_config = list(
  servicebot_id =  "E0OQN0P0Dort", # // LIVE & TEST MODE IDs ARE DIFFERENT
  service =   "Flat Subscription",
  email =  "shinyservicebot36io3ejbyf1pea7g61mxki@yopmail.com"
)
# Render the shinyservoicebot pricing
shinyservicebot::shinyservicebotOutput("servicebot")

Pricing page

Example: Pricing embed in Shiny app

library(shiny)
library(shinyservicebot)

# init servicebot pr user login
shinyservicebot::init(dev_mode = TRUE)
# Config
servicebot_config = list(
  servicebot_id =  "E0OQN0P0Dort", # // LIVE & TEST MODE IDs ARE DIFFERENT
  service =   "Flat Subscription",
  email =  "shinyservicebot36io3ejbyf1pea7g61mxkh@yopmail.com"
)

# UI ----
ui <- fluidPage(
  # App title ----
  titlePanel("SERVICEBOT PRICING PAGE"),
  shinyservicebot::shinyservicebotOutput("servicebot")
)

# SERVER ----
server <- function(input, output) {
  output$servicebot <- shinyservicebot::renderShinyservicebot(
    shinyservicebot::shinyservicebot(servicebot_config, width = "auto")
  )
}

# Create Shiny app ----
shinyApp(ui = ui, server = server)
Pricing page

Example: Portal embed in Shiny app

library(shiny)
library(shinyservicebot)

# -------
# FOR LIVE PRODUCTION
# -------
# shinyservicebot::init(
#   servicebot_secret    = "Your servicebot secret",
#   secure_setup         = TRUE
# )

# -------
# FOR DEVELOPMENT
# -------
shinyservicebot::init(dev_mode = TRUE)

# Config
servicebot_config = list(
  servicebot_id =  "E0OQN0P0Dort", # // LIVE & TEST MODE IDs ARE DIFFERENT
  service =   "Flat Subscription",
  email =  "shinyservicebot36io3ejbyf1pea7g61mxki@yopmail.com",
  options = list(
    i18n  = list(defaultLng = "en") # // SET DEFAULT LANGUAGE
  )
)

# UI ----
ui <- fluidPage(
  # App title ----
  titlePanel("SERVICEBOT PORTAL PAGE"),
  shinyservicebot::shinyservicebotOutput("servicebot")
)

# SERVER ----
server <- function(input, output) {
  output$servicebot <- shinyservicebot::renderShinyservicebot(
    shinyservicebot::shinyservicebot(servicebot_config, width = "auto")
  )
}


# Create Shiny app ----
shinyApp(ui = ui, server = server)
Portal page

Examples

You can run examples directly from the package

 # Test pricing embed in shiny app
 shinyservicebot::runPricingExample()

 # Test portal embed in shiny app
 shinyservicebot::runPortalExample()

 # Test signup embed in shiny app
 shinyservicebot::runSignupExample()

Disclaimer

This package is not affiliated with any of the service providers it supports.