Comments (23)
The issue that we run into is that once a resource, such as a card, is used for an operation it's very hard to properly perform a DELETE operation on it. If we delete the card, what do we show as the source for the payments associated with that card?
My suggestion is that we remove the vaulted card details (satisfying the requirement of purging the data) while retaining the card name / last_four and mark it deleted. This card would then no longer be returned via a GET on the cards index URI but it would still be able to be returned if you did a GET on the actual URI of the card itself. It would return a deleted_at field which shows the date the DELETE operation was performed.
For other resources the DELETE operation would be similar, a hard delete if there are no dependencies, a soft delete (marked deleted and not returned via index operations) if other items depend on it.
from balanced-api.
DELETE api_keys already works. Create an issue per resource, so there can be separate discussions. The ramification of deleting an instance of a different resource varies
from balanced-api.
This is being done in the ach branch and should be ported back.
from balanced-api.
Is this still a WIP? We'd like to be able to delete accounts and cards via API.
from balanced-api.
My suggestion is that we remove the vaulted card details (satisfying the requirement of purging the data) while retaining the card name / last_four and mark it deleted.
This would be acceptable.
from balanced-api.
👍
from balanced-api.
DELETE should be supported on the following resources
Cards
DELETE will act as an unstore operation
Bank Accounts
This is supported on /v1/bank_accounts
but not on /v1/marketplaces/:marketplace_id/bank_accounts
. The later is going to be deprecated once the Customers resource is introduced.
Holds
A DELETE will be overloaded to void the hold, which will be the equivalent of setting is_void = true
. The account object will still exist for further reference, but it's more clear to use a DELETE on a hold than updating the is_void
field. By making this change, it also becomes possible to deprecate is_void
and introduce voided_at
.
from balanced-api.
I propose we allow DELETE of accounts/customers if they have no transactions associated to them. There's a pretty good use case that some customers are experiencing where they're creating test accounts in production marketplaces that are never used and email us to delete them via support. We should support this.
from balanced-api.
@mahmoudimus +1
from balanced-api.
@mahmoudimus +1 We have had issues on our end where we create a bank account, and have an error, that caused the bank account to not be associated with an account, so there is data laying around that will only get messy later on.
from balanced-api.
@mahmoudimus +1. Deleting accounts if there are no transactions would be great. It would help clean up inactive users and test users.
from balanced-api.
+1
DELETE is crucial for our customers that are very suspicious of their cards being stored online (as unreasonable as that may be, we're not going to be able to change the culture of our audience)...
from balanced-api.
We have had a issue where a merchant does not complete a failed verification, then gives up. This leaves some empty accounts that have no roles, and no other data associated with them.
So +1 on deleting accounts with no transactions associated with them.
from balanced-api.
+1 on DELETE for accounts w/o transactions.
I'd like to see this feature at least in TEST marketplaces so that we can develop further functionality more easily and without confusion.
from balanced-api.
The customers endpoint implements DELETE, I do not believe we're going to port this back to accounts.
DELETE is implemented for:
- Customers without transactions
- Cards and bank accounts associated under customers. (DELETE in this case will invalidate the card and stop it from being returned via index requests)
from balanced-api.
@mjallday is this done?
from balanced-api.
Partially implemented: Works on cards and bank accounts, will not be implemented for accounts, and has not been implemented yet for marketplaces.
from balanced-api.
@remear @cieplak has this been documented properly?
from balanced-api.
It's documented for cards and bank accounts.
It is not yet documented for Customer.
from balanced-api.
It's now documented for Customer. https://docs.balancedpayments.com/current/api.html?language=bash#delete-a-customer
from balanced-api.
The example uses the POST verb, not DELETE:
Definition
DELETE https://api.balancedpayments.com/v1/customers/:customer_id
Request
curl https://api.balancedpayments.com/v1/customers/CU4X4fhZ5txOKbKpqTC0fMh9
-u 82be5036022e11e3b844026ba7f8ec28:
-X POST
from balanced-api.
Fixed by balanced/balanced-docs#230
from balanced-api.
We don't generally encourage deletion, but it's used appropriately now where it should be.
from balanced-api.
Related Issues (20)
- Return links to unsettled credits links from /accounts/{accounts.id}/credits HOT 14
- `Name` should be a required field on BankAccounts
- Dispute Document API HOT 1
- Return the bank account removal reason via noc_reason instead of meta HOT 1
- Add a link from the credit to a settlement HOT 2
- Disputes that come into arbitration should include notes saying why
- Adding ability to enter Payment Details for bank account withdrawals HOT 1
- "/customers/{:customer_id}/orders" returns the entire orders in the marketplace HOT 1
- Flexible search endpoint
- "orders/{:order_id}/holds" link is missing
- Support marketplace settlement of a seller's negative Account balance HOT 2
- Allow filtering logs by settlements
- Create Settlements via Dashboard
- Disputes should expose detailed reason codes when possible
- BankAccountVerification creation issues HOT 10
- Allow validation for emails with the .management TLD as it complies with RFC-2822
- No SAQ A solution (IFrame or full redirect), only SAQ A-EP solutions
- after deleted the card get card api returning card info HOT 1
- Iat and ica support
- IAT Implementation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from balanced-api.