# `Stripe.Services.TestHelpers.Treasury.OutboundTransferService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.ex#L2)

OutboundTransfer API operations.

# `fail`

```elixir
@spec fail(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Test mode: Fail an OutboundTransfer

Transitions a test mode created OutboundTransfer to the `failed` status. The OutboundTransfer must already be in the `processing` state.

# `post`

```elixir
@spec post(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Test mode: Post an OutboundTransfer

Transitions a test mode created OutboundTransfer to the `posted` status. The OutboundTransfer must already be in the `processing` state.

# `return_outbound_transfer`

```elixir
@spec return_outbound_transfer(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Test mode: Return an OutboundTransfer

Transitions a test mode created OutboundTransfer to the `returned` status. The OutboundTransfer must already be in the `processing` state.

# `update`

```elixir
@spec update(Stripe.Client.t(), String.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Test mode: Update an OutboundTransfer

Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the `canceled` or `failed` states.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
