No matter what code you use to analyze the "Transaction ID", which Authorize.net returns to you after a successful transaction, converts this transaction ID to an integer. It should be considered as a string, not an integer. In 2008, Authorize announced that they were switching from an integer to a string transaction identifier, since they had run out of a 32-bit integer.
2147483647 is the largest integer -10 you can make with 32 binary bits (1111 1111 1111 1111 1111 1111 1111 1111). This means that Authorize returns a transaction ID> 2147483647 (e.g. 3,000,000,000), and your programming language truncates bits to the maximum value, 2147483647.
PHP , . , . :
(string)$transaction_id
, , . :
$transaction_id + 1
, , , . , mysql CHAR VARCHAR 10. 16 24, .
: