I have Merchello along with FastTrack installed and working locally. I'm now trying to figure out how to deploy it to our staging and production environments via our automated deployment process.
Once deployed I am unable to edit the Paypal settings. See included screenshot. Notice that the save button is collapsed. It does nothing when clicked. Only Paypal has this issue. None of the other providers.
I also see the below included error in the javascript console.
I've taken the contents of the deployed website and compared against what I have locally to rule out any file differences.
What am I missing? Is there possibly some difference in the database that might cause this?
Error: Argument 'Merchello.Providers.Dialogs.PayPalProviderSettingsController' is not a function, got undefined
at cb (DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:6)
at xa (DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:6)
at DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:10
at DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:8
at n (DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:4)
at k (DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:8)
at e (DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:8)
at k (DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:8)
at e (DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:8)
at DependencyHandler.axd?s=L3VtYnJhY28vbGliL2pxdWVyeS9qcXVlcnkubWluLmpzOy91bWJyYWNvL2xpYi9hbmd1bGFyLzE…:8
I was able to get this PayPal checkout working on the front end by taking my local settings and plugging them into the merchGatewayProviderSettings table manually in the database. So this appears to be an issue with the backend UI.
Not sure if it could be related, but I'm also seeing the following javascript errors after adding the FedEx and Stripe providers. This is both locally and in our staging environment. I haven't yet attempted to configure either of them.
The FedEx and Stripe controllers were done by community members so I'm not sure how well they are being maintained. It's likely they need to be updated (at least with the base dependencies).
This however, looks like a really OLD (legacy) Angular setup where the providers have not been put into a module and are still trying to set themselves up in the window object.
This is from 1.14.1 (the last version these lines of code were in Merchello).
So are there different, newer implementations of Fedex and Stripe providers?
Turns out you were indeed on the right track about enabling debug earlier. I changed the value, but turns out the automated deployment process was setting it back again. Now that it is switched the Paypal settings are working, and I don't see any error logged in the javascript console.
However, since there is now no error I'm not sure where to begin fixing it. We don't want to have to enable debugging in production. Is there perhaps some javascript bundling going on that's causing the issues?
I have not kept up on those plugins (and know that there are at least two Stripe providers)
There is a consideration to move both into the Core - but they have not made the road map as of yet as they have not been a priority for the sponsors / partners.
For anyone who may come across the Client Dependency issue I was able to get this to work without enabling debug by updating to the latest version of Client Dependency.
I've given up on FedEx and Authorize.net for the time being. I have created a Braintree account and am now trying to get this to work. I set up the payment method and plugged in my sandbox info, but am seeing the the following error when trying to submit payment for an order.
Uncaught Error: Braintree API Client Misconfigured: clientToken required.
at i (js.braintreegateway.com/v2/braintree.js?=1488244957387:3)
at new o (js.braintreegateway.com/v2/braintree.js?=1488244957387:3)
at HTMLFormElement.
The token value being output to the page from PaymentForm.cshtml in FastTrack is indeed empty.
@Html.HiddenFor(x => x.Token, new { data_muivalue = "btnonce" })
What's your version of Merchello? In version 2.4.0 there was a change in both Braintree and PayPal to account for API deprecations on PayPal's end.
With respect to Braintree, the main change was to use what they call "Hosted Fields" - which basically loads all of the input fields directly from Braintree via iFrames (through their JS scripts). This provides the assertion that absolutely no credit card data is ever submitted to the server hosting the Umbraco/Merchello instance. Instead, when the form is posted, an asynchronous call is make to Braintree, which returns the "nonce" (their term) and is placed into the hidden field you have in your comments above.
So ...
Verify you are using Merchello 2.4.0+
Verify you have FastTrack 2.4.0+
Do a compare on the App_Plugins folders:
/FastTrack
/Merchello
/MerchelloProviders
There were view changes, .js changes and /lib updates.
Ah, I suspected it might come down to upgrading. We're running Merchello 2.3.1. Which, from what I gathered through testing and documentation, is the latest version that is supported by Umbraco 7.4.3.
Will now look into the feasibility of upgrading Umbraco/Merchello/FastTrack.
From what Rusty was saying it sounds like Stripe (and some of the other payment and shipping providers) is not currently maintained and not expected to work with the current version of Merchello (2.4.0).
I ended up using Braintree to accept credit card payments. Which is working for me so far in sandbox mode. We have not yet gone to production.
We are planning Merchello 2.6.0 which is themed around adding more payment, shipping and taxation providers to the core. Sounds like stripe might be a good option - is anyone using the stripe provider (have an updated version) at the moment?
Can't save PayPal settings
I have Merchello along with FastTrack installed and working locally. I'm now trying to figure out how to deploy it to our staging and production environments via our automated deployment process.
Once deployed I am unable to edit the Paypal settings. See included screenshot. Notice that the save button is collapsed. It does nothing when clicked. Only Paypal has this issue. None of the other providers.
I also see the below included error in the javascript console.
I've taken the contents of the deployed website and compared against what I have locally to rule out any file differences.
What am I missing? Is there possibly some difference in the database that might cause this?
It's really hard to tell with ClientDependency kicking in there. You might get a better message if you set compilation debug = false.
Also are you certain you deployed all the updated files in the App_Plugins\MerchelloProviders folder?
Thanks for your help on this Rusty. Your replies to my and other posts have been super helpful in setting this up.
I switched debug to false in the primary web.config, but the javascript error message and stack looks the same.
The App_Plugins folder is identical as far as I can tell using a file diff.
I'm using Umbraco 7.4.3 and Merchello 2.3.1.
I was able to get this PayPal checkout working on the front end by taking my local settings and plugging them into the merchGatewayProviderSettings table manually in the database. So this appears to be an issue with the backend UI.
Not sure if it could be related, but I'm also seeing the following javascript errors after adding the FedEx and Stripe providers. This is both locally and in our staging environment. I haven't yet attempted to configure either of them.
HI Chris -
The FedEx and Stripe controllers were done by community members so I'm not sure how well they are being maintained. It's likely they need to be updated (at least with the base dependencies).
This however, looks like a really OLD (legacy) Angular setup where the providers have not been put into a module and are still trying to set themselves up in the window object.
This is from 1.14.1 (the last version these lines of code were in Merchello).
https://github.com/Merchello/Merchello/blob/1.14.1/src/Merchello.Web.UI.Client/src/merchello.module.js#L24
That became legacy around Merchello 1.7.0 ....
Thanks again Rusty!
So are there different, newer implementations of Fedex and Stripe providers?
Turns out you were indeed on the right track about enabling debug earlier. I changed the value, but turns out the automated deployment process was setting it back again. Now that it is switched the Paypal settings are working, and I don't see any error logged in the javascript console.
However, since there is now no error I'm not sure where to begin fixing it. We don't want to have to enable debugging in production. Is there perhaps some javascript bundling going on that's causing the issues?
I have not kept up on those plugins (and know that there are at least two Stripe providers)
There is a consideration to move both into the Core - but they have not made the road map as of yet as they have not been a priority for the sponsors / partners.
I'm assuming the authorize.net plugin is in the same boat?
It seems that Braintree may be the path of least resistance as far as accepting credit cards. Is this a fair assessment?
That's correct. Authorize.Net is also on the docket for moving into the core. That one is actually the easiest of the group discussed.
For anyone who may come across the Client Dependency issue I was able to get this to work without enabling debug by updating to the latest version of Client Dependency.
I've given up on FedEx and Authorize.net for the time being. I have created a Braintree account and am now trying to get this to work. I set up the payment method and plugged in my sandbox info, but am seeing the the following error when trying to submit payment for an order.
Uncaught Error: Braintree API Client Misconfigured: clientToken required. at i (js.braintreegateway.com/v2/braintree.js?=1488244957387:3) at new o (js.braintreegateway.com/v2/braintree.js?=1488244957387:3) at HTMLFormElement.
The token value being output to the page from PaymentForm.cshtml in FastTrack is indeed empty.
@Html.HiddenFor(x => x.Token, new { data_muivalue = "btnonce" })
Any idea what I might be missing?
What's your version of Merchello? In version 2.4.0 there was a change in both Braintree and PayPal to account for API deprecations on PayPal's end.
With respect to Braintree, the main change was to use what they call "Hosted Fields" - which basically loads all of the input fields directly from Braintree via iFrames (through their JS scripts). This provides the assertion that absolutely no credit card data is ever submitted to the server hosting the Umbraco/Merchello instance. Instead, when the form is posted, an asynchronous call is make to Braintree, which returns the "nonce" (their term) and is placed into the hidden field you have in your comments above.
So ...
There were view changes, .js changes and /lib updates.
Ah, I suspected it might come down to upgrading. We're running Merchello 2.3.1. Which, from what I gathered through testing and documentation, is the latest version that is supported by Umbraco 7.4.3.
Will now look into the feasibility of upgrading Umbraco/Merchello/FastTrack.
Thanks again for the help!
Hello.
I have the same issue with a fresh install of Umbraco and Merchello 2.4.0 and with the Stripe Payment Provider.
Any help ?
From what Rusty was saying it sounds like Stripe (and some of the other payment and shipping providers) is not currently maintained and not expected to work with the current version of Merchello (2.4.0).
I ended up using Braintree to accept credit card payments. Which is working for me so far in sandbox mode. We have not yet gone to production.
We are planning Merchello 2.6.0 which is themed around adding more payment, shipping and taxation providers to the core. Sounds like stripe might be a good option - is anyone using the stripe provider (have an updated version) at the moment?
http://issues.merchello.com/youtrack/agiles/76-1/77-81
Ok, great news :).
is working on a reply...