This workflow accepts subscription contract applications.
The customer makes a provisional subscription through a web form and clicks on the URL in the acceptance email to complete the subscription.
At the time of subscription, the credit card information is registered with Stripe. The customer is billed on a regular basis based on the registered information.
Worker (#of Swimlane: 3)
Customer
Customers making an application.
Application Receptionist
Person in charge of accepting applications.
Billing Management
Person in charge of managing billing.
Business Flow (Complexity of Workflow: 27)
6a1. Confirm Application Details
The person in charge of accepting applications will confirm the application details.
38b1. Billing Information Input
The billing administrator enters information for billing.
24b2. Continue Billing Decision
The billing administrator will decide whether to continue billing. If the billing start date has passed, processing will proceed automatically.
2Main Application Form
7xa1. Set Title
The workflow platform sets the applicant's name and the selected plan as the subject.
14xa2. Convert plan to price
The workflow infrastructure uses the choice master to convert the selected plan into a price.
19xa3. Convert price into numbers
The workflow infrastructure converts prices into numbers.
20xa4. Stripe customer generation
The workflow platform registers customer information in Stripe and obtains the Customer ID.
23xb1. Set Title
The workflow platform sets the applicant's name, selected plan, and billing start date in the subject line.
25xb2. Stripe billing
The workflow platform performs billing through Stripe.
32xb3. Next billing start date
The workflow platform calculates the next billing start date.
Business Process Variables (#of Data Item: 18)
Customer Nameq_customerName0*
Stores the applicant's name.
Customer Email Addressq_customerEmail1*
Stores the applicant's email address.
Plan Selectionq_plan2*
Stores the selected plan.
Billing Start Dateq_paymentStartDate15*
Stores the billing start date.
◆ Payment Information Input I/F (Create Stripe Token)9
(Please obtain and reflect the "pk_test_*****" string from Stripe settings)
Stripe tokenq_stripeToken4*
Stores the token required for Stripe payment.
last4q_last45*
Stores a portion of the credit card number (last 4 digits).
Form API Keyq_formApiKey6
Stores the form's key. (key is included in the form URL)
#{#randomString(20)}
(Explanation of provisional application)17
(Explanation of this application)16
Priceq_price7*
Stores the price to be charged.
Price (text)q_priceString8
Stores the price (text) to be charged.
Next Billing Start Dateq_paymentStartDateNext18
Stores the next billing start date.
STRIPE CUSTOMER IDq_STRIPE_CUSTOMER_ID10*
Stores the Customer ID obtained from Stripe.
STRIPE CHARGE IDq_STRIPE_CHARGE_ID11
Stores the Charge ID obtained from Stripe.
STRIPE CARD BRANDq_STRIPE_CARD_BRAND12
Stores the credit card brand name obtained from Stripe.
STRIPE LAST 4 DIGITSq_STRIPE_LAST413
Stores part of the credit card number (last 4 digits) obtained from Stripe.
STRIPE EXPIRY DATEq_STRIPE_EXP14
Stores the expiration date of the credit card obtained from Stripe.
This archive contains the BPMN icon, which is only available in the Professional edition.
Notes
Stripe’s Secret Key setting is required in “Specify Token Directly” in the HTTP Authentication setting of the workflow app. In addition, Stripe’s Publishable Key setting is required in the Javascript in the guide panel of “◆ Payment Information Input I/F (Create Stripe Token)”.
(Please check Stripe’s information on how to obtain each Stripe key. You will need to obtain a Stripe account even if you are performing a test run)
It is necessary to upload priceTable.xml as the Choice Master in App Shared Add-ons in the System Settings. When changing the contents, the choice IDs of the Plan Selection data item must match the choice IDs in priceTable.xml.
Please change the text of the email sent to the applicant.
When testing and executing Stripe processing, the test card can be “4242 4242 4242 4242 04/24 242”.