I've observed that Authorize.net occasionally returns JSON responses with varying structures for transactions within the same environment. Specifically:
One Structure:
The transaction details are provided directly in a flat structure.
Example:
{
"accountType": "Visa",
"accountNumber": "XXXX1111",
"transId": "1200xxxxxxxx",
"responseCode": "1",
"authorization": "NILUxx",
...
}
Another Structure:
The transaction details are nested within a transactionData object, adding an additional layer to the JSON.
Example:
{
"resultCode": "Ok",
"messageCode": "Ok",
"transactionData": {
"accountType": "Visa",
"accountNumber": "XXXX7671",
"transId": "80777xxxxxx",
"responseCode": "1",
"authorization": "0960xx",
...
}
}This inconsistency occurs even when the same payment flow is used. This inconsistency is leading to confusion when handling the data,
Why does the response sometimes include a transactionData wrapper, while other times it’s available directly at the root level?
12-11-2024 06:26 AM