# Simulate an ACH return

[Choose what to test in the sandbox](https://devportal.qa.winkpg.io/docs/decide/choose-what-to-test.md): Which sandbox scenario proves the part of your integration you're about to ship, and the blueprint that runs it.

Send an ACH sale at an amount the sandbox returns, without waiting days for a real bank to do it.

**Your answers so far**

- What are you testing next? What my code does when a payment is refused or comes back.
- Which refusal do you need to see? A bank debit that comes back.

**What to build**

Run the ACH return blueprint, and read the return code off the transaction. Make sure your systems mark the order unpaid rather than issuing a refund: the bank already pulled the money back.

**Worth knowing**

- Transaction.Settled never fires for ACH. Test against Transaction.AchStatusChanged and Transaction.Returned.

**Where to go next**

- [Simulate an ACH return](https://devportal.qa.winkpg.io/docs/blueprints/simulate-an-ach-return.md)
- [ACH payments](https://devportal.qa.winkpg.io/docs/guides/ach-payments.md)

- [Start over](https://devportal.qa.winkpg.io/docs/decide/choose-what-to-test.md): go back to the first question.

## See also

- [All documentation](https://devportal.qa.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
