Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 'SETTLEMENT_RETURNED' as a terminal status when transaction_settlement_declined occurs #20

Open
nearapogee opened this issue Mar 15, 2021 · 1 comment
Labels
enhancement New feature or request

Comments

@nearapogee
Copy link

enum--paymentstatus appears to need another status, similar to 'SETTLEMENT_RETURNED', as ACH transactions can move to 'SETTLED' with terminal set to true, then when the bank declines it after settlement, there is now way to tell via the Graphql api that there is a problem with the transaction.

The only way to tell this state is a webhook: https://developers.braintreepayments.com/reference/general/webhooks/transaction/ruby#notification-type-transaction_settlement_declined

We are thankful for the webhook, but it is a bit ironic that the status remains SETTLED even when the transaction is returned and deducted out of Disbursements.

Much thanks!

@yagrawl
Copy link

yagrawl commented Mar 18, 2021

Hi, @nearapogee thanks for the question. I am a developer on the bank payments team at Braintree. I understand your point and I agree that the settled state, even after the transaction has been returned by the bank, is confusing.

From a product perspective, transactions that are disbursed are marked as ‘settled’ which happens to be a terminal state for our transactions. We have considered moving it to settlement_declined after a return but that causes a host of issues in downstream services.

I’ll file a ticket to consider a new state for ACH transactions that are returned after the settled state (like you suggested) but since this problem is unique to ACH and we have a generic state machine for a variety of payment methods that Braintree supports, I can’t make any promises. Unfortunately, at the moment, the webhook is the only way to get notified about returns.

@lkorth lkorth added the enhancement New feature or request label Mar 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants