Have been getting this problem for a while - and figured out what is happening but just dont know how to fix it. Dr We need you!

I do get code 0

and it also relates to double payments going into the paypal manager which we have to refund - this is an example:

Customer processes payment
it then looks like something times out
Customer the presses complete payment again - however I have disabled the complete payment button as soon as its pressed (turns it into a "Please Wait...." button)

This results in the following 2 transactions (1 for each button press) only the second transaction creates an order - no order is created for the first one.

Code:
2009-01-18 08:42:01
-------------------
(live transaction) --> https://payflowpro.verisign.com/transaction
Request Headers: 
Array
(
    [0] => Content-Type: text/namevalue
    [1] => X-VPS-Timeout: 45
    [2] => X-VPS-VIT-Client-Type: PHP/cURL
    [3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart - Payflow Pro
    [4] => X-VPS-VIT-Integration-Version: 1.3.8a
)


Request Parameters: {DoDirectPayment} 
Array
(
    [ACCT] => ************4046
    [AMT] => 5.99
    [BUTTONSOURCE] => ZenCart-DP_uk
    [CARDISSUE] => 
    [CITY] => ***********
    [COUNTRY] => GB
    [CURRENCY] => GBP
    [CVV2] => ***
    [EMAIL] => ***********
    [EXPDATE] => 1210
    [IPADDRESS] => ***********
    [ITEMAMT] => 5.99
    [L_AMT0] => 5.99
    [L_NAME0] => ***********
    [L_NUMBER0] => ***********
    [L_QTY0] => 1
    [L_TAXAMT0] => 0.00
    [NAME] => ***********
    [PHONENUM] => ***********
    [SHIPPINGAMT] => 0.00
    [STATE] => 
    [STREET] => ***********
    [TENDER] => C
    [TRXTYPE] => S
    [VERBOSITY] => MEDIUM
    [ZIP] => S73 0LL
    [REQUEST_ID] => 1232311318
    [USER] => 
    [PWD] => **********
    [PARTNER] => PayPalUK
    [VENDOR] => 
)


Response: 
Array
(
    [RESULT] => 0
    [PNREF] => ETHP3B14FC35
    [RESPMSG] => Approved
    [AUTHCODE] => 111111
    [AVSADDR] => Y
    [AVSZIP] => Y
    [CVV2MATCH] => Y
    [PPREF] => 3DF8557528987394B
    [CORRELATIONID] => 412c005f1f437
    [PROCAVS] => X
    [PROCCVV2] => M
    [IAVS] => N
    [REQUEST_ID] => 1232311318
    [CURL_ERRORS] => 
)


DoDirectPayment, Elapsed: 3549ms -- Succeeded
Code:
2009-01-18 08:44:55
-------------------
(live transaction) --> https://payflowpro.verisign.com/transaction
Request Headers: 
Array
(
    [0] => Content-Type: text/namevalue
    [1] => X-VPS-Timeout: 45
    [2] => X-VPS-VIT-Client-Type: PHP/cURL
    [3] => X-VPS-VIT-Integration-Product: PHP::Zen Cart - Payflow Pro
    [4] => X-VPS-VIT-Integration-Version: 1.3.8a
)


Request Parameters: {DoDirectPayment} 
Array
(
    [ACCT] => ************4046
    [AMT] => 5.99
    [BUTTONSOURCE] => ZenCart-DP_uk
    [CARDISSUE] => 
    [CITY] => ***********
    [COUNTRY] => GB
    [CURRENCY] => GBP
    [CVV2] => ***
    [EMAIL] => ***********
    [EXPDATE] => 1210
    [IPADDRESS] => ***********
    [ITEMAMT] => 5.99
    [L_AMT0] => 5.99
    [L_NAME0] => ***********
    [L_NUMBER0] => ***********
    [L_QTY0] => 1
    [L_TAXAMT0] => 0.00
    [NAME] => ***********
    [PHONENUM] => ***********
    [SHIPPINGAMT] => 0.00
    [STATE] => 
    [STREET] => ***********
    [TENDER] => C
    [TRXTYPE] => S
    [VERBOSITY] => MEDIUM
    [ZIP] => S73 0LL
    [REQUEST_ID] => 1232311492
    [USER] => 
    [PWD] => **********
    [PARTNER] => PayPalUK
    [VENDOR] => 
)


Response: 
Array
(
    [RESULT] => 0
    [PNREF] => EUHP3AF01B95
    [RESPMSG] => Approved
    [AUTHCODE] => 111111
    [AVSADDR] => Y
    [AVSZIP] => Y
    [CVV2MATCH] => Y
    [PPREF] => 80D38985UW286640W
    [CORRELATIONID] => ce8714d22f2c1
    [PROCAVS] => X
    [PROCCVV2] => M
    [IAVS] => N
    [REQUEST_ID] => 1232311492
    [CURL_ERRORS] => 
)


DoDirectPayment, Elapsed: 2735ms -- Succeeded
Is there any other information that may be needed