Skip to content
  • Auto
  • Light
  • Dark
Get started
View as Markdown
Copy Markdown

Open in Claude
Open in ChatGPT

Get paykey review details

paykeys.review.get(id, **kwargs) -> ReviewGetResponse { data, meta, response_type }
get/v1/paykeys/{id}/review

Get additional details about a paykey.

ParametersExpand Collapse
id: String
correlation_id: String
request_id: String
straddle_account_id: String
ReturnsExpand Collapse
class ReviewGetResponse { data, meta, response_type }
data: { paykey_details, verification_details}
paykey_details: { id, config, created_at, 13 more}
id: String

Unique identifier for the paykey.

formatuuid
config: { processing_method, sandbox_outcome}
processing_method: :inline | :background | :skip
Accepts one of the following:
:inline
:background
:skip
sandbox_outcome: :standard | :active | :rejected | :review
Accepts one of the following:
:standard
:active
:rejected
:review
created_at: Time

Timestamp of when the paykey was created.

formatdate-time
label: String

Human-readable label used to represent this paykey in a UI.

paykey: String

The tokenized paykey value. This value is used to create payments and should be stored securely.

source: :bank_account | :straddle | :mx | 3 more
Accepts one of the following:
:bank_account
:straddle
:mx
:plaid
:tan
:quiltt
status: :pending | :active | :inactive | 2 more
Accepts one of the following:
:pending
:active
:inactive
:rejected
:review
updated_at: Time

Timestamp of the most recent update to the paykey.

formatdate-time
balance: { status, account_balance, updated_at}
status: :pending | :completed | :failed
Accepts one of the following:
:pending
:completed
:failed
account_balance: Integer

Account Balance when last retrieved

formatint32
updated_at: Time

Last time account balance was updated.

formatdate-time
bank_data: { account_number, account_type, routing_number}
account_number: String

Bank account number. This value is masked by default for security reasons. Use the /unmask endpoint to access the unmasked value.

account_type: :checking | :savings
Accepts one of the following:
:checking
:savings
routing_number: String

The routing number of the bank account.

minLength9
maxLength9
customer_id: String

Unique identifier of the related customer object.

formatuuid
expires_at: Time

Expiration date and time of the paykey, if applicable.

formatdate-time
external_id: String

Unique identifier for the paykey in your database, used for cross-referencing between Straddle and your systems.

institution_name: String

Name of the financial institution.

metadata: Hash[Symbol, String]

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the paykey in a structured format.

status_details: { changed_at, message, reason, 2 more}
changed_at: Time

The time the status change occurred.

formatdate-time
message: String

A human-readable description of the current status.

reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 17 more
Accepts one of the following:
:insufficient_funds
:closed_bank_account
:invalid_bank_account
:invalid_routing
:disputed
:payment_stopped
:owner_deceased
:frozen_bank_account
:risk_review
:fraudulent
:duplicate_entry
:invalid_paykey
:payment_blocked
:amount_too_large
:too_many_attempts
:internal_system_error
:user_request
:ok
:other_network_return
:payout_refused
source: :watchtower | :bank_decline | :customer_dispute | 2 more
Accepts one of the following:
:watchtower
:bank_decline
:customer_dispute
:user_action
:system
code: String

The status code if applicable.

verification_details: { id, breakdown, created_at, 3 more}
id: String

Unique identifier for the verification details.

formatuuid
breakdown: { account_validation, name_match}
account_validation: { codes, decision, reason}
codes: Array[String]
decision: :accept | :reject | :review
Accepts one of the following:
:accept
:reject
:review
reason: String
name_match: { codes, decision, correlation_score, 4 more}
codes: Array[String]
decision: :accept | :reject | :review
Accepts one of the following:
:accept
:reject
:review
correlation_score: Float
customer_name: String
matched_name: String
names_on_account: Array[String]
reason: String
created_at: Time

Timestamp of when the verification was initiated.

formatdate-time
decision: :accept | :reject | :review
Accepts one of the following:
:accept
:reject
:review
messages: Hash[Symbol, String]

Dictionary of all messages from the paykey verification process.

updated_at: Time

Timestamp of the most recent update to the verification details.

formatdate-time
meta: ResponseMetadata { api_request_id, api_request_timestamp }

Metadata about the API request, including an identifier and timestamp.

api_request_id: String

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
response_type: :object | :array | :error | :none

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
Accepts one of the following:
:object
:array
:error
:none
Get paykey review details
require "straddle"

straddle = Straddle::Client.new(
  api_key: "My API Key",
  environment: "production" # defaults to "sandbox"
)

review = straddle.paykeys.review.get("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(review)
{
  "data": {
    "paykey_details": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "config": {
        "processing_method": "inline",
        "sandbox_outcome": "standard"
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "label": "label",
      "paykey": "paykey",
      "source": "bank_account",
      "status": "pending",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "balance": {
        "status": "pending",
        "account_balance": 0,
        "updated_at": "2019-12-27T18:11:19.117Z"
      },
      "bank_data": {
        "account_number": "****1234",
        "account_type": "checking",
        "routing_number": "021000021"
      },
      "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "expires_at": "2019-12-27T18:11:19.117Z",
      "external_id": "external_id",
      "institution_name": "Bank of America",
      "metadata": {
        "foo": "string"
      },
      "status_details": {
        "changed_at": "2019-12-27T18:11:19.117Z",
        "message": "Bank account sucesfully validated",
        "reason": "insufficient_funds",
        "source": "watchtower",
        "code": "code"
      }
    },
    "verification_details": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "breakdown": {
        "account_validation": {
          "codes": [
            "string"
          ],
          "decision": "accept",
          "reason": "reason"
        },
        "name_match": {
          "codes": [
            "string"
          ],
          "decision": "accept",
          "correlation_score": 0,
          "customer_name": "customer_name",
          "matched_name": "matched_name",
          "names_on_account": [
            "string"
          ],
          "reason": "reason"
        }
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "decision": "accept",
      "messages": {
        "foo": "string"
      },
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}
Returns Examples
{
  "data": {
    "paykey_details": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "config": {
        "processing_method": "inline",
        "sandbox_outcome": "standard"
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "label": "label",
      "paykey": "paykey",
      "source": "bank_account",
      "status": "pending",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "balance": {
        "status": "pending",
        "account_balance": 0,
        "updated_at": "2019-12-27T18:11:19.117Z"
      },
      "bank_data": {
        "account_number": "****1234",
        "account_type": "checking",
        "routing_number": "021000021"
      },
      "customer_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "expires_at": "2019-12-27T18:11:19.117Z",
      "external_id": "external_id",
      "institution_name": "Bank of America",
      "metadata": {
        "foo": "string"
      },
      "status_details": {
        "changed_at": "2019-12-27T18:11:19.117Z",
        "message": "Bank account sucesfully validated",
        "reason": "insufficient_funds",
        "source": "watchtower",
        "code": "code"
      }
    },
    "verification_details": {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "breakdown": {
        "account_validation": {
          "codes": [
            "string"
          ],
          "decision": "accept",
          "reason": "reason"
        },
        "name_match": {
          "codes": [
            "string"
          ],
          "decision": "accept",
          "correlation_score": 0,
          "customer_name": "customer_name",
          "matched_name": "matched_name",
          "names_on_account": [
            "string"
          ],
          "reason": "reason"
        }
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "decision": "accept",
      "messages": {
        "foo": "string"
      },
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}