--- title: "Shinyservicebot" author: "Capia As / Bjorn Ole Lindseth" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Shinyservicebot} %\VignetteEngine{knitr::rmarkdown} \usepackage[utf8]{inputenc} --- ```{r setup, echo = FALSE, message = FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>", width = 68) ``` # shinyservicebot - Create in-app purchasing and subscriptions through 'Servicebot' payment using the 'Stripe' framework [![CRAN version](https://www.r-pkg.org/badges/version/shinyservicebot)](https://cran.r-project.org/package=shinyservicebot) ![](logo.png){ width=120px } `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](https://docs.servicebot.io/) 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](https://stripe.com) for more information about stripe. ## Installation `shinyservicebot` is available through both GitHub ( soon on cran ): To install the stable CRAN version: ```{r eval=FALSE} install.packages("servicebot") ``` To install the latest development version from GitHub: ```{r eval=FALSE} install.packages("remotes") remotes::install_github("capiaas/servicebot") ``` ## Getting Started To learn more we highly recommend you check out the [servicebot docs](https://docs.servicebot.io/). The site will explains in depths the setup of servicebot. ### Servicebot setup - Setup servicebot account: https://dashboard.servicebot.io/signup - Available config parameters [Click here](https://docs.servicebot.io/subscription-portal/subscription-management-portal/subscription-management-portal-configuration). ## In use ### Example: Pricing embed: ```{r eval=FALSE} 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 = "shinyservicebot36io3ejbyf1pea7g61mxki@yopmail.com" ) # Render the shinyservoicebot pricing shinyservicebot::shinyservicebotOutput("servicebot") ``` ![Pricing page](../inst/assets/img/pricing_page.png "fig:"){#id .class width=50%} ### Example: Portal embed in Shiny app ```{r eval=FALSE} 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](../inst/assets/img/subscription_portal.png "fig:"){#id .class width=50%} ## Examples You can run examples directly from the package ```{r eval=FALSE} # Test pricing embed inshiny app shinyservicebot::runPricingExample() # Test portal embed inshiny app shinyservicebot::runPortalExample() # Test signup embed inshiny app shinyservicebot::runSignupExample() ```