ERROR IPN notification with invalid amount or currency or email - rounding?

Started by sandomatyas, November 23, 2018, 13:41:30 PM

Previous topic - Next topic

sandomatyas

I got a paypal error when a customer tried to pay an order.
The error log:
2018-11-23 11:45:53 ERROR IPN notification with invalid amount or currency or email: Array
(
    [paypal_data] => Array
        (
            [mc_gross] => 52040
            [invoice] => 82TH033
            [protection_eligibility] => Ineligible
            [address_status] => confirmed
            [payer_id] => ...................
            [address_street] => ...................
            [payment_date] => 03:45:44 Nov 23, 2018 PST
            [payment_status] => Completed
            [charset] => windows-1252
            [address_zip] => ...................
            [first_name] => ...................
            [mc_fee] => 2120
            [address_country_code] => GB
            [address_name] => ...................
            [notify_version] => 3.9
            [custom] => 9okj1fpqsgmfostce3t6vttve7
            [payer_status] => unverified
            [business] => ...................
            [address_country] => United Kingdom
            [address_city] => ...................
            [quantity] => 1
            [verify_sign] => AKg8rzE6R8XWyBCsU0Hbv-KEw7CIA6EZ4DGkT.1ma2Cnh7DNG88tIjOQ
            [payer_email] => ...................
            [txn_id] => 1A389218YC903850C
            [payment_type] => instant
            [last_name] => ...................
            [address_state] =>
            [receiver_email] => ...................
            [payment_fee] =>
            [shipping_discount] => 0
            [insurance_amount] => 0
            [receiver_id] => ...................
            [txn_type] => web_accept
            [item_name] => Order Number: 82TH033
            [discount] => 0
            [mc_currency] => HUF
            [item_number] =>
            [residence_country] => GB
            [receipt_id] => 1985-7438-8747-0237
            [shipping_method] => Default
            [transaction_subject] =>
            [payment_gross] =>
            [ipn_track_id] => 741e876bd988a
            [virtuemart_currency_id] => 47
        )

    [payment_order_total] => 52039.86000
    [currency_code_3] => HUF
    [testing Total-mc-gross] => -0.139999999999418
    [testing Compare] => 52.04
    [testing Result] => 1
)


The shop's currency is HUF, the accepted currencies is HUF and EUR

If I'm right PayPal doesn't accepts subunits (cents) for HUF so in the log mc_gross != payment_order_total
How should I fix it?