Skip to content
Get started

Cancel

client.Paykeys.Cancel(ctx, id, params) (*PaykeyV1, error)
PUT/v1/paykeys/{id}/cancel
ParametersExpand Collapse
id string
params PaykeyCancelParams
Reason param.Field[string]optional

Body param

CorrelationID param.Field[string]optional

Header param: Optional client generated identifier to trace and debug a series of requests.

IdempotencyKey param.Field[string]optional

Header param: Optional client generated value to use for idempotent requests.

maxLength40
minLength10
RequestID param.Field[string]optional

Header param: Optional client generated identifier to trace and debug a request.

StraddleAccountID param.Field[string]optional

Header param: For use by platforms to specify an account id and set scope of a request.

formatuuid
ReturnsExpand Collapse
type PaykeyV1 struct{…}
Data PaykeyV1Data
ID string

Unique identifier for the paykey.

formatuuid
Config PaykeyV1DataConfig
ProcessingMethod stringoptional
One of the following:
const PaykeyV1DataConfigProcessingMethodInline PaykeyV1DataConfigProcessingMethod = "inline"
const PaykeyV1DataConfigProcessingMethodBackground PaykeyV1DataConfigProcessingMethod = "background"
const PaykeyV1DataConfigProcessingMethodSkip PaykeyV1DataConfigProcessingMethod = "skip"
SandboxOutcome stringoptional
One of the following:
const PaykeyV1DataConfigSandboxOutcomeStandard PaykeyV1DataConfigSandboxOutcome = "standard"
const PaykeyV1DataConfigSandboxOutcomeActive PaykeyV1DataConfigSandboxOutcome = "active"
const PaykeyV1DataConfigSandboxOutcomeRejected PaykeyV1DataConfigSandboxOutcome = "rejected"
const PaykeyV1DataConfigSandboxOutcomeReview PaykeyV1DataConfigSandboxOutcome = "review"
CreatedAt 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 string
One of the following:
const PaykeyV1DataSourceBankAccount PaykeyV1DataSource = "bank_account"
const PaykeyV1DataSourceStraddle PaykeyV1DataSource = "straddle"
const PaykeyV1DataSourceMx PaykeyV1DataSource = "mx"
const PaykeyV1DataSourcePlaid PaykeyV1DataSource = "plaid"
const PaykeyV1DataSourceTan PaykeyV1DataSource = "tan"
const PaykeyV1DataSourceQuiltt PaykeyV1DataSource = "quiltt"
Status string
One of the following:
const PaykeyV1DataStatusPending PaykeyV1DataStatus = "pending"
const PaykeyV1DataStatusActive PaykeyV1DataStatus = "active"
const PaykeyV1DataStatusInactive PaykeyV1DataStatus = "inactive"
const PaykeyV1DataStatusRejected PaykeyV1DataStatus = "rejected"
const PaykeyV1DataStatusReview PaykeyV1DataStatus = "review"
const PaykeyV1DataStatusBlocked PaykeyV1DataStatus = "blocked"
UpdatedAt Time

Timestamp of the most recent update to the paykey.

formatdate-time
Balance PaykeyV1DataBalanceoptional
Status string
One of the following:
const PaykeyV1DataBalanceStatusPending PaykeyV1DataBalanceStatus = "pending"
const PaykeyV1DataBalanceStatusCompleted PaykeyV1DataBalanceStatus = "completed"
const PaykeyV1DataBalanceStatusFailed PaykeyV1DataBalanceStatus = "failed"
AccountBalance int64optional

Account Balance when last retrieved

formatint32
UpdatedAt Timeoptional

Last time account balance was updated.

formatdate-time
BankData PaykeyV1DataBankDataoptional
AccountNumber string

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

AccountType string
One of the following:
const PaykeyV1DataBankDataAccountTypeChecking PaykeyV1DataBankDataAccountType = "checking"
const PaykeyV1DataBankDataAccountTypeSavings PaykeyV1DataBankDataAccountType = "savings"
RoutingNumber string

The routing number of the bank account.

minLength9
maxLength9
CustomerID stringoptional

Unique identifier of the related customer object.

formatuuid
ExpiresAt Timeoptional

Expiration date and time of the paykey, if applicable.

formatdate-time
ExternalID stringoptional

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

InstitutionName stringoptional

Name of the financial institution.

Metadata map[string, string]optional

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

StatusDetails PaykeyV1DataStatusDetailsoptional
ChangedAt Time

The time the status change occurred.

formatdate-time
Message string

A human-readable description of the current status.

Reason string
One of the following:
const PaykeyV1DataStatusDetailsReasonInsufficientFunds PaykeyV1DataStatusDetailsReason = "insufficient_funds"
const PaykeyV1DataStatusDetailsReasonClosedBankAccount PaykeyV1DataStatusDetailsReason = "closed_bank_account"
const PaykeyV1DataStatusDetailsReasonInvalidBankAccount PaykeyV1DataStatusDetailsReason = "invalid_bank_account"
const PaykeyV1DataStatusDetailsReasonInvalidRouting PaykeyV1DataStatusDetailsReason = "invalid_routing"
const PaykeyV1DataStatusDetailsReasonDisputed PaykeyV1DataStatusDetailsReason = "disputed"
const PaykeyV1DataStatusDetailsReasonPaymentStopped PaykeyV1DataStatusDetailsReason = "payment_stopped"
const PaykeyV1DataStatusDetailsReasonOwnerDeceased PaykeyV1DataStatusDetailsReason = "owner_deceased"
const PaykeyV1DataStatusDetailsReasonFrozenBankAccount PaykeyV1DataStatusDetailsReason = "frozen_bank_account"
const PaykeyV1DataStatusDetailsReasonRiskReview PaykeyV1DataStatusDetailsReason = "risk_review"
const PaykeyV1DataStatusDetailsReasonFraudulent PaykeyV1DataStatusDetailsReason = "fraudulent"
const PaykeyV1DataStatusDetailsReasonDuplicateEntry PaykeyV1DataStatusDetailsReason = "duplicate_entry"
const PaykeyV1DataStatusDetailsReasonInvalidPaykey PaykeyV1DataStatusDetailsReason = "invalid_paykey"
const PaykeyV1DataStatusDetailsReasonPaymentBlocked PaykeyV1DataStatusDetailsReason = "payment_blocked"
const PaykeyV1DataStatusDetailsReasonAmountTooLarge PaykeyV1DataStatusDetailsReason = "amount_too_large"
const PaykeyV1DataStatusDetailsReasonTooManyAttempts PaykeyV1DataStatusDetailsReason = "too_many_attempts"
const PaykeyV1DataStatusDetailsReasonInternalSystemError PaykeyV1DataStatusDetailsReason = "internal_system_error"
const PaykeyV1DataStatusDetailsReasonUserRequest PaykeyV1DataStatusDetailsReason = "user_request"
const PaykeyV1DataStatusDetailsReasonOk PaykeyV1DataStatusDetailsReason = "ok"
const PaykeyV1DataStatusDetailsReasonOtherNetworkReturn PaykeyV1DataStatusDetailsReason = "other_network_return"
const PaykeyV1DataStatusDetailsReasonPayoutRefused PaykeyV1DataStatusDetailsReason = "payout_refused"
const PaykeyV1DataStatusDetailsReasonCancelRequest PaykeyV1DataStatusDetailsReason = "cancel_request"
const PaykeyV1DataStatusDetailsReasonFailedVerification PaykeyV1DataStatusDetailsReason = "failed_verification"
const PaykeyV1DataStatusDetailsReasonRequireReview PaykeyV1DataStatusDetailsReason = "require_review"
const PaykeyV1DataStatusDetailsReasonBlockedBySystem PaykeyV1DataStatusDetailsReason = "blocked_by_system"
const PaykeyV1DataStatusDetailsReasonWatchtowerReview PaykeyV1DataStatusDetailsReason = "watchtower_review"
const PaykeyV1DataStatusDetailsReasonValidating PaykeyV1DataStatusDetailsReason = "validating"
const PaykeyV1DataStatusDetailsReasonAutoHold PaykeyV1DataStatusDetailsReason = "auto_hold"
Source string
One of the following:
const PaykeyV1DataStatusDetailsSourceWatchtower PaykeyV1DataStatusDetailsSource = "watchtower"
const PaykeyV1DataStatusDetailsSourceBankDecline PaykeyV1DataStatusDetailsSource = "bank_decline"
const PaykeyV1DataStatusDetailsSourceCustomerDispute PaykeyV1DataStatusDetailsSource = "customer_dispute"
const PaykeyV1DataStatusDetailsSourceUserAction PaykeyV1DataStatusDetailsSource = "user_action"
const PaykeyV1DataStatusDetailsSourceSystem PaykeyV1DataStatusDetailsSource = "system"
Code stringoptional

The status code if applicable.

UnblockEligible booloptional

Indicates whether this paykey is eligible for client-initiated unblocking. Only present for blocked paykeys. True when blocked due to R29 returns and not previously unblocked, false otherwise. Null when paykey is not blocked.

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

APIRequestID string

Unique identifier for this API request, useful for troubleshooting.

formatuuid
APIRequestTimestamp Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
ResponseType PaykeyV1ResponseType

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.
One of the following:
const PaykeyV1ResponseTypeObject PaykeyV1ResponseType = "object"
const PaykeyV1ResponseTypeArray PaykeyV1ResponseType = "array"
const PaykeyV1ResponseTypeError PaykeyV1ResponseType = "error"
const PaykeyV1ResponseTypeNone PaykeyV1ResponseType = "none"

Cancel

package main

import (
  "context"
  "fmt"

  "github.com/straddleio/straddle-go"
  "github.com/straddleio/straddle-go/option"
)

func main() {
  client := straddle.NewClient(
    option.WithAPIKey("My API Key"),
  )
  paykeyV1, err := client.Paykeys.Cancel(
    context.TODO(),
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    straddle.PaykeyCancelParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", paykeyV1.Data)
}
{
  "data": {
    "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"
    },
    "unblock_eligible": true
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}
Returns Examples
{
  "data": {
    "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"
    },
    "unblock_eligible": true
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}