sdk-dotnet icon indicating copy to clipboard operation
sdk-dotnet copied to clipboard

priorAuthCaptureTransaction with new data

Open DukeNuken opened this issue 8 years ago • 7 comments

Hello. I need make Authorization on some amount like $10 and if it was successful I am making order on site and CHARGE the amount.

Based on manual I need use authOnlyTransaction then save transaction id and then use priorAuthCaptureTransaction with saved transaction id.

The problem here – when I do Authorization I don’t have Invoice number yet and if I send it with priorAuthCaptureTransaction request it get captured but other info like Invoice number, shipment info doesn’t get updated.

Why? Is it a bug?

Duke

DukeNuken avatar Oct 04 '16 20:10 DukeNuken

priorAuthCaptureTransaction does not update the transaction details because we want fields to be freezed once the transaction is authorized. Only amount can be changed, and it can only be reduced. For example, if a transaction is already authorized with certain shipping info, allowing it to change later would mean that the customer may not get the order delivered.

You can follow allowed fields in the guide here.

ashtru avatar Oct 06 '16 06:10 ashtru

So what should I do for:

  1. authorize some amount (make sure what credit card valid and have enough money) then
  2. make order on my site then
  3. CAPTURE amount with some details added?

If priorAuthCaptureTransaction don't allow add invoice to transaction, then how I can add it? How I can cancel authorize transaction (by transactionID) and make new CAPTURE?

DukeNuken avatar Oct 06 '16 07:10 DukeNuken

Any transaction starts by validating the credit card and by checking that the card has enough money for making that transaction. If the card is invalid OR there is not enough money, the transaction is declined automatically, without actually attempting to charge the card.

So, you could simply start with step 2 and then do a AUTH_CAPTURE.

You don't need step 1 - those kind of transactions (Auth only) are only used when you cannot collect payment immediately, but are already providing service/goods to customer for some period after the AuthOnly. e..g hotels, where payment can only be done after days.

ashtru avatar Oct 06 '16 12:10 ashtru

@ashtru it is the point. When I do just AUTH_CAPTURE and it fails (because of fake credit card) order ALREDY made in my system.

How I can be sure what that credit card valid and have enough money BEFORE I make order on my site if dont use authorize transaction?

DukeNuken avatar Oct 06 '16 14:10 DukeNuken

@dukenuken The order should be created once the authCapture has returned successful response. Otherwise won't it be the same problem, if you use authOnly transaction instead of authCapture?

ashtru avatar Oct 06 '16 19:10 ashtru

@ashtru If I make order AFTER "authCapture has returned successful response" then that transaction doesnt have invoce (because order created later). My case should be like this image

and I dont understand why if I use priorAuthCaptureTransaction for capture autorized transaction I cant add Invoce number? Check the manual https://developer.authorize.net/api/reference/index.html#payment-transactions-capture-a-previously-authorized-amount Why it have have invoiceNumber in api if it is ignored? Then how to use that field in priorAuthCaptureTransaction request at all?

DukeNuken avatar Oct 07 '16 13:10 DukeNuken

Good afternoon. Faced the same problem. Before creating an order, I need to make sure that the client does not have a fake card and has enough money. And I do authorization without Invoice ID. Then I execute "priorAuthCaptureTransaction" and pass Invoice number. But the API ignores this and does not add to the payment. Tell me when will this problem be solved?

vovapilimon avatar Dec 01 '20 14:12 vovapilimon