stripe-ruby/lib/stripe/resources/identity/verification_session.rb
2024-02-29 21:05:27 +00:00

148 lines
6.8 KiB
Ruby

# File generated from our OpenAPI spec
# frozen_string_literal: true
module Stripe
module Identity
# A VerificationSession guides you through the process of collecting and verifying the identities
# of your users. It contains details about the type of verification, such as what [verification
# check](https://stripe.com/docs/identity/verification-checks) to perform. Only create one VerificationSession for
# each verification in your system.
#
# A VerificationSession transitions through [multiple
# statuses](https://stripe.com/docs/identity/how-sessions-work) throughout its lifetime as it progresses through
# the verification flow. The VerificationSession contains the user's verified data after
# verification checks are complete.
#
# Related guide: [The Verification Sessions API](https://stripe.com/docs/identity/verification-sessions)
class VerificationSession < APIResource
extend Stripe::APIOperations::Create
extend Stripe::APIOperations::List
include Stripe::APIOperations::Save
OBJECT_NAME = "identity.verification_session"
def self.object_name
"identity.verification_session"
end
# A VerificationSession object can be canceled when it is in requires_input [status](https://stripe.com/docs/identity/how-sessions-work).
#
# Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://stripe.com/docs/identity/verification-sessions#cancel).
def cancel(params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/identity/verification_sessions/%<session>s/cancel", { session: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end
# A VerificationSession object can be canceled when it is in requires_input [status](https://stripe.com/docs/identity/how-sessions-work).
#
# Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://stripe.com/docs/identity/verification-sessions#cancel).
def self.cancel(session, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/identity/verification_sessions/%<session>s/cancel", { session: CGI.escape(session) }),
params: params,
opts: opts
)
end
# Creates a VerificationSession object.
#
# After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session's url.
#
# If your API key is in test mode, verification checks won't actually process, though everything else will occur as if in live mode.
#
# Related guide: [Verify your users' identity documents](https://stripe.com/docs/identity/verify-identity-documents)
def self.create(params = {}, opts = {})
request_stripe_object(
method: :post,
path: "/v1/identity/verification_sessions",
params: params,
opts: opts
)
end
# Returns a list of VerificationSessions
def self.list(filters = {}, opts = {})
request_stripe_object(
method: :get,
path: "/v1/identity/verification_sessions",
params: filters,
opts: opts
)
end
# Redact a VerificationSession to remove all collected information from Stripe. This will redact
# the VerificationSession and all objects related to it, including VerificationReports, Events,
# request logs, etc.
#
# A VerificationSession object can be redacted when it is in requires_input or verified
# [status](https://stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action
# state will automatically cancel it.
#
# The redaction process may take up to four days. When the redaction process is in progress, the
# VerificationSession's redaction.status field will be set to processing; when the process is
# finished, it will change to redacted and an identity.verification_session.redacted event
# will be emitted.
#
# Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the
# fields that contain personal data will be replaced by the string [redacted] or a similar
# placeholder. The metadata field will also be erased. Redacted objects cannot be updated or
# used for any purpose.
#
# [Learn more](https://stripe.com/docs/identity/verification-sessions#redact).
def redact(params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/identity/verification_sessions/%<session>s/redact", { session: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end
# Redact a VerificationSession to remove all collected information from Stripe. This will redact
# the VerificationSession and all objects related to it, including VerificationReports, Events,
# request logs, etc.
#
# A VerificationSession object can be redacted when it is in requires_input or verified
# [status](https://stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action
# state will automatically cancel it.
#
# The redaction process may take up to four days. When the redaction process is in progress, the
# VerificationSession's redaction.status field will be set to processing; when the process is
# finished, it will change to redacted and an identity.verification_session.redacted event
# will be emitted.
#
# Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the
# fields that contain personal data will be replaced by the string [redacted] or a similar
# placeholder. The metadata field will also be erased. Redacted objects cannot be updated or
# used for any purpose.
#
# [Learn more](https://stripe.com/docs/identity/verification-sessions#redact).
def self.redact(session, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/identity/verification_sessions/%<session>s/redact", { session: CGI.escape(session) }),
params: params,
opts: opts
)
end
# Updates a VerificationSession object.
#
# When the session status is requires_input, you can use this method to update the
# verification check and options.
def self.update(id, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/identity/verification_sessions/%<id>s", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end
end
end
end