Currently running OPC 2.3.9, bootstrap 3.15., Zen 1.5.7c

I have had a weird "error" of sorts, and I'm not sure if it is something caused by OPC, or if it is an error with PayPal.

Yesterday I had a duplicate order that came through 2 seconds after the first. The below CURL log came through at the same exact time as the first order (personal information redacted by me with XXXX);

Code:
2021-11-10 02:46:50
-------------------
(live transaction) --> https://api-3t.paypal.com/nvp
Request Headers: 
Array
(
    [0] => Content-Type: text/namevalue
    [1] => X-VPS-Timeout: 90
    [2] => X-VPS-VIT-Client-Type: PHP/cURL
    [3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart(R) - PayPal/NVP
    [4] => X-VPS-VIT-Integration-Version: 1.5.7
)


Request Parameters: {DoDirectPayment} 
Array
(
    [ACCT] => ************XXXXX
    [AMT] => 99.79
    [BUTTONSOURCE] => ZenCart-DP_us
    [CARDISSUE] => 
    [CITY] => Portland
    [COUNTRYCODE] => US
    [CREDITCARDTYPE] => Visa
    [CUSTOM] => DP-23021-1636577207
    [CVV2] => ***
    [EMAIL] => XXXXX
    [EXPDATE] => XXXXX
    [FIRSTNAME] => XXXXX
    [INVNUM] => 23021-1636577207-[sicassracingcom]
    [IPADDRESS] => 76.27.207.119
    [ITEMAMT] => 84.9
    [LASTNAME] => XXXXX
    [L_AMT0] => 44.95
    [L_AMT1] => 39.95
    [L_NAME0] => KTM Bar Mounted Hi/Lo/Off Headlight switch [316] Switch Type: 2005-20 KTM Factory Headlight *NOT 2007-20 EXC
    [L_NAME1] => KTM/HQV Front Brake Switch Kit - M10x1.00 [167]
    [L_NUMBER0] => 26-030T
    [L_NUMBER1] => 26-036
    [L_QTY0] => 1
    [L_QTY1] => 1
    [NOTIFYURL] => https://sicassracing.com/store/ipn_main_handler.php
    [PAYMENTACTION] => Sale
    [PAYMENTREQUEST_0_PAYMENTACTION] => Sale
    [PHONENUM] => XXXXX
    [SHIPPINGAMT] => 14.89
    [SHIPTOCITY] => Portland
    [SHIPTOCOUNTRYCODE] => US
    [SHIPTONAME] => XXXXX
    [SHIPTOSTATE] => XXXXX
    [SHIPTOSTREET] => XXXXX
    [SHIPTOZIP] => XXXXX
    [STATE] => XXXXX
    [STREET] => XXXXX
    [ZIP] => XXXXX
    [METHOD] => DoDirectPayment
    [CURRENCYCODE] => USD
    [USER] => XXXXXXXXXXXXXX
    [PWD] => ****************
    [VERSION] => 124.0
    [SIGNATURE] => ****************************************************Nui4
)


Response: 
Array
(
    [TIMESTAMP] => 2021-11-10T20:46:50Z
    [CORRELATIONID] => 5a8445f99fbf3
    [ACK] => Failure
    [VERSION] => 124.0
    [BUILD] => 56068150
    [L_ERRORCODE0] => 10536
    [L_SHORTMESSAGE0] => Invalid Data
    [L_LONGMESSAGE0] => The transaction was refused as a result of a duplicate invoice ID supplied.  Attempt with a new invoice ID
    [L_SEVERITYCODE0] => Error
    [AMT] => 99.79
    [CURRENCYCODE] => USD
    [CURL_ERRORS] => 
)


DoDirectPayment, Elapsed: 2840ms -- Failure

TIMESTAMP=2021%2d11%2d10T20%3a46%3a50Z&CORRELATIONID=5a8445f99fbf3&ACK=Failure&VERSION=124%2e0&BUILD=56068150&L_ERRORCODE0=10536&L_SHORTMESSAGE0=Invalid%20Data&L_LONGMESSAGE0=The%20transaction%20was%20refused%20as%20a%20result%20of%20a%20duplicate%20invoice%20ID%20supplied%2e%20%20Attempt%20with%20a%20new%20invoice%20ID&L_SEVERITYCODE0=Error&AMT=99%2e79&CURRENCYCODE=USD&CURL_ERRORS=
Could this be caused by a poor mobile connection? Or possibly the customer refreshing the page during payment processing?

This has happened once before a few weeks back (on OPC 2.3.8), and 3 orders were processed through. All 1 second apart. Any insight would be greatly appreciated.