Simulation
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:
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/cardstarts a card purchase, and returns atransaction_id.POST /transaction/paymentstarts a payment between a linked account and a Capital Account, in either direction.POST /transaction/updateapplies 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.