github.com/webonyx/up@v0.7.4-0.20180808230834-91b94e551323/internal/account/cards.go (about) 1 package account 2 3 import ( 4 "github.com/stripe/stripe-go" 5 "github.com/tj/survey" 6 ) 7 8 // Questions. 9 var questions = []*survey.Question{ 10 { 11 Name: "name", 12 Prompt: &survey.Input{Message: "Name:"}, 13 Validate: survey.Required, 14 }, 15 { 16 Name: "number", 17 Prompt: &survey.Input{Message: "Number:"}, 18 Validate: survey.Required, 19 }, 20 { 21 Name: "cvc", 22 Prompt: &survey.Input{Message: "CVC:"}, 23 Validate: survey.Required, 24 }, 25 { 26 Name: "month", 27 Prompt: &survey.Input{Message: "Expiration month:"}, 28 Validate: survey.Required, 29 }, 30 { 31 Name: "year", 32 Prompt: &survey.Input{Message: "Expiration year:"}, 33 Validate: survey.Required, 34 }, 35 { 36 Name: "address1", 37 Prompt: &survey.Input{Message: "Street Address:"}, 38 Validate: survey.Required, 39 }, 40 { 41 Name: "city", 42 Prompt: &survey.Input{Message: "City:"}, 43 Validate: survey.Required, 44 }, 45 { 46 Name: "state", 47 Prompt: &survey.Input{Message: "State:"}, 48 Validate: survey.Required, 49 }, 50 { 51 Name: "country", 52 Prompt: &survey.Input{Message: "Country:"}, 53 Validate: survey.Required, 54 }, 55 { 56 Name: "zip", 57 Prompt: &survey.Input{Message: "Zip:"}, 58 Validate: survey.Required, 59 }, 60 } 61 62 // PromptForCard displays an interactive form for the user to provide CC details. 63 func PromptForCard() (card stripe.CardParams, err error) { 64 err = survey.Ask(questions, &card) 65 return 66 }