Nop 2.0 order of steps in checkout

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
Thanks Andrei - I'll keep the issue in mind.

BTW - I've noticed to problems with the plugin:

1. Does not use IPN which causes a lot of the transations to be marked as not paid even though they we paid
http://nopcommerce.codeplex.com/workitem/10193

2. Rounding error causing orders not being marked as paid:
http://nopcommerce.codeplex.com/workitem/10194

Filip
12 years ago
fkierzek wrote:
Does not use IPN which causes a lot of the transations to be marked as not paid even though they we paid
http://nopcommerce.codeplex.com/workitem/10193
...
"which causes lot's or orders that are paid not to be marked as paid because user did not return to store after completing payment"

IPN is invoked by PayPal no matter whether a customer returns or not. PDT is invoked only when a customer returns. So IPN should work fine

fkierzek wrote:
Rounding error causing orders not being marked as paid:
http://nopcommerce.codeplex.com/workitem/10194

Can you please post your order details (product, prices) so I can replicate the issue? It'll have a look.
12 years ago
Regarding IPN - you're right. However IPN return address can be set in PayPal or dynamically from nop code. Nop code doesn't set it. I my case where I have more than one store using same paypal account, the IPN goes to the wrong place. I think it can be set as follows:


            string returnUrl = _webHelper.GetStoreLocation(false) + "Plugins/PaymentPayPalStandard/PDTHandler";
            string cancelReturnUrl = _webHelper.GetStoreLocation(false) + "Plugins/PaymentPayPalStandard/CancelOrder";
            string ipn_url = _webHelper.GetStoreLocation(false) + "Plugins/PaymentPayPalStandard/IPNHandler"; //IPN - instant payment notification
            builder.AppendFormat("&return={0}&cancel_return={1}&notify_url={2}", HttpUtility.UrlEncode(returnUrl), HttpUtility.UrlEncode(cancelReturnUrl), HttpUtility.UrlEncode(ipn_url));



Disclaimer: I waiting for next order to come to see if it will work as I think it will.

Filip

PS. Please PM me your email so that I can send you some screenshots related to the rounding error.
12 years ago
a.m. wrote:

Can you please post your order details (product, prices) so I can replicate the issue? It'll have a look.


I've uploaded to some screenshots to the codeplex:

http://nopcommerce.codeplex.com/workitem/10194

Filip
12 years ago
fkierzek wrote:
I've uploaded to some screenshots to the codeplex...

So the order is marked as paid, but we lost 0.01 zloty. Please connect to your database (SSMS), open [Order] table and copy all the total of this order (60036) here. I mean subtotal, total, tax, exchange rate, etc.

BTW, have you enabled 'Pass product names and order totals to PayPal' option on your PayPal configuration page (admin area)? If yes, then copy totals of appropriate order product variants here ([OrderProductVariant] table)
12 years ago
Order table:

Id  60036
OrderGuid  B817D20F-9A84-4191-A88F-CA2CEAC35EC5
CustomerId  8350
OrderStatusId  20
ShippingStatusId  20
PaymentStatusId  30
PaymentMethodSystemName  Payments.PayPalStandard
CustomerCurrencyCode  GBP
CurrencyRate  0.2133
CustomerTaxDisplayTypeId  0
VatNumber  
OrderSubtotalInclTax  39.3066
OrderSubtotalExclTax  37.4348
OrderSubTotalDiscountInclTax  0
OrderSubTotalDiscountExclTax  0
OrderShippingInclTax  0
OrderShippingExclTax  0
PaymentMethodAdditionalFeeInclTax  0
PaymentMethodAdditionalFeeExclTax  0
TaxRates  5:1.871742857142857142857142857;  
OrderTax  1.8717
OrderDiscount  0
OrderTotal  39.3066
RefundedAmount  0
CheckoutAttributeDescription  
CheckoutAttributesXml  NULL
CustomerLanguageId  2
AffiliateId  NULL
AllowStoringCreditCardNumber  0
CardType  
CardName  
CardNumber  
MaskedCreditCardNumber  
CardCvv2  
CardExpirationMonth  
CardExpirationYear  
AuthorizationTransactionId  NULL
AuthorizationTransactionCode  NULL
AuthorizationTransactionResult  NULL
CaptureTransactionId  NULL
CaptureTransactionResult  NULL
SubscriptionTransactionId  NULL
PurchaseOrderNumber  NULL
PaidDateUtc  52:18.7
ShippingMethod  Poczta Priorytetowa / Unregistered Priority Mail
ShippingRateComputationMethodSystemName  Shipping.ByWeight
ShippedDateUtc  NULL
DeliveryDateUtc  NULL
OrderWeight  0.29
TrackingNumber  
Deleted  0
CreatedOnUtc  03:13.4
BillingAddressId  126
ShippingAddressId  127


Only one product in order:


Id  91
OrderProductVariantGuid  0B946B32-29DF-4C0F-853B-CE008F65FDCC
OrderId  60036
ProductVariantId  342328
Quantity  1
UnitPriceInclTax  39.3066
UnitPriceExclTax  37.4348
PriceInclTax  39.3066
PriceExclTax  37.4348
DiscountAmountInclTax  0
DiscountAmountExclTax  0
AttributeDescription  
AttributesXml  
DownloadCount  0
IsDownloadActivated  0
LicenseDownloadId  0


Here is the ProductVariant row for the product:

Id  342328
ProductId  350623
Name  
Sku  53104700153KS
Description  
AdminComment  
ManufacturerPartNumber  978-83-08-04623-4
IsGiftCard  0
GiftCardTypeId  0
IsDownload  0
DownloadId  0
UnlimitedDownloads  0
MaxNumberOfDownloads  0
DownloadExpirationDays  0
DownloadActivationTypeId  0
HasSampleDownload  0
SampleDownloadId  0
HasUserAgreement  0
UserAgreementText  
IsRecurring  0
RecurringCycleLength  0
RecurringCyclePeriodId  0
RecurringTotalCycles  0
IsShipEnabled  1
IsFreeShipping  0
AdditionalShippingCharge  0
IsTaxExempt  0
TaxCategoryId  1
ManageInventoryMethodId  0
StockQuantity  100
DisplayStockAvailability  1
DisplayStockQuantity  1
MinStockQuantity  1
LowStockActivityId  0
NotifyAdminForQuantityBelow  0
BackorderModeId  0
OrderMinimumQuantity  1
OrderMaximumQuantity  99
DisableBuyButton  0
CallForPrice  0
Price  39.3066
OldPrice  0
ProductCost  24.003
CustomerEntersPrice  0
MinimumCustomerEnteredPrice  0
MaximumCustomerEnteredPrice  0
Weight  0.29
Length  1
Width  1
Height  1
PictureId  0
AvailableStartDateTimeUtc  NULL
AvailableEndDateTimeUtc  NULL
Published  1
Deleted  0
DisplayOrder  3
CreatedOnUtc  29:13.9
UpdatedOnUtc  29:13.9
AzymutId  53104700153KS
CenaDetaliczna  32


The order was placed using GBP as currency and passed to PayPal as PLN, which is the store primary currency and primary exchange rate currency.

Let me know if you need anything else.

Filip
12 years ago
I forgot to mention that I marked the as paid myself (manually). It didn't mark itself paid automatically.

Filip
12 years ago
Thanks for info. I think I know how to fix PayPal PDT handler. Your product price is 39.3066. Anyway a customer sees 39.31. Is it acceptable for you to set it to 39.31? I presume it'll fix the issue (a temporary solution).
12 years ago
Andrei,

I don't have a problem with customer paying 0.01 to little. My temporary fix is to switch rounding in paypal PDT code from 2 decimal paces to 1 decimal places :-)

I am just helping you hunt this one down for the benefit of community and nop 2.1 :-)

Filip
12 years ago
Filip,

Have a look at changeset 3c7011d1d4d2. Set 'ShoppingCartSettings.RoundPricesDuringCalculation' setting to 'true'. After it's done, this PayPal issue should be fixed. Rounding is always an issue in any e-commerce application. But when this setting is set to 'true', it causes another issue: https://www.nopcommerce.com/boards/t/7679/vattax-rounding-error-important-fix.aspx =(((
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.