github.com/stripe/stripe-go/v76@v76.25.0/identity/verificationsession/client.go (about) 1 // 2 // 3 // File generated from our OpenAPI spec 4 // 5 // 6 7 // Package verificationsession provides the /identity/verification_sessions APIs 8 package verificationsession 9 10 import ( 11 "net/http" 12 13 stripe "github.com/stripe/stripe-go/v76" 14 "github.com/stripe/stripe-go/v76/form" 15 ) 16 17 // Client is used to invoke /identity/verification_sessions APIs. 18 type Client struct { 19 B stripe.Backend 20 Key string 21 } 22 23 // New creates a new identity verification session. 24 func New(params *stripe.IdentityVerificationSessionParams) (*stripe.IdentityVerificationSession, error) { 25 return getC().New(params) 26 } 27 28 // New creates a new identity verification session. 29 func (c Client) New(params *stripe.IdentityVerificationSessionParams) (*stripe.IdentityVerificationSession, error) { 30 verificationsession := &stripe.IdentityVerificationSession{} 31 err := c.B.Call( 32 http.MethodPost, 33 "/v1/identity/verification_sessions", 34 c.Key, 35 params, 36 verificationsession, 37 ) 38 return verificationsession, err 39 } 40 41 // Get returns the details of an identity verification session. 42 func Get(id string, params *stripe.IdentityVerificationSessionParams) (*stripe.IdentityVerificationSession, error) { 43 return getC().Get(id, params) 44 } 45 46 // Get returns the details of an identity verification session. 47 func (c Client) Get(id string, params *stripe.IdentityVerificationSessionParams) (*stripe.IdentityVerificationSession, error) { 48 path := stripe.FormatURLPath("/v1/identity/verification_sessions/%s", id) 49 verificationsession := &stripe.IdentityVerificationSession{} 50 err := c.B.Call(http.MethodGet, path, c.Key, params, verificationsession) 51 return verificationsession, err 52 } 53 54 // Update updates an identity verification session's properties. 55 func Update(id string, params *stripe.IdentityVerificationSessionParams) (*stripe.IdentityVerificationSession, error) { 56 return getC().Update(id, params) 57 } 58 59 // Update updates an identity verification session's properties. 60 func (c Client) Update(id string, params *stripe.IdentityVerificationSessionParams) (*stripe.IdentityVerificationSession, error) { 61 path := stripe.FormatURLPath("/v1/identity/verification_sessions/%s", id) 62 verificationsession := &stripe.IdentityVerificationSession{} 63 err := c.B.Call(http.MethodPost, path, c.Key, params, verificationsession) 64 return verificationsession, err 65 } 66 67 // Cancel is the method for the `POST /v1/identity/verification_sessions/{session}/cancel` API. 68 func Cancel(id string, params *stripe.IdentityVerificationSessionCancelParams) (*stripe.IdentityVerificationSession, error) { 69 return getC().Cancel(id, params) 70 } 71 72 // Cancel is the method for the `POST /v1/identity/verification_sessions/{session}/cancel` API. 73 func (c Client) Cancel(id string, params *stripe.IdentityVerificationSessionCancelParams) (*stripe.IdentityVerificationSession, error) { 74 path := stripe.FormatURLPath( 75 "/v1/identity/verification_sessions/%s/cancel", 76 id, 77 ) 78 verificationsession := &stripe.IdentityVerificationSession{} 79 err := c.B.Call(http.MethodPost, path, c.Key, params, verificationsession) 80 return verificationsession, err 81 } 82 83 // Redact is the method for the `POST /v1/identity/verification_sessions/{session}/redact` API. 84 func Redact(id string, params *stripe.IdentityVerificationSessionRedactParams) (*stripe.IdentityVerificationSession, error) { 85 return getC().Redact(id, params) 86 } 87 88 // Redact is the method for the `POST /v1/identity/verification_sessions/{session}/redact` API. 89 func (c Client) Redact(id string, params *stripe.IdentityVerificationSessionRedactParams) (*stripe.IdentityVerificationSession, error) { 90 path := stripe.FormatURLPath( 91 "/v1/identity/verification_sessions/%s/redact", 92 id, 93 ) 94 verificationsession := &stripe.IdentityVerificationSession{} 95 err := c.B.Call(http.MethodPost, path, c.Key, params, verificationsession) 96 return verificationsession, err 97 } 98 99 // List returns a list of identity verification sessions. 100 func List(params *stripe.IdentityVerificationSessionListParams) *Iter { 101 return getC().List(params) 102 } 103 104 // List returns a list of identity verification sessions. 105 func (c Client) List(listParams *stripe.IdentityVerificationSessionListParams) *Iter { 106 return &Iter{ 107 Iter: stripe.GetIter(listParams, func(p *stripe.Params, b *form.Values) ([]interface{}, stripe.ListContainer, error) { 108 list := &stripe.IdentityVerificationSessionList{} 109 err := c.B.CallRaw(http.MethodGet, "/v1/identity/verification_sessions", c.Key, b, p, list) 110 111 ret := make([]interface{}, len(list.Data)) 112 for i, v := range list.Data { 113 ret[i] = v 114 } 115 116 return ret, list, err 117 }), 118 } 119 } 120 121 // Iter is an iterator for identity verification sessions. 122 type Iter struct { 123 *stripe.Iter 124 } 125 126 // IdentityVerificationSession returns the identity verification session which the iterator is currently pointing to. 127 func (i *Iter) IdentityVerificationSession() *stripe.IdentityVerificationSession { 128 return i.Current().(*stripe.IdentityVerificationSession) 129 } 130 131 // IdentityVerificationSessionList returns the current list object which the iterator is 132 // currently using. List objects will change as new API calls are made to 133 // continue pagination. 134 func (i *Iter) IdentityVerificationSessionList() *stripe.IdentityVerificationSessionList { 135 return i.List().(*stripe.IdentityVerificationSessionList) 136 } 137 138 func getC() Client { 139 return Client{stripe.GetBackend(stripe.APIBackend), stripe.Key} 140 }