Well, I've gone back to the originally downloaded AuthorizeJS plugin, patched the various deprecation errors and am communicating with Authorize.net sandbox, but still can't complete a transaction. I am examining the XML data that is serialized and sent to the sandbox (the $xmlRequest variable in the execute method of the ApiOperationBase object) and am having issues with the serializer failing to limit the number of decimal places being sent as the Amount. When it serializes the XML document, the value for amount includes more than 50 decimals places, whereas the Authorize.net API can only accept a value with 15 digits. The error in the result object is "A valid amount is required." and sending the produced XML values to the sandbox's test interface manually processes correctly if I alter that amount value to include only 3 decimal places. I have included a number_format command in the processPaymentWithToken method of authorizejs.php, which ensures that the value being placed into the transaction request object's setAmount method has no more than 3 decimal places, but viewing the XML of the serialized XML request shows the long numerical string is still being produced.
From what info I can find on JSM Serializer, there is a way to ensure a numerical number is produced instead of the CDATA string value currently being produced, but I can't find how to do it in any forums, and documentation is almost nonexistent. (all the values in the plugin's serialized XML appear to be produced as CDATA text.)
Is there a way to limit the numeric values In the serialized XML to 2 decimals?
Again, I'll ask - can I get ahold of the beta plugin, seeing as the AuthorizeJS plugin I purchased seems to have issues?
(I have reverted this site to PHP 8.0, since the JMS Serializer GitHub discussions mentions issues with PHP 8.1 in several different places. I have also updated the HikaShop installation to 4.7)
Thanks.