Skip to navigation

Simulation

Test transaction lifecycles in Sandbox without external card networks or bank rails.

Penny Simulation stands in for external card networks and bank rails in Sandbox. It lets you trigger a card purchase, settle or adjust it, cancel or expire a hold, or record a payment to or from a linked account on demand. Penny processes these simulated events through the same authorization, spend-control, and ledger processing as real activity, so the authorization decides whether a purchase is approved or declined.

Simulation is available only in Sandbox (https://simulate.sandbox.api.thepennyinc.com). See Environments.

How it’s different from Banking and Issuing

Banking and Issuing create and manage the resources a transaction happens to — accounts, cards, cardholders, linked accounts, spend controls — all within a Program. Simulation does not create resources. It drives events against resources that already exist:

Banking & Issuing

Create the account, card, or cardholder. Register a linked account. Set up a spend control.

Simulation

Trigger what would normally arrive from the card network or bank rail against something you already created — a purchase, a settlement or adjustment, a cancellation or expiry, a payment from a linked account.

Create everything the scenario needs — the Capital Account, the card and cardholder, the linked account — through Banking and Issuing first. Simulation picks up from there.

Two kinds of calls

Every scenario is one creation call followed by zero or more event calls:

  • POST /transaction/card starts a card purchase, and returns a transaction_id.
  • POST /transaction/payment starts a payment between a linked account and a Capital Account, in either direction.
  • POST /transaction/update applies a follow-up event — settlement, adjustment, cancellation, or expiry — to a transaction created by either of the above.

Simulated transactions are ordinary Sandbox transactions. Read them through Penny Banking’s GET /transactions/{transaction_id} endpoint, and receive their webhooks like any other transaction. See Simulation Scenarios for transaction kinds and events, and Simulating a Card Purchase for a walkthrough.