sdk-dotnet
sdk-dotnet copied to clipboard
priorAuthCaptureTransaction with new data
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
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.
So what should I do for:
- authorize some amount (make sure what credit card valid and have enough money) then
- make order on my site then
- 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?
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 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 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 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
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?
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?