Page 1 of 1
One vendor never gets marked as PAID
Posted: Fri Dec 04, 2009 10:06 am
by igavemybest
I have a vendor in the system, that even though the purchase completes in paypal, it stays "payment pending". on every order, and doesnt trigger any email triggers. Is there anything that would cause this?
Re: One vendor never gets marked as PAID
Posted: Mon Dec 07, 2009 8:56 am
by mazhar
One possible reason may be order having remaining balance. Have a look on those order and try to bring out something that is different from other orders for example coupon usage, gift certificate etc
Re: One vendor never gets marked as PAID
Posted: Tue Dec 08, 2009 7:14 am
by AbleMods
In the old AC7 days i.e. 7.0 Build 10xxx or possibility AC 7.1, there were problems with rounding. Look at ac_Orders and ac_OrderItems to see if your dollar amounts are carrying out to 3 or more decimals. They should all stop at two decimals.
Way-back-when I had many problems with imported data causing the rounding issue to occur. My imported product prices, due to calculated markups not being rounded, would result in prices like $ 9.234. Once all the order math had taken place, I would wind up with an order total a few pennies different from the payment amount that arrived via PayPal. This would throw the AC7 order into a permanent "payment pending" state as the final pennies were never going to arrive.
This issue was fixed in 7.0.1 and later I believe.
Re: One vendor never gets marked as PAID
Posted: Thu Dec 10, 2009 2:11 pm
by igavemybest
BAM!! Joe, you are the man. "1171.5410" Thats exactly whats going on. I have 7.0.3, do you or anyone know where this math is taking place?
PLATFORM: ASP.NET
VERSION: 7.0.3
BUILD: 12458
MSSQL v2008
AC SCHEMA v2005
AjaxControlToolkit: 3.0.20229.20843
CommerceBuilder: 7.3.12912.0
CommerceBuilder.AbleCommerceTax: 7.3.12396.0
CommerceBuilder.AcTestProvider: 1.0.0.0
CommerceBuilder.AustraliaPost: 7.1.0.0
CommerceBuilder.AuthorizeNet: 7.0.9764.0
CommerceBuilder.BankOfCanada: 7.3.0.0
CommerceBuilder.CanadaPost: 7.0.0.0
CommerceBuilder.Configuration: 7.3.12065.0
CommerceBuilder.CyberSource: 7.0.9310.0
CommerceBuilder.Data: 7.3.12065.0
CommerceBuilder.DataClient.Api: 7.0.3.1
CommerceBuilder.DataClient.Csv: 7.0.34.0
CommerceBuilder.DHLInternational: 7.2.11307.0
CommerceBuilder.ECB: 7.0.0.0
CommerceBuilder.FedEx: 7.0.9725.0
CommerceBuilder.GoogleCheckout: 7.0.10052.0
CommerceBuilder.InternetSecure: 7.0.9764.0
CommerceBuilder.LinkPoint: 7.0.9764.0
CommerceBuilder.Paradata: 7.0.9764.0
CommerceBuilder.PayFlowPro: 7.0.10061.0
CommerceBuilder.PayJunction: 7.2.11284.0
CommerceBuilder.PayPal: 7.3.12238.0
CommerceBuilder.Protx: 7.3.12327.0
CommerceBuilder.Services: 7.3.12065.0
CommerceBuilder.SkipJack: 7.0.9764.0
CommerceBuilder.UPS: 7.0.10041.0
CommerceBuilder.USPS: 7.0.9728.0
CommerceBuilder.Web: 7.3.12065.0
ComponentArt.Web.UI: 2008.2.1267.35
CyberSource.Base: 2.0.0.0
CyberSource.Clients: 5.0.2.0
CyberSource.Clients.XmlSerializers: 5.0.2.0
CyberSource.WSSecurity: 2.0.0.0
CybsWSSecurityIOP: 1.0.0.0
FlashControl: 2.8.2902.1367
FredCK.FCKeditorV2: 2.5.2912.21007
ICSharpCode.SharpZipLib: 0.85.5.452
imageHandler: 1.0.0.0
LinkPointTransaction: 1.0.1797.29766
log4net: 1.2.10.0
Microsoft.Practices.EnterpriseLibrary.Common: 2.0.0.0
Microsoft.Practices.EnterpriseLibrary.Data: 2.0.0.0
Microsoft.Practices.ObjectBuilder: 1.0.51205.0
Microsoft.Web.Preview: 1.2.61025.0
NVelocity: 7.2.0.0
PaygatewayNET: 3.0.0.0
paypal_base: 4.2.1.0
PFProCOMLib: 1.0.0.0
PFProdotNET: 0.0.0.0
Validators: 1.0.0.0
WebChart: 1.1.1.6
wwHoverPanel: 1.85.0.0
Re: One vendor never gets marked as PAID
Posted: Thu Dec 10, 2009 2:26 pm
by jmestep
The only place I have seen it happening was in my custom code.
I had to put a Math.Round on it
special.Price = Math.Round((Decimal)product.Price - ((Decimal)product.Price * (Decimal)discountPercent), 2);
Re: One vendor never gets marked as PAID
Posted: Thu Dec 10, 2009 2:49 pm
by igavemybest
Judy,
Do you know where the order totals are calculated? I could just throw that in on the backend.
Re: One vendor never gets marked as PAID
Posted: Thu Dec 10, 2009 3:35 pm
by jmestep
Offhand, I don't know. The few orders I had that had the three decimal places, I fixed by hand.
Re: One vendor never gets marked as PAID
Posted: Thu Dec 10, 2009 5:22 pm
by AbleMods
All the math is in the compiled DLL files. You'll need full source to change that behavior. I would let able know in a ticket that the rounding issue has returned - that shouldn't be happening in 7.0.3.
In the mean time, your only option is to fix the amounts manually as Judy did.
Re: One vendor never gets marked as PAID
Posted: Fri Dec 11, 2009 5:34 am
by jmestep
Do you have any custom code/calculations running? None of our 7.0.3 sites is having the problem, once I fixed my code on one of them.
Re: One vendor never gets marked as PAID
Posted: Sun Dec 20, 2009 4:12 pm
by igavemybest
The reason for this is I ooften import my pricing for updates, etc. On a lot of the prices it goes to 3 decimal places instead of two, so as Joe pointed out to me, paypal thinks there is still money waiting ot me paid. I opened a ticket on this, but all I heard was that iw was fixed a long time ago and never got any reply after that, so I am back here again. I am not sure what was fixed exactly, because from what I can see if there was a rounding feature added, it was left out of the RTM version. I guess I could just run some sql query to round all the prices on every import, but if I dont need to I would prefer not to. Anyone know?
Re: One vendor never gets marked as PAID
Posted: Mon Dec 21, 2009 6:27 am
by jmestep
The reason for this is I ooften import my pricing for updates, etc.
What do you use to import your pricing?
Re: One vendor never gets marked as PAID
Posted: Sat Dec 26, 2009 5:25 pm
by igavemybest
We made a custom CSV importer that creates all the product info, the categories and the subcategories they reside in, etc. If there is a price change it recognizes that and only updates those products etc. Dataport just doesnt do all that.
Re: One vendor never gets marked as PAID
Posted: Sun Dec 27, 2009 1:07 pm
by jmestep
It sounds like you need to check the code in your .csv importer, if that is when it happens, and make sure you're rounding to two places there.
Re: One vendor never gets marked as PAID
Posted: Wed Dec 30, 2009 8:16 am
by igavemybest
Yes, obviously that is a simple fix, but I needed 3 places in the store because I thought the store code rounded from all the posts I read. I guess that isnt happening.
Re: One vendor never gets marked as PAID
Posted: Wed Dec 30, 2009 8:27 am
by AbleMods
Still though that's a big assumption given there's more than one way to round decimal values.
I still am surprised it's not rounding - all the data classes I've written have builtin rounding functionality just so this type of situation doesn't cost me 10 hours of frustration. It's so simple to add, why Able didn't do it escapes me. I swear it used to do it because I know I was the one that brought it up during early beta.