If you are in the UK you might have noticed that the latest PrestaShop PayPal Europe module has disabled you module. This is horrible situation, not only because the module no longer works, but why the module no longer works.
Why does it not work?
If we look in the forum we get a decent response from the community leader Antoine Flavigny on the subject, he says this.
But what does this really mean? What is a BN code? Why does the module need one?
About BN Codes
If you don’t know about BN codes, you are more than likely not alone. It is something that mainly developers are familiar with. See when a developer develops a payment module, they usually partner with the payment provider. In doing so the developer of the payment module gets a very small percent of every transaction that their payment module processes. This is something we have done, most every company that develops a payment module does. It is standard in the industry.
What does this really mean?
The real truth of the matter is that PrestaShop is in negotiations with PayPal UK right now. They want more money, PayPal UK does not want to pay them more money. So PrestaShop decided to release a version of the module that would disable all UK shops from taking PayPal. Quite frankly, your business has been used as a pawn in negotiations. Someone has decided that they can show PayPal how much money they can cost them by disabling UK merchants from taking PayPal. This was no mistake. This is not a compatibility issue, this is something that was planned. You can read more about BN codes here. Let me paraphrase from the article if you don’t actually click on it “If you are a PayPal partner, you will need to include a unique BN Code in your calls, to receive revenue attribution.” This is what a BN code does. This is all. The module works fine without a BN code, it is not required one bit for the module to work. It is only required for them to make money off of your shop. Look at the code snippet below.
This is one of the parts of the code that limits the usability of the module. Look at the function name. The developer is using shorthand, but what it reads is this “Is country A Paid Advertising Country”. If PayPal is not paying PrestaShop for advertising in your country, it is disabled for you. If you really dig into the module, you can see that each payment method has to be paid for by each country. That is why some countries have a free PayPal Pro and others do not.
It does and I don’t know what to say. It embarresses me to have to do this, but we released a free module that patches this issue. It will also make all payment types available to every country as well.