Skip to content
Get started

Lookup a funding event

client.FundingEvents.Get(ctx, id, query) (*FundingEventSummaryItemV1, error)
GET/v1/funding_events/{id}

Retrieves the details of an existing funding event. Supply the unique funding event id, and Straddle will return the individual transaction items that make up the funding event.

ParametersExpand Collapse
id string
query FundingEventGetParams
CorrelationID param.Field[string]optional

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

RequestID param.Field[string]optional

Optional client generated identifier to trace and debug a request.

StraddleAccountID param.Field[string]optional

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

formatuuid
ReturnsExpand Collapse
type FundingEventSummaryItemV1 struct{…}
Data FundingEventSummaryItemV1Data
ID string

Unique identifier for the funding event.

formatuuid
Amount int64

The amount of the funding event in cents.

formatint32
CreatedAt Time

Created at.

formatdate-time
Direction string

Describes the direction of the funding event from the perspective of the linked_bank_account.

One of the following:
const FundingEventSummaryItemV1DataDirectionDeposit FundingEventSummaryItemV1DataDirection = "deposit"
const FundingEventSummaryItemV1DataDirectionWithdrawal FundingEventSummaryItemV1DataDirection = "withdrawal"
EventType string

The funding event types describes the direction and reason for the funding event.

One of the following:
const FundingEventSummaryItemV1DataEventTypeChargeDeposit FundingEventSummaryItemV1DataEventType = "charge_deposit"
const FundingEventSummaryItemV1DataEventTypeChargeReversal FundingEventSummaryItemV1DataEventType = "charge_reversal"
const FundingEventSummaryItemV1DataEventTypePayoutReturn FundingEventSummaryItemV1DataEventType = "payout_return"
const FundingEventSummaryItemV1DataEventTypePayoutWithdrawal FundingEventSummaryItemV1DataEventType = "payout_withdrawal"
PaymentCount int64

The number of payments associated with the funding event.

formatint32
TraceIDs map[string, string]

Trace Ids.

TraceNumbers []string

Trace number.

TransferDate Time

The date on which the funding event occurred. For deposits and returns, this is the date the funds were credited to your bank account. For withdrawals and reversals, this is the date the funds were debited from your bank account.

formatdate
UpdatedAt Time

Updated at.

formatdate-time
Status stringoptional

The current status of the charge or payout.

One of the following:
const FundingEventSummaryItemV1DataStatusCreated FundingEventSummaryItemV1DataStatus = "created"
const FundingEventSummaryItemV1DataStatusScheduled FundingEventSummaryItemV1DataStatus = "scheduled"
const FundingEventSummaryItemV1DataStatusFailed FundingEventSummaryItemV1DataStatus = "failed"
const FundingEventSummaryItemV1DataStatusCancelled FundingEventSummaryItemV1DataStatus = "cancelled"
const FundingEventSummaryItemV1DataStatusOnHold FundingEventSummaryItemV1DataStatus = "on_hold"
const FundingEventSummaryItemV1DataStatusPending FundingEventSummaryItemV1DataStatus = "pending"
const FundingEventSummaryItemV1DataStatusPaid FundingEventSummaryItemV1DataStatus = "paid"
const FundingEventSummaryItemV1DataStatusReversed FundingEventSummaryItemV1DataStatus = "reversed"
const FundingEventSummaryItemV1DataStatusValidating FundingEventSummaryItemV1DataStatus = "validating"
StatusDetails FundingEventSummaryItemV1DataStatusDetailsoptional
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 FundingEventSummaryItemV1DataStatusDetailsReasonInsufficientFunds FundingEventSummaryItemV1DataStatusDetailsReason = "insufficient_funds"
const FundingEventSummaryItemV1DataStatusDetailsReasonClosedBankAccount FundingEventSummaryItemV1DataStatusDetailsReason = "closed_bank_account"
const FundingEventSummaryItemV1DataStatusDetailsReasonInvalidBankAccount FundingEventSummaryItemV1DataStatusDetailsReason = "invalid_bank_account"
const FundingEventSummaryItemV1DataStatusDetailsReasonInvalidRouting FundingEventSummaryItemV1DataStatusDetailsReason = "invalid_routing"
const FundingEventSummaryItemV1DataStatusDetailsReasonDisputed FundingEventSummaryItemV1DataStatusDetailsReason = "disputed"
const FundingEventSummaryItemV1DataStatusDetailsReasonPaymentStopped FundingEventSummaryItemV1DataStatusDetailsReason = "payment_stopped"
const FundingEventSummaryItemV1DataStatusDetailsReasonOwnerDeceased FundingEventSummaryItemV1DataStatusDetailsReason = "owner_deceased"
const FundingEventSummaryItemV1DataStatusDetailsReasonFrozenBankAccount FundingEventSummaryItemV1DataStatusDetailsReason = "frozen_bank_account"
const FundingEventSummaryItemV1DataStatusDetailsReasonRiskReview FundingEventSummaryItemV1DataStatusDetailsReason = "risk_review"
const FundingEventSummaryItemV1DataStatusDetailsReasonFraudulent FundingEventSummaryItemV1DataStatusDetailsReason = "fraudulent"
const FundingEventSummaryItemV1DataStatusDetailsReasonDuplicateEntry FundingEventSummaryItemV1DataStatusDetailsReason = "duplicate_entry"
const FundingEventSummaryItemV1DataStatusDetailsReasonInvalidPaykey FundingEventSummaryItemV1DataStatusDetailsReason = "invalid_paykey"
const FundingEventSummaryItemV1DataStatusDetailsReasonPaymentBlocked FundingEventSummaryItemV1DataStatusDetailsReason = "payment_blocked"
const FundingEventSummaryItemV1DataStatusDetailsReasonAmountTooLarge FundingEventSummaryItemV1DataStatusDetailsReason = "amount_too_large"
const FundingEventSummaryItemV1DataStatusDetailsReasonTooManyAttempts FundingEventSummaryItemV1DataStatusDetailsReason = "too_many_attempts"
const FundingEventSummaryItemV1DataStatusDetailsReasonInternalSystemError FundingEventSummaryItemV1DataStatusDetailsReason = "internal_system_error"
const FundingEventSummaryItemV1DataStatusDetailsReasonUserRequest FundingEventSummaryItemV1DataStatusDetailsReason = "user_request"
const FundingEventSummaryItemV1DataStatusDetailsReasonOk FundingEventSummaryItemV1DataStatusDetailsReason = "ok"
const FundingEventSummaryItemV1DataStatusDetailsReasonOtherNetworkReturn FundingEventSummaryItemV1DataStatusDetailsReason = "other_network_return"
const FundingEventSummaryItemV1DataStatusDetailsReasonPayoutRefused FundingEventSummaryItemV1DataStatusDetailsReason = "payout_refused"
const FundingEventSummaryItemV1DataStatusDetailsReasonCancelRequest FundingEventSummaryItemV1DataStatusDetailsReason = "cancel_request"
const FundingEventSummaryItemV1DataStatusDetailsReasonFailedVerification FundingEventSummaryItemV1DataStatusDetailsReason = "failed_verification"
const FundingEventSummaryItemV1DataStatusDetailsReasonRequireReview FundingEventSummaryItemV1DataStatusDetailsReason = "require_review"
const FundingEventSummaryItemV1DataStatusDetailsReasonBlockedBySystem FundingEventSummaryItemV1DataStatusDetailsReason = "blocked_by_system"
const FundingEventSummaryItemV1DataStatusDetailsReasonWatchtowerReview FundingEventSummaryItemV1DataStatusDetailsReason = "watchtower_review"
const FundingEventSummaryItemV1DataStatusDetailsReasonValidating FundingEventSummaryItemV1DataStatusDetailsReason = "validating"
const FundingEventSummaryItemV1DataStatusDetailsReasonAutoHold FundingEventSummaryItemV1DataStatusDetailsReason = "auto_hold"
Source string
One of the following:
const FundingEventSummaryItemV1DataStatusDetailsSourceWatchtower FundingEventSummaryItemV1DataStatusDetailsSource = "watchtower"
const FundingEventSummaryItemV1DataStatusDetailsSourceBankDecline FundingEventSummaryItemV1DataStatusDetailsSource = "bank_decline"
const FundingEventSummaryItemV1DataStatusDetailsSourceCustomerDispute FundingEventSummaryItemV1DataStatusDetailsSource = "customer_dispute"
const FundingEventSummaryItemV1DataStatusDetailsSourceUserAction FundingEventSummaryItemV1DataStatusDetailsSource = "user_action"
const FundingEventSummaryItemV1DataStatusDetailsSourceSystem FundingEventSummaryItemV1DataStatusDetailsSource = "system"
Code stringoptional

The status code if applicable.

TraceNumber stringoptional

The trace number of the funding event.

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 FundingEventSummaryItemV1ResponseType

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 FundingEventSummaryItemV1ResponseTypeObject FundingEventSummaryItemV1ResponseType = "object"
const FundingEventSummaryItemV1ResponseTypeArray FundingEventSummaryItemV1ResponseType = "array"
const FundingEventSummaryItemV1ResponseTypeError FundingEventSummaryItemV1ResponseType = "error"
const FundingEventSummaryItemV1ResponseTypeNone FundingEventSummaryItemV1ResponseType = "none"

Lookup a funding event

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"),
  )
  fundingEventSummaryItemV1, err := client.FundingEvents.Get(
    context.TODO(),
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    straddle.FundingEventGetParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", fundingEventSummaryItemV1.Data)
}
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "amount": 100000,
    "created_at": "2019-12-27T18:11:19.117Z",
    "direction": "deposit",
    "event_type": "charge_deposit",
    "payment_count": 0,
    "trace_ids": {
      "foo": "string"
    },
    "trace_numbers": [
      "string"
    ],
    "transfer_date": "2019-12-27",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "status": "created",
    "status_details": {
      "changed_at": "2019-12-27T18:11:19.117Z",
      "message": "Bank account sucesfully validated",
      "reason": "insufficient_funds",
      "source": "watchtower",
      "code": "code"
    },
    "trace_number": "trace_number"
  },
  "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",
    "amount": 100000,
    "created_at": "2019-12-27T18:11:19.117Z",
    "direction": "deposit",
    "event_type": "charge_deposit",
    "payment_count": 0,
    "trace_ids": {
      "foo": "string"
    },
    "trace_numbers": [
      "string"
    ],
    "transfer_date": "2019-12-27",
    "updated_at": "2019-12-27T18:11:19.117Z",
    "status": "created",
    "status_details": {
      "changed_at": "2019-12-27T18:11:19.117Z",
      "message": "Bank account sucesfully validated",
      "reason": "insufficient_funds",
      "source": "watchtower",
      "code": "code"
    },
    "trace_number": "trace_number"
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}