Ability to cancel pending ACH credits #151

spenczar opened this Issue Oct 9, 2012 · 16 comments


None yet

5 participants

spenczar commented Oct 9, 2012

This might be impossible due to the murky darkness of how ACH transfers actually work, but it would be nice to be able to cancel a pending debit or credit. I would imagine this would look like a DELETE request.

@matin matin pushed a commit to matin/balanced-api that referenced this issue Oct 17, 2012
Matin Tamizi support canceling a credit before it's submitted. #151 699c4cc

If you DELETE a credit and then do a GET on the URI does it return 404 or can you still view the information?

matin commented Oct 19, 2012
  1. Balanced will expose logs or events in some way in the dashboard,
    but the object will no longer exist.
matin commented Oct 23, 2012

Canceling is not the right approach. You end up getting into a situation of exposing ACH batch cut-offs, etc. If there's a 3pm batch cut-off, then you wouldn't be able to cancel something submitted at 2:59pm.

Addressing in #163 instead.

@matin matin pushed a commit to matin/balanced-api that referenced this issue Oct 23, 2012
Matin Tamizi Revert "support canceling a credit before it's submitted. #151"
This reverts commit 699c4cc.
@matin matin closed this Oct 23, 2012
@matin matin reopened this Nov 14, 2012
matin commented Nov 14, 2012

Will allow for cancel within 15 minutes

matin commented Nov 22, 2012

from @dmdj03:

we have a pending, paid, and failed state. how about adding a state prior to pending to accomodate for this 15 minute cancellation period? i think it will avoid confusion if we can say if you're in the "created" state, you can cancel the credit. once it moves into "pending," you cannot.

matin commented Nov 22, 2012

@dmdj03 that depends. How should the credit look after it has been canceled. IMHO, canceling something in the first 15 minutes should just blow it away. The only record of it would be in the logs. Otherwise, it's never effected anything or cost anything.

dmdj03 commented Nov 26, 2012

What about in the invoice? I'm not sure which side I fall on this, but some people might like the reassurance of seeing the entire credit to cancellation process documented. I think the marketplace would only bring it up if the cancellation was submitted but failed.

matin commented Nov 27, 2012

The easiest path right now is to remove the canceled credit from the transaction history altogether. It solves the immediate problem without going through defining a new status, how it should be reflected in the dashboard, etc.

matin commented Nov 28, 2012

Looks good

matin commented Nov 30, 2012

@mahmoudimus @bninja and @mjallday are expressing concerns about the credit being completely removed when canceled, which was my proposed implementation. The only other place where Balanced supports DELETE is for deleting a bank account.

What do you guys propose and the alternative.


I am for DELETE being the method to remove the credit provided that you can still do a GET to retrieve it and it shows a state of canceled or deleted, however it should not turn up in index operations after it is deleted.

There will still be a record of it in the logs as well.

bninja commented Nov 30, 2012

@matin the behavior @mahmoudimus described (completely removed) best mapped to a DELETE so if those are the semantics then 👍 for DELETE.

my concern: do they need to be able to see these deleted credits (e.g. in a txn view or search)? is falling back to logs acceptable for that?

matin commented Dec 1, 2012

do they need to be able to see these deleted credits (e.g. in a txn view or search)? is falling back to logs acceptable for that?

That's the exact question I'm trying to get at.

@mahmoudimus ?

matin commented Apr 5, 2013

Balanced will not support canceling an ACH credit. Instead, the credit must be reversed (#163).

There would be greater complexity introduced by providing the ability to cancel and reverse. It makes sense to only support one, and reversals must be supported for other use cases.

@matin matin closed this Apr 5, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment