mozvat / WSPAPIPrototype

Web Services 2.0 prototype work.
1 stars 2 forks source link

"DELETE" for Transactions Returns and Voids? #9

Open mozvat opened 11 years ago

mozvat commented 11 years ago

There are some subtle difference of why to use Voids and Returns with card swipe and card present. This is a classic example of how we appear more 'complicated' then Stripe.

In many cases, InvoiceNum can also be used intead of RefNo (which is 'required' in the DSI xml spec)

Trancode: VoidSale() Usage: To void a previously completed sale (payment) transaction in the current batch on a credit card

Required fields: (Swiped Credit Void Sale Transaction)

MerchantID Credit VoidSale InvoiceNo RefNo (We can likely remove this as the InvoiceNo is the same as the RefNo) Track2 Purchase - Amount AuthCode If no mag stripe (Track 2) available the following fields are required AcctNo ExpDate Trancode: VoidSaleByRecordNo() Usage: To void a previously completed sale (payment) transaction in the current batch on a credit card using the RecordNo value returned in the original Sale transaction. The magnetic card reader (Stripe) data or manually entered (Keyed) account number and expiration date are not required. MerchantID Credit VoidSaleByRecordNo InvoiceNo RefNo (We can likely remove this as the InvoiceNo is the same as the RefNo) TruncatedAcctNo TruncatedExpDate Purchase - Amount AuthCode To add to the confusion we have other TranCode types: VoidReturnByRecordNo, VoidReturn
mozvat commented 11 years ago

Comment Via Dan Ourada

I do not like the use of Delete in a RESTful api for transaction processing. I cannot think of a time when a POS dev would want to “delete” a transaction. Unless MPS is attempting to shift transaction processing nomenclacture? That’s cool but I doubt that’s what you are trying to do so I would remove all delete verbs and use TransactionType with a POST or GET.

sempf commented 11 years ago

That's fair - I can imagine that there are some benefits to NOT using DELETE - developer confusion reduction being one of them.