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