I'm at wits end. I'm trying to setup version 1.50 with PayPal Standard as the only pay method. I read the other posts on this subject but to no avail, all I get "No payment methods available". If I enable something else, anything else I get the selection.
On the nopCommerce side, PayPal Standard is active, Use Sandbox is checked, Business Email and PTI Identity Token is set from the information supplied by PayPal Sandbox, Additional fee, 0 and with an amount.
On the PayPal side Website Payment Preferences.
Auto Return: ON Return URL: http://www.mywebsite.com:90/PaypalPDTHandler.aspx Payment Data Transfer: ON Encrypted Website Payments: OFF PayPal Account Optional: ON Contact Telephone Number: OFF Express Checkout Settings: NO
Payment Methods \ Paypal Standard (I've enabled "Paypal Standard" by checking "Active" under Configuration \ Payment \ Payment Methods \ Paypal Standard) - but when user tries to check not appearing in Checkout Payment page for some reason. On cart's Payment page, error message was:
No payment methods available
I've also taken care to: (a) Remove all credit cards under Configuration \ Payment \ Credit Cards (b) Remove all other payment methods (under Configuration \ Payment \ Payment Methods), including Manual Processing (c) No country selected in "Country Restriction List" under Configuration \ Payment \ Payment Methods (d) User checked out item price NOT zero (one buck USD)
Turns out Sp_PaymentMethodLoadAll did successfully Loaded "Paypal Standard" if you drill down the stack:
public List<PaymentMethod> Sp_PaymentMethodLoadAll(bool showHidden, int? filterByCountryId) { ObjectParameter showHiddenParameter = new ObjectParameter("ShowHidden", showHidden);
ObjectParameter filterByCountryIdParameter; if (filterByCountryId.HasValue) { filterByCountryIdParameter = new ObjectParameter("FilterByCountryID", filterByCountryId); } else { filterByCountryIdParameter = new ObjectParameter("FilterByCountryID", typeof(int)); }
var result = base.ExecuteFunction<PaymentMethod>("Sp_PaymentMethodLoadAll", showHiddenParameter, filterByCountryIdParameter).ToList(); return result; }
But in BindData... Cart.IsRecurring = true because under product setup page, "Recurring product" was checked > NopCommerceStore.DLL!NopSolutions.NopCommerce.Web.Modules.CheckoutPaymentMethodControl.BindData() Line 165 C# NopCommerceStore.DLL!NopSolutions.NopCommerce.Web.CheckoutPaymentMethodPage.Page_Load(object sender, System.EventArgs e) Line 52 + 0x10 bytes C# [External Code] NopCommerceStore.DLL!NopSolutions.NopCommerce.Web.BaseNopPage.OnLoad(System.EventArgs e) Line 80 + 0xb bytes C#
public void BindData() { ...
bool hasButtonMethods = false; var boundPaymentMethods = new List<PaymentMethod>(); var paymentMethods = PaymentMethodManager.GetAllPaymentMethods(filterByCountryId); foreach (var pm in paymentMethods) { switch (pm.PaymentMethodType) { case PaymentMethodTypeEnum.Unknown: case PaymentMethodTypeEnum.Standard: { // HERE's WHERE THE PROBLEM IS! // This if-statement filter out "Paypal Standard" // Cart.IsRecurring = true for some reason!! if (!Cart.IsRecurring || PaymentManager.SupportRecurringPayments(pm.PaymentMethodId) != RecurringPaymentTypeEnum.NotSupported) boundPaymentMethods.Add(pm); } break; case PaymentMethodTypeEnum.Button: { //PayPal Express is placed here as button if (pm.SystemKeyword == "PayPalExpress") { if (!Cart.IsRecurring || PaymentManager.SupportRecurringPayments(pm.PaymentMethodId) != RecurringPaymentTypeEnum.NotSupported) hasButtonMethods = true; } } break; default: break; } } ... }
I think my question "nopCommerce" does not permitt recurring charges if payment executed against "Paypal Standard", is there any particular reason?
I have the same problem, BUT after carefully looking at the setting under Configuration > Payment > Payment Methods at the bottom with the heading Country restrictions : make sure you don't have any country select. If one of the country is select (example: United States) and on the top you have Pay In Store is Active: this meant you restrict any payment in United States for Pay In Store .
I hope this help.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.