Authorize.net refund process without credit card number - authorize.net

How to refund the amount via authorize.net API using c# without credit card number.
I just want to post only transaction id for refund process.
Is that possible in code level?
When i try to refund without credit card number it shows value as "Credit card number is required.
Thanks in advance.

Use getTransactionDetails to get the payment object and then use it with the transaction id to issue a refund http://developer.authorize.net/api/reference/index.html#payment-transactions-refund-a-transaction

yes this is possible but in different way.
First get the transaction details from transaction id, then get the credit card and expiration date from that transaction details
then use this credit card number which will be 4 digits and expiration date(mask date) and setting the transcation id in refund.
It will works fine.
you can get more details here
http://developer.authorize.net/api/reference/index.html#payment-transactions-refund-a-transaction

Related

Receiving SPLIT_CUSTOM payments records of $0.00 for custom tender

One of our customers is experiencing an issue that I am trying to debug where their order is being marked as having a $0.00 SPLIT_CUSTOM entry for our custom tender. We are following the sample and making the payment amount as the full amount in the success response of our "TenderActivity", but sometimes the payment is marked as $0.00.
What could cause the split payment entry to be $0.00?
Here is an example:
This is what was happening:
A register transaction is started and the custom tender was launched (TenderActivity)
The custom tender would temporarily malfunction.
The cashier would take card from the customer and put it into the clover hardware. The custom tender would still be on the screen, but In the background the clover hardware processes the transaction and marks the order as PAID.
While step 3 was happening the custom tender would recover and mark the tender was having paid the amount.
This causes the TenderActivity to mark the payment as complete with the full amount plus tip if present.
Clover says the order has already paid because payment was taken on the hardware in step 3, marks the new payment as a SPLIT_CUSTOM and includes the tip if given. The amount paid by the custom tender is marked as 0.00.

How to refund transaction via VBA with Authorize.net?

I'm using VBA in an Access application to pass credit card applications to Authorize.net.
In the Sandbox, when I issue a request and get a response, the response looks like:
1|1|1|This transaction has been approved.|MKCE58|Y|60138643909|06731|Company name|15.00|CC|auth_capture|||||||||||||||||||||||||||P|2|||||||||||XXXX1111|Visa|||||||1UMB1CSPUW5QIHHZIATBZCO||||||||||
Which element of this response string is the value that I must capture and use when issuing a refund of this transaction?
When I attempt to refund the transaction using either the "MKCE58" or "60138643909" as the TransactionID in:
post_string = post_string & "x_trans_id=" & URLEncode(strTransID) & "&"
I get a response of:
"The referenced transaction does not meet the criteria for issuing a credit."
I found a very old post here on SO that indicates that I need to change my account mode from Live to Test, and I did that. But that has not resolved this situation.
It looks like you are using the AIM API, so the seventh value in that pipe delimited field, 60138643909, is the transaction ID which is what you will use to request a refund.
To issue a refund the following criteria must all be met:
The transaction was originally processed and successfully settled through the payment gateway (Authorize.Net).
The transaction is submitted with the valid transaction ID (x_trans_id) of an original,
successfully settled transaction.
The amount being requested for refund is less than or equal to the original settled
amount.
The sum of multiple Credit transactions submitted against the original transaction is less than or equal to the original settled amount.
At least the last four digits of the credit card number (x_card_num) used for the original, successfully settled transaction are submitted. An expiration date is not required.
The transaction is submitted within 120 days of the settlement date of the original transaction.

unsettled transactions to settled transaction in authorize.net

I have successfully charge the customer payment profile. These transactions can be viewed in the unsettled transaction. I want to ask why these not settled automatically.
Because when a user pay the value through his credit card. I want to show that the amount has been deducted and the client has received the payment. Or i have to suppose that unsettled transaction is also a successful case?
Unsettled transactions are successful transactions. Unsettled just means the transactions have not been sent to the bank for settlement which is what starts the process of capturing those funds. This is to allow you the opportunity to void those transactions if necessary.
Settlement happens nightly so those transactions will show as settled within 24 hours of being processed.

validate the credit card in authorize.net without specifying the amount

According to the api we can authorize the credit card. But in that process we have to put the amount and other information. What if i only want to validate a credit card not to charge it.
Actually i only want to verify whether the user is putting the correct credit card or not. because the system have to go through the hands of laymen.
You can't validate a credit card is legitimate without processing a transaction. You can validate the format of the card number is valid and the card is not expired, but not if it is real or active.
To validate a credit card is valid without charging it you need to do an AUTH_ONLY for either $0.00 or $0.01 depending on your processor's requirements. If it is approved, and the amount is $0.01, you should then void that transaction.

Processing $ zero amount transaction

I want to validate phone number associated with credit card number during transaction processing using authorize.net. i.e I want to check entered phone number is same as that of credit card issuing bank's record during transaction processing with authorize.net.
If entered phone number is valid & is same with phone number that is associated with credit card then only I can proceed for real transaction processing other wise I will not pass transaction to authorize.net payment gateway.
Can I use auth_only transaction type i.e (x_type= "Auth_only") with $0.0 amount for authorizing request to validate entered phone number with phone number associated with credit card ?
Does card get charged any way or it is get reflected in card statement when we authorize only $0.0 transaction. ?
I do not want to charge card any way or transaction to be displayed in customers statement after authorizing only transaction (x_type= "Auth_only")
Please kindly help how to do this
There is no way to validate a phone number is associated with a credit card because there is no such thing as a phone number being associated with a credit card. A credit card will have a Card number, expiration date, CVV, and billing address. It does not have a phone number associated with it. Additionally, phone numbers are not sent to the card issuing bank so even if there was one, it can't be validated anyway.