Hello All,
I am currently developing an integration with the Authorize.Net payment gateway and using the sandbox environment for testing. During the implementation, I encountered an issue with the authOnlyTransaction transaction type.
When I attempt to authorize a credit card transaction using authOnlyTransaction, I do not receive a valid transaction ID. Instead, the response indicates a transaction ID of 0. Below is an example of the response I am receiving:
net\authorize\api\contract\v1\CreateTransactionResponse Object
(
[transactionResponse:net\authorize\api\contract\v1\CreateTransactionResponse:private] => net\authorize\api\contract\v1\TransactionResponseType Object
(
[responseCode:net\authorize\api\contract\v1\TransactionResponseType:private] => 1
[authCode:net\authorize\api\contract\v1\TransactionResponseType:private] => 000000
[avsResultCode:net\authorize\api\contract\v1\TransactionResponseType:private] => P
[transId:net\authorize\api\contract\v1\TransactionResponseType:private] => 0
[accountNumber:net\authorize\api\contract\v1\TransactionResponseType:private] => XXXX5821
[accountType:net\authorize\api\contract\v1\TransactionResponseType:private] => MasterCard
[messages:net\authorize\api\contract\v1\TransactionResponseType:private] => Array
(
[0] => net\authorize\api\contract\v1\TransactionResponseType\MessagesAType\MessageAType Object
(
[code:net\authorize\api\contract\v1\TransactionResponseType\MessagesAType\MessageAType:private] => 1
[description:net\authorize\api\contract\v1\TransactionResponseType\MessagesAType\MessageAType:private] => This transaction has been approved.
)
)
)
[messages:net\authorize\api\contract\v1\ANetApiResponseType:private] => net\authorize\api\contract\v1\MessagesType Object
(
[resultCode:net\authorize\api\contract\v1\MessagesType:private] => Ok
[message:net\authorize\api\contract\v1\MessagesType:private] => Array
(
[0] => net\authorize\api\contract\v1\MessagesType\MessageAType Object
(
[code:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => I00001
[text:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => Successful.
)
)
)
)
As shown, the transId is 0 despite the transaction being approved. Consequently, when I attempt to capture this transaction using priorAuthCaptureTransaction, I receive the following error due to the invalid transaction ID:
net\authorize\api\contract\v1\CreateTransactionResponse Object
(
[transactionResponse:net\authorize\api\contract\v1\TransactionResponseType:private] => net\authorize\api\contract\v1\TransactionResponseType Object
(
[responseCode:net\authorize\api\contract\v1\TransactionResponseType:private] => 3
[transId:net\authorize\api\contract\v1\TransactionResponseType:private] => 0
[messages:net\authorize\api\contract\v1\TransactionResponseType:private] =>
[errors:net\authorize\api\contract\v1\TransactionResponseType:private] => Array
(
[0] => net\authorize\api\contract\v1\TransactionResponseType\ErrorsAType\ErrorAType Object
(
[errorCode:net\authorize\api\contract\v1\TransactionResponseType\ErrorsAType\ErrorAType:private] => 33
[errorText:net\authorize\api\contract\v1\TransactionResponseType\ErrorsAType\ErrorAType:private] => A valid referenced transaction ID is required.
)
)
)
[messages:net\authorize\api\contract\v1\ANetApiResponseType:private] => net\authorize\api\contract\v1\MessagesType Object
(
[resultCode:net\authorize\api\contract\v1\MessagesType:private] => Error
[message:net\authorize\api\contract\v1\MessagesType:private] => Array
(
[0] => net\authorize\api\contract\v1\MessagesType\MessageAType Object
(
[code:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => E00027
[text:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => The transaction was unsuccessful.
)
)
)
)
Could you please suggest a proper way to generate a valid transaction ID in test mode so I can successfully capture the authorized transaction?
I appreciate your assistance in resolving this issue.
Thanks & Regards,
Ashwini Nehe