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  }