MMv4 KB
 
PayPal orders are completed, but not updated as authorized/paid
  Last Edited - 12/6/2012 4:58pm PST
  Category Path - Shopping Cart Software Components > Administration Area > Modules > 3rd Party Service Integration > FAQs & Tutorials
 
paypal order value discrepancy
I had an order paid for with PayPal. PayPal's order total is more than the shopping cart's. For example, the shopping cart software says the order was $5.00 plus $2.00 for a total of $7.00. But, PayPal listed it as $5.00 plus $3.99 for shipping for a total of $8.99.

As a result, the order on the Search Orders page is still marked as "unauthorized" and "unpaid", even though the order has technically been completed. I am unsure if this is something on my end to fix or a bug?

After a customer completes an order on PayPal's website, PayPal will report its order data back to the shopping cart. The cart will then compare its order data against that returned from PayPal. If any differences in the order values from the two systems is found, the order will remain "unauthorized" and "unpaid" until it can be reviewed by an Admin, who can manually change the order to "authorized" and "paid" status if it checks out.

A common cause of a discrepancy between the two systems is a difference in the shipping fees returned from PayPal.

The first thing to determine is which system is stating the correct shipping fee: the store or PayPal. The easiest way to test this is to recreate the order in the storefront using the same product and customer record.

You can even go so far as to create a "snapshot" of the order in the store (without actually charging to order to a PayPal account) by clicking the "Pay with PayPal" button in the storefront, and then stopping there. Before you are taken to PayPal's website, the store records a "pending" version of the transaction for future reference at [Orders > Pending Off-Site Transactions].

note
When testing in this way, you may abandon the test order once you're taken to PayPal's website — it's not necessary to complete the test transaction on PayPal's website for this test.

Review the test transaction on the Pending Off-Site Transactions page. If it lists the correct order total, then PayPal's system is changing the shipping fee (or other order values) in the data it returns back to the store after the transaction is completed on their website. If this is the case, then changes need to be made to the PayPal account settings on their website. If assistance is needed with this, contact PayPal support.

logging communication from paypal
All of the communication received back from PayPal about a transaction will be recorded in the Notes section of the Order Editor. The information returned from PayPal will look something like this:

At 1/21/2012 9:04am PayPal's website reported back to the shopping cart and provided the following data:

mc_gross = 8.99
protection_eligibility = Partially Eligible - INR Only
address_status = unconfirmed
item_number1 = Jan12-O1
payer_id = 9L7F85RPFS887
tax = 0.00
address_street = 000 Example Street
payment_date = 09:04:35 Jan 21, 2012 PST
payment_status = Completed
charset = windows-1252
address_zip = 01234
mc_shipping = 3.99
mc_handling = 0.00
first_name = Dudley
mc_fee = 0.25
address_country_code = US
address_name = Dudley Heromin
notify_version = 3.4
custom = 123
payer_status = verified
business = example@email.com
address_country = United States
num_cart_items = 1
mc_handling1 = 0.00
address_city = Anytown
verify_sign = AmTVPwkWMR2PJPUsc8lCncjd8302LzmgWSsHB3z4okt3899dz2eTbs
payer_email = customer@email.com
mc_shipping1 = 0.00
contact_phone = 555-555-1234
txn_id = KD03021M3DL23FFS2
payment_type = instant
last_name = Heromin
address_state = CA
item_name1 = Deluxe Cat Food
receiver_email = example@email.com
payment_fee = 0.25
shipping_discount = 0.00
quantity1 = 1
insurance_amount = 0.00
receiver_id = KD03021M3DL23FFS2
txn_type = cart
discount = 0.00
mc_gross_1 = 5.00
mc_currency = USD
residence_country = US
shipping_method = Standard Domestic
transaction_subject = 123
payment_gross = 8.99
ipn_track_id = KD03021M3DL23FFS2

The following item requires administrative attention:
The grand total for off-site payment gateway transaction 123 in the store records is $7.00. This does not match the order total returned from PayPal of $8.99


In the example above, notice the payment_gross value of $8.99 returned from PayPal. The payment_gross value was not the one submitted to PayPal by the storefront. PayPal's website calculated that value on its own, and included it in the data is submitted back to the shopping cart.

tip
Some clients have reported that they have been able to fix the price discrepancy by turning off shipping rules within their PayPal account area.

tip: manually complete a pending transaction
If PayPal has sent a separate notification that the customer was successfully billed, but the transaction is still listed as a pending transaction at [Orders >  Pending Off-Site Transactions], it is possible to manually complete the transaction.

On the Search Pending Off-Site Payment Gateway Transactions page, simply select the checkbox corresponding to the desired transaction.

Then in the Perform an action on the rows selected above... section, select Complete Transaction from the dropdown menu, and then click Go. This will remove the selected row from the Pending Off-Site Payment Gateway Transactions list and will create a new order record. The new order will be available on the Search Orders page.
Powered by ModularKB