Sandbox-only endpoints for simulating events that would otherwise take hours or days to occur in production -- settling a card authorization, receiving an inbound wire, having the Federal Reserve acknowledge an ACH transfer, and so on.
These only work against the sandbox environment (the default
environment unless you configure :production). If you have a sandbox
Event Subscription configured, triggering a simulation will also fire
the corresponding webhook to your endpoint, just as the real event
would in production.
Each simulate-able resource has its own submodule here, named after the resource it relates to:
Increase.Simulations.AccountRevenuePaymentsIncrease.Simulations.AccountStatementsIncrease.Simulations.ACHTransfersIncrease.Simulations.CardAuthenticationsIncrease.Simulations.CardAuthorizationExpirationsIncrease.Simulations.CardAuthorizationsIncrease.Simulations.CardBalanceInquiriesIncrease.Simulations.CardDisputesIncrease.Simulations.CardFuelConfirmationsIncrease.Simulations.CardIncrementsIncrease.Simulations.CardPurchaseSupplementsIncrease.Simulations.CardRefundsIncrease.Simulations.CardReversalsIncrease.Simulations.CardSettlementsIncrease.Simulations.CardTokensIncrease.Simulations.CheckDepositsIncrease.Simulations.CheckTransfersIncrease.Simulations.DigitalWalletTokenRequestsIncrease.Simulations.EntitiesIncrease.Simulations.EntityOnboardingSessionsIncrease.Simulations.ExportsIncrease.Simulations.InboundACHTransfersIncrease.Simulations.InboundCheckDepositsIncrease.Simulations.InboundFednowTransfersIncrease.Simulations.InboundMailItemsIncrease.Simulations.InboundRealTimePaymentsTransfersIncrease.Simulations.InboundWireDrawdownRequestsIncrease.Simulations.InboundWireTransfersIncrease.Simulations.InterestPaymentsIncrease.Simulations.PendingTransactionsIncrease.Simulations.PhysicalCardsIncrease.Simulations.ProgramsIncrease.Simulations.RealTimePaymentsTransfersIncrease.Simulations.WireDrawdownRequestsIncrease.Simulations.WireTransfers
Example
client = Increase.Client.new(environment: :sandbox)
{:ok, account} = Increase.Accounts.create(client, %{name: "My First Account"})
{:ok, authorization} =
Increase.Simulations.CardAuthorizations.create(client, %{
card_id: card.id,
amount: 1000
})