View Source ExOAPI.Stripe.SDK.Identity (exoapi_stripe v0.1.4)

Link to this section Summary

Functions

description: <p>List all verification reports.</p>

description: <p>Retrieves an existing VerificationReport</p>

description: <p>Returns a list of VerificationSessions</p>

description: <p>Retrieves the details of a VerificationSession that was previously created.</p>

description: <p>Creates a VerificationSession object.</p>

description: <p>Updates a VerificationSession object.</p>

description: <p>A VerificationSession object can be canceled when it is in <code>requires_input</code> <a href="/docs/identity/how-sessions-work">status</a>.</p>

description: <p>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.</p>

Link to this section Types

Link to this type

get_identity_verification_reports_opts()

View Source
@type get_identity_verification_reports_opts() ::
  {:verification_session, String.t()}
  | {:type, String.t()}
  | {:starting_after, String.t()}
  | {:limit, String.t()}
  | {:expand, String.t()}
  | {:ending_before, String.t()}
  | {:created, String.t()}
Link to this type

get_identity_verification_reports_report_opts()

View Source
@type get_identity_verification_reports_report_opts() :: {:expand, String.t()}
Link to this type

get_identity_verification_sessions_opts()

View Source
@type get_identity_verification_sessions_opts() ::
  {:status, String.t()}
  | {:starting_after, String.t()}
  | {:limit, String.t()}
  | {:expand, String.t()}
  | {:ending_before, String.t()}
  | {:created, String.t()}
Link to this type

get_identity_verification_sessions_session_opts()

View Source
@type get_identity_verification_sessions_session_opts() :: {:expand, String.t()}

Link to this section Functions

Link to this function

get_identity_verification_reports(client, opts \\ [])

View Source
@spec get_identity_verification_reports(client :: ExOAPI.Client.t(), [
  get_identity_verification_reports_opts()
]) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | %{
       url: String.t(),
       object: String.t() | :list,
       has_more: boolean(),
       data: [ExOAPI.Stripe.Schemas.Identity_verificationReport.t()]
     }
   | map()}
  | {:error, any()}

description: <p>List all verification reports.</p>

Link to this function

get_identity_verification_reports_report(client, report, opts \\ [])

View Source
@spec get_identity_verification_reports_report(
  client :: ExOAPI.Client.t(),
  report :: String.t(),
  [get_identity_verification_reports_report_opts()]
) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | ExOAPI.Stripe.Schemas.Identity_verificationReport.t()
   | map()}
  | {:error, any()}

description: <p>Retrieves an existing VerificationReport</p>

Link to this function

get_identity_verification_sessions(client, opts \\ [])

View Source
@spec get_identity_verification_sessions(client :: ExOAPI.Client.t(), [
  get_identity_verification_sessions_opts()
]) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | %{
       url: String.t(),
       object: String.t() | :list,
       has_more: boolean(),
       data: [ExOAPI.Stripe.Schemas.Identity_verificationSession.t()]
     }
   | map()}
  | {:error, any()}

description: <p>Returns a list of VerificationSessions</p>

Link to this function

get_identity_verification_sessions_session(client, session, opts \\ [])

View Source
@spec get_identity_verification_sessions_session(
  client :: ExOAPI.Client.t(),
  session :: String.t(),
  [get_identity_verification_sessions_session_opts()]
) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | ExOAPI.Stripe.Schemas.Identity_verificationSession.t()
   | map()}
  | {:error, any()}

description: <p>Retrieves the details of a VerificationSession that was previously created.</p>

When the session status is requires_input, you can use this method to retrieve a validclient_secret or url to allow re-submission.

Link to this function

post_identity_verification_sessions(client, body)

View Source
@spec post_identity_verification_sessions(
  client :: ExOAPI.Client.t(),
  body ::
    %{
      type: String.t() | :document | :id_number,
      return_url: String.t(),
      options: %{
        document:
          String.t()
          | %{
              require_matching_selfie: boolean(),
              require_live_capture: boolean(),
              require_id_number: boolean(),
              allowed_types: [
                String.t() | :driving_license | :id_card | :passport
              ]
            }
      },
      metadata: map(),
      expand: [String.t()]
    }
    | map()
) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | ExOAPI.Stripe.Schemas.Identity_verificationSession.t()
   | map()}
  | {:error, any()}

description: <p>Creates a VerificationSession object.</p>

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.

Link to this function

post_identity_verification_sessions_session(client, body, session)

View Source
@spec post_identity_verification_sessions_session(
  client :: ExOAPI.Client.t(),
  body ::
    %{
      type: String.t() | :document | :id_number,
      options: %{
        document:
          String.t()
          | %{
              require_matching_selfie: boolean(),
              require_live_capture: boolean(),
              require_id_number: boolean(),
              allowed_types: [
                String.t() | :driving_license | :id_card | :passport
              ]
            }
      },
      metadata: map(),
      expand: [String.t()]
    }
    | map(),
  session :: String.t()
) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | ExOAPI.Stripe.Schemas.Identity_verificationSession.t()
   | map()}
  | {:error, any()}

description: <p>Updates a VerificationSession object.</p>

When the session status is requires_input, you can use this method to update theverification check and options.

Link to this function

post_identity_verification_sessions_session_cancel(client, body, session)

View Source
@spec post_identity_verification_sessions_session_cancel(
  client :: ExOAPI.Client.t(),
  body :: %{expand: [String.t()]} | map(),
  session :: String.t()
) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | ExOAPI.Stripe.Schemas.Identity_verificationSession.t()
   | map()}
  | {:error, any()}

description: <p>A VerificationSession object can be canceled when it is in <code>requires_input</code> <a href="/docs/identity/how-sessions-work">status</a>.</p>

Once canceled, future submission attempts are disabled. This cannot be undone. Learn more.

Link to this function

post_identity_verification_sessions_session_redact(client, body, session)

View Source
@spec post_identity_verification_sessions_session_redact(
  client :: ExOAPI.Client.t(),
  body :: %{expand: [String.t()]} | map(),
  session :: String.t()
) ::
  {:ok,
   ExOAPI.Stripe.Schemas.Error.t()
   | ExOAPI.Stripe.Schemas.Identity_verificationSession.t()
   | map()}
  | {:error, any()}

description: <p>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.</p>

A VerificationSession object can be redacted when it is in requires_input or verifiedstatus. 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, theVerificationSession’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 thefields 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.