Shinyservicebot

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

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

shinyservicebot is available through both GitHub ( soon on cran ):

To install the stable CRAN version:

install.packages("servicebot")

To install the latest development version from GitHub:

install.packages("remotes")
remotes::install_github("capiaas/servicebot")

Getting Started

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

Servicebot setup

In use

Example: Pricing embed:

library(shinyservicebot)
shinyservicebot::shinyservicebot(servicebot_config, width = "auto")

# 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 =  "[email protected]"
)
# Render the shinyservoicebot pricing
shinyservicebot::shinyservicebotOutput("servicebot")
Pricing page
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 =  "[email protected]",
  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
Portal page

Examples

You can run examples directly from the package

 # Test pricing embed inshiny app
 shinyservicebot::runPricingExample()

 # Test portal embed inshiny app
 shinyservicebot::runPortalExample()

 # Test signup embed inshiny app
 shinyservicebot::runSignupExample()