Fixed Payment provider returning Error: Invalid cost amount


New member
Affected version
XF 2.2
We've set up PayPal to accept payments for forum upgrades according to the documentation. But one user attempt to upgrade continues to post an error log with the error message: Error: Invalid cost amount

I did a search for similar errors and found this as a fixed bug against 2.0.5;

array(42) { ["mc_gross"] => string(5) "57.10" ["protection_eligibility"] => string(8) "Eligible" ["address_status"] => string(9) "confirmed" ["payer_id"] => string(13) "" ["address_street"] => string(15) "" ["payment_date"] => string(25) "" ["payment_status"] => string(9) "Completed" ["charset"] => string(12) "windows-1252" ["address_zip"] => string(10) "" ["first_name"] => string(3) "" ["mc_fee"] => string(4) "2.48" ["address_country_code"] => string(2) "US" ["address_name"] => string(10) "" ["notify_version"] => string(3) "3.9" ["custom"] => string(32) "" ["payer_status"] => string(8) "verified" ["business"] => string(19) "" ["address_country"] => string(13) "" ["address_city"] => string(6) "" ["quantity"] => string(1) "1" ["verify_sign"] => string(56) "" ["payer_email"] => string(28) "" ["txn_id"] => string(17) "" ["payment_type"] => string(7) "instant" ["last_name"] => string(6) "" ["address_state"] => string(2) "" ["receiver_email"] => string(19) "" ["payment_fee"] => string(4) "2.48" ["shipping_discount"] => string(4) "0.00" ["insurance_amount"] => string(4) "0.00" ["receiver_id"] => string(13) "" ["txn_type"] => string(10) "web_accept" ["item_name"] => string(56) "Account upgrade: Moot Subscription - Count (ShadowHawke)" ["discount"] => string(4) "0.00" ["mc_currency"] => string(3) "USD" ["item_number"] => string(0) "" ["residence_country"] => string(2) "US" ["shipping_method"] => string(11) "Air Service" ["transaction_subject"] => string(0) "" ["payment_gross"] => string(5) "57.10" ["shipping"] => string(4) "7.10" ["ipn_track_id"] => string(13) "" }


New member
We figured this out. I'm posting this here in hopes it helps others resolve a similar problem.

In your PayPal setup it is possible to add additional charges. In our example the PayPal setup was part of an online store. This was set to automatically add a small shipping and handling charge to the amount requested. For the store the user selects the item(s), is redirected to to the PayPal site, where they see the additional charge for shipping and can approve or disapprove from there.

In the XenForo case, the XenForo API sends over the request for $X, the shipping charges are added, and is told the user is going to be charged $X+Shipping. XenForo correctly complains.

The solution was to set up a second PayPal email address to the same account, but this one wouldn't add the shipping. This resolved the problem.

Another problem is XenForo keeps trying this transaction. In an ideal world I would love to see one of the following outcomes:
  • XenForo simply stops after the first failure in this circumstance. If the first time this fails, it will continue to do so until manually addressed.
  • There is a better error message indicating the problem and how to address it.
For a real stretch goal, have the ability to indicate there will be an additional charge for shipping, taxes, handling, etc of not more than $Y

XF Bug Bot

XenForo bug fixer bot
Staff member
Thank you for reporting this issue, it has now been resolved. We are aiming to include any changes that have been made in a future XF release (2.2.8).

Change log:
When encountering an invalid cost amount error with PayPal, expand the error message with a hint to check for additional shipping and handling charges
There may be a delay before changes are rolled out to the XenForo Community.