Is Vendo PCI compliant?

Yes. Vendo is PCI DSS Level 1 compliant

What is PCI DSS?

The Payment Card Industry Data Security Standard (PCI DSS) is a set of security standards designed to ensure that all companies that accept, process, store or transmit credit card information maintain a secure environment.

Does Vendo store end-user data?

Yes, Vendo processes End Users' personal data to provide the Services and for the purposes detailed in our Privacy Policy.

Vendo stores End Users' personal data as long as they remain with an active subscription.
If the End User decides to unsubscribe, all personal data collected for this function will be deleted, subject to blocking for 5 years (encrypted) to address potential liabilities and for 10 years to comply with Swiss anti-money laundering legislation.
With regard to credit cards, Vendo is PCI compliant, so credit card data is stored in accordance with industry regulations.

Vendo has adopted the necessary technical and organizational measures to preserve and protect personal data from unauthorized use or access and from alteration, loss or misuse, taking into account the state of the art, the characteristics of the data stored and the risks to which they are exposed.

Does Vendo share end-user data?

No. Vendo meets the European Data Protection Directive (Directive 95/46/EC on the protection of individuals with regard to the processing of personal data and on the free movement of such data) and is PCI DSS Level 1 certified.

Why do I get an email notification informing me that my Vendo Backoffice access has been disabled?

For security purposes, your access to the Vendo Backoffice will be automatically disabled if you do not log in within a period of 90 days.

Members whose payments have been declined are being redirected to the "Member URL" instead of the "Decline URL". Why?

Your "Decline URL" may not be valid or is empty. In these cases Vendo will redirect declined members to your members URL.

I see differences between the gross amount posted in NATS and the gross amount really processed for some countries. Where is this difference coming from?

The difference comes from VAT for transactions processed in the European Union. By default, we report processing amounts without VAT into NATS because these funds belong to the government, not to the merchant.

This has important implications on your affiliate payouts. Let’s say you have a 50/50 revshare. Reporting the amounts net of VAT into NATS prevents affiliates to be paid 50% of the VAT that must be remitted to the tax authorities in the European Union.

Join Link: How do I encrypt the end user password?

To encrypt the end user’s password you can use our PHP SDK. Please review our documentation for more details.

Why do we keep getting random usernames added to our NATS?

It's annoying, we know. There are two reasons this can happen.

  1. NATS creates temporary random usernames before users join.
    This is an internal mechanism that NATS uses to track visitors to your tour. Once the user had joined the site, NATS updates the random username to the username chosen by the user.

  2. Vendo creates random usernames after the user joins.
    When we host the product page, we collect the user details including the username.

If a username was already taken by another user then our platform will generate a new random username. The format of these random usernames is: userXYZM, for example: user12345

Our platform uses the checkUser callback to check whether the username that the user picked is available in your platform. CheckUser documentation is here.

Is it possible to show a specific product template to a specific traffic source with a parameter?

No, we do not support this currently.

Can I track my sales in Google Analytics?

Yes. You can track user interactions and sales in your Google Analytics. You just have to provide a Google Tag Manager Tracking ID to Vendo.


How can I force a currency independently of the GEO location?

You can force currency by passing the parameter "billing_currency" in the URL.
Please note that if you use the "billing_currency" parameter, the URL will have to be signed.

  • You can use Vendo SDK for php to sign the URL; Repository with the instructions on how to install it can be found in here.
  • You can find instructions on how to sign the URLs here.

How can I extend or add free time to a subscription?

Go to Vendo Backoffice > Sales > Subscriptions:

Search the subscription with the filters available (e.g. use the email)
Click the drop-down button "Expire Immediately" located in the top right corner of the screen.
Click the option "Extend for free" (*)

(*) Please contact us if you do not see this option and we will enable it for you

NATS Configuration:

Requirement: this feature is available for NATS 4 or higher
Configuration: go to "Configuration Admin -> Billers" and set the following parameter:
    For clients using VSERVICES integration: SET_EXPIRE_VSERVICES_DATE = Biller set
    For clients using VENDO integration: SET_EXPIRE_VENDO_DATE = Biller set

When adding new offers, how do we control what offer will be presented to the clients first?

By default, our platform will pick the offer order set in Vendo's back office.
As an alternative, you can use the offers parameter to select which offers to display and in what order.

If you are using NATS, you can hide and change the order of offers in NATS.
Please refer to NATS support for more details.

Vendo’s client services team asked me to configure a biller called "Vendo Services" in NATS but I only see a biller called "Vendo". Is it the same?

No, they aren’t the same. If you’re on NATS 4 open a support ticket to TooMuchMedia. They will update your NATS install with the latest version.

If you are on NATS 3 then you must use Vendo which is our legacy API with NATS.

What are the Vendo transaction types and how do they relate to NATS?

Vendo transaction typesNATS
Sign-upJoin / Signup
One-time PaymentJoin / Signup
Cross SaleCross Sale
Instant UpgradeUpgrade Plus
Change OfferPackage Plus
Partial RefundRefund
Free Sign-upJoin / Signup
Update Payment Method
Streamate PaymentJoin / Sign up
Streamate Sign-upCross Sale
Free Cross SaleCross Sale
One-click Sign-upUpsell plus
One-click PaymentUpsell plus
Vendo Sign-upJoin / Sign up
Vendo One-time PaymentJoin / Sign up
Vendo Free Sign-upJoin / Sign up
Repurchae Sign-upSignupPlus

How do I integrate a Dating site?

Integrating with Vendo is very easy, in fact, we are currently working to make it even easier. We will assist you along the way.

Below, we detail all the steps you need to follow to integrate your dating site or a white label dating site solution with us.

When Vendo approves your application and you send the Terms & Conditions signed, our system generates a Merchant ID and Shared Secret, which will be essential for your integration.

Vendo will send your Back Office Credentials and Client Services will send you the Merchant ID and Shared Secret in a direct email.

Once you have these, you can proceed with the following.
Generate the join link to which the user needs to be redirected to make the payment.

To make this happen, you need this info:

1 - Site ID: This is the Site ID defined by Vendo. Our do Client Services will send you this.

2 - email: This is the email address of your member.

3 - username: The username of the member.

4 - password: Password of the member. This is plain text. There's an option to encrypt it using a script that we provide. We can discuss this scenario later on if you want. Having the password of the end-user is very important to prevent refunds and also to fight chargebacks.

5 - email_hide, username_hide, password_hide and logindata_hide are parameters that hide those fields in our payment forms. It doesn't make sense to re-display all that info in a payment form when processing transactions for dating sites. Just provide these parameters as they are in the URL and you will be fine.

6 - selected_offer: This is the Offer ID of the tariff selected by the member.

7 - reference (ref): This is a value that we'll post back to you. You can use this parameter to track the member and any other values that you want. This is for your reference and we'll post it back to you every time we process a rebill for the membership. (you generate this)

8 - affiliate_id: this is the ID of your affiliate. Is important for us to track affiliates to provide you with better support from the risk point of view. We use it to analyze the traffic that every affiliate sends to you. We'll raise a red flag and inform you if an affiliate is sending too many potential risky traffic (i.e. traffic that could convert to chargebacks)

9 - success_url: This is the URL to which the user will be redirected to if a payment is accepted (i.e. successfully processed). For example, a success URL would look like this http{REF}&email={EMAIL}

The "variables" in curly brackets "{ }" will be replaced by the actual value that you passed in the join link. For example, REF will be replaced by your_custom_value_will_be_posted_back and {EMAIL} will be replaced by user email.

Please keep in mind that all values must be url encoded.

10 - decline_url: This is the URL to which the user will be redirected if he/she fails to pay. You can also use variables in this URL.

You can get read all these details in our Back Office documentation here.

A callback is a request that our platform sends to your platform behind the scenes. It's a server-to-server communication.

Go to our documentation in the back Office for more information about callbacks here.

The callbacks that you'll need to integrate for payments are:

  • checkUser
  • transaction

Later on, you'll have to integrate these callbacks:

  • cancelUser
  • delUser
  • reactivateUser
  • changeUsernamePassword

If you have whitelabel, integrate these callbacks as well

Those parameters are:

  • site_name: the name of the affiliate site. This would be the name that the affiliate gave to the site.
  • site_url: the url of the affiliate site.

How do I create a One-click to Streamate?

You can upsell to your whitelabel by having the user click a specially-constructed custom link. Users with valid payment details will be able to visit guest chat and paid chat on the whitelabel using their existing Vendo account information.

Steps to integrate with Streamate:

  • Contact Streamate Reseller Support ([email protected]), they will create a whitelabel site on your behalf with Vendo and provide you with an integration guide.
  • Implement the oneclick link as per the instructions provided.
  • We will QA the setup to make sure there's the best UX.
  • Your endusers can start enjoying additional content.

For any additional information contact us at [email protected].

How do I create One-click links for email campaigns?

Please review our documentation about One-click Join link.

Can I change a one-time purchase to a recurring subscription using the ChangeOffer feature?

Yes, it is possible. Please review our documentation about Change Offer link for more details.

Can I configure a secondary biller/cascade with Vendo?

No, but you can use the decline_url parameter ( to redirect the shopper to a specific URL after a failed transaction attempt.
If you are using NATS you can configure the cascade under NATS’s Billers Admin section.

I don’t use NATS, can I use my own affiliate and user management system?

Yes, you can. We have an API for every type of site: paysite, cams and dating.

How do I configure Vendo in MPA3?

Important: Before you start configuring your MPA3 install you have to complete Vendo's onboarding process.

Step 1: Log into your MPA3 install and click on Billing.


Step 2: Click on Billing Processors then scroll down to Vendo and configure your account.

  • Leave the fields "Vendo Username" and "Vendo Password" in blank.
  • Copy and paste your Shared Secret in the Vendo Soap Key field.
    Note: The shared secret is provided after you complete Vendo's onboarding process.
  • Enter the processing fee that you agreed upon with Vendo. You need to provide the real value here in order for MPA3's reports to reflect real figures.

Then scroll down to Vendo Configuration


Important: Scroll down to the bottom and click on Submit.

Step 3: Configure your cascades

Click on Cascading Order and make Vendo primary then click on the Set Order button.

Important: Please note that Vendo's short name appears as localbilling in MPA3.



Can you explain to me how Vendo Dynamic Pricing works in a way that I can understand?

Yes, let’s try. The math behind it is complicated but the concept is simple. People are willing to pay different amounts for the same product. Giving some people a lower price gets them to spend more and giving other shoppers a higher price gets them to spend more. The worst thing you can do is ignore the differences and give everyone the same price. Doing that costs companies between 10% and 20% of the revenue.

People are willing to pay different amounts for the same product. Giving some people a lower price gets them to spend more and giving other shoppers a higher price gets them to spend more. The worst thing you can do is ignore the differences and give everyone the same price. Doing that costs companies between 10% and 20% of the revenue.

Can I use Vendo without using the Dynamic Pricing?

Yes, but you would be leaving money on the table - which is a shame - but it is your choice.

The benefits of dynamic pricing are that it is adjusted depending on many factors relating to end users that we take into consideration. Variables such as time, day, and connecting location are only a few used to determine optimal price. The algorithm created by our team learns from thousands of transactions processed every day, leaving little room for error.

Additionally, dynamic pricing reduces operational needs for in site offers, since the prices offered will be the best price a user will pay at any given point in time, this saves and makes you money.

Can you help us figure out how to price a new product we are creating?

Yes. We set a minimum and maximum price and let the AI figure out the right price for each shopper.

For example, we have partners who were releasing Virtual Reality products in 2016. What should the price have been? No one knew, of course.

The only thing we had to do is set a price floor (ex. $20 per month) and price ceiling (ex. $60 per month) and let Vendo´s artificial intelligence system figure out the price that made the most money with each shopper.

Do end users complain about different price points?

We’ve never heard a complaint in all the years we’ve been optimizing prices. It doesn’t mean it won’t happen in the future.

A key part of the optimization is Lifetime Value. If we charge too much and a customer gets mad and cancels, no one wins. So we find the revenue maximising price where everyone is happy. Sometimes the price is lower, sometimes it's higher. It depends on that particular shopper and the unique product.

Does Vendo's Dynamic Pricing ever cause people to lose money?

During the exploration phase, there are days when people lose money as the system learns. The duration of the exploration phase depends on the amount of data available and the difference between results. From our experience, this can last from 2 to 6 weeks.

However, this trial phase is then compensated by the lift our artificial intelligence provides our clients. The testing days will give us enough information to make clinical adjustments to pricing, understand your end users and monitor your site.

Do I get the benefit of other Vendo partners data (and do they get my data) from dynamic pricing?

Yes, you get the benefit. Vendo has interactions with billions of shoppers across hundreds of thousands of products. We’re able to learn from each interaction between shoppers and products. Just like Google learns from other people’s searches to give you better results.

Our clients benefit directly from what we learn through dynamic pricing overall. We’re able to stop giving shoppers “dumb” prices that ignore important information.

Dynamic pricing: can the same user see two different prices for the same product?

The best price for a combination of a shopper and a product typically lasts for one hour. It’s the length of the shopper’s session.

Prices last for one shopper’s session. If a shopper leaves the site and returns after the session has expired they may see a different price.

If you are concerned that people might know that you are using dynamic pricing and refresh the page until they get a low price, don’t be. The number of users that behave this way is small and our system will continue to adapt how it handles them. This type of user isn’t going to buy unless they feel like they’ve gotten a “deal.” You’re better off trying to get them through the sales process and trying to win them over on the quality of your product.

Dynamic pricing: Can’t I just get the same effect by doing an A/B test.

We stopped working with A/B split testing years ago for pricing because it is not the right tool for dynamic pricing.

An A/B test divides up your traffic in two and compares the effect of two different prices. In contrast, we test thousands of prices across many different segments and make adjustments in real time. For a Vendo client to do what our system does in one day would take

It would take considerable time and resources to replicate with A/B tests what our artificial intelligence system does in one day. The flexibility and reliability of our proprietary technology brings real benefits to our clients.

If Dynamic Pricing is such a big deal why isn’t everyone doing it?

Almost everyone is doing dynamic pricing. Cruise around town and check the prices of Starbucks coffee or a gallon of milk at different shops. They change. Everyone is adjusting their prices from airlines to hotels to Amazon to Rosetta Stone, etc.

The only reason that relatively small internet companies haven’t been doing it is because they don’t have access to enough data and they don’t have access to the right tools.

We solve both of those problems for our clients.

What prices do you test? How do you know where to start?

We start with your price. Let’s say you charge $30. We would start testing $25, $30 and $35 with different shoppers. Some shoppers will spend more at $25, others at $30 and others still at $35. You don’t know until you start testing. We measure the impact of different prices by dividing traffic by total revenue the price produced. And we always compare the effect of dynamic pricing with a baseline (we send a % of your traffic to your original price). Over time we find other prices to test that maybe higher or lower. We set a floor price with you (ex. $20) that we would not go below and a ceiling price (ex. $70) that we don’t go above. Some clients don’t bother setting a ceiling price. They let the system decide what the top price should be.

Will the pricing AI decrease the number of sales/conversions?

“I measure my success on sales. Its really important to me that the pricing AI doesn’t reduce sales. I’m seeing a revenue lift of 17.5% lift. Awesome! Where is that coming from? How much is conversion and how much is lifetime value (LTV)? How is it affecting my sales?”

As you pointed out the revenue lift can come from two sources: better conversions and higher lifetime value (LTV).

In this case the bigger lift is coming from more sales. Your conversion ratio with the Vendo’s AI Pricing went from 1 in 358 to 1 in 326 (or 0.279% v. 0.307%) during the period. That’s a 10% improvement. 10% more sales. Huzzah!

How does the A.I. dynamic pricing algorithm determine the range of prices?

Our AI’s dynamic pricing algorithm is built to maximize revenue. We measure its success by how much more money it makes than your fixed pricing.

It learns by testing different prices with different combinations of visitors and products (your site). Its goal is to find the best price for every shopper and each product at each moment. That’s the vision and we are getting closer every day. Our AI has served unique prices to hundreds of millions of shoppers across thousands of products.

The math is very complex but the ideas behind our AI’s dynamic pricing are very simple:

There are buyers that are willing to pay more.
Some of these guys own a mac or they may live in rich neighborhoods or they may be shopping at night, etc. They may have a spotify subscription, buy at at least once a week, they are used to pay for online content, etc.

If a buyer with this profile comes to your tour and you charge him $30 when he could have paid $40 then you just left 10 bucks on the table. On monthly memberships we usually price no more than $10 away from the fixed price the client set. If the fixed price is $30 the AI’s price can go as high as $40 and as low as $20.

There are buyers that don’t have much purchasing power.
These shoppers probably don’t use a mac or live in a nice neighborhood or shop at night, etc. They may use the free spotify subscription (they don’t mind about the ads every X minutes), they visit every year on Black Friday, and they consume a lot of free content at tube sites (sometimes they get seduced and click on an ad).

This type of user wants to consume your content but can’t afford paying a subscription at regular prices. If a buyer with this profile comes to your tour and you try to charge him $30 then he will just probably decide to leave and go back to a free tube site (because he can only afford paying $15). In this cases, you lose money, big time. You know the expression, “a bird in the hand is worth two in the bush”? That’s about this type of shopper.

For these shoppers the AI’s dynamic pricing algorithm may find out, through constant testing, that the best way to make you more money is to apply a discount. Your first reaction to this could be, “We don’t operate a charity!” Right? We get it. But you know what, the A.I. doesn’t know about that. It doesn’t even have this kind of concept programmed in its logic. It only knows, after exploring a lot of options, that Price X will make you more money with that shopper and that product at that moment.

There are some corner cases where certain discounts don’t make sense. This can happen when the revenue wouldn’t cover costs and it is better not to have the sale at all. Though this is a rare case for digital goods (ex. subscriptions to digital content) where some money is almost always better than 0 money, it is easier to imagine for hard goods.

The AI’s dynamic pricing algorithm doesn’t know about costs. For these cases we can teach the AI about them. In fact, when clients want to set a minimum price we tell the AI, “Don’t go below $X.” The client tells us what the minimum amount is that she can accept (via email) and we pass the rule to our AI algorithm. But be careful. The AI wouldn’t offer lower prices to selected shoppers unless it made you more money, through a combination of better conversion rate and higher lifetime value

The AI’s dynamic pricing algorithm’s job is to figure out which price will get each shopper to spend the maximum amount of money with you

How does Vendo’s AI deal with shoppers using VPN connections to buy and access content?

Vendo deals with all shoppers on an individual basis using Artificial Intelligence technology. We don't block transactions based on issuing bank country and user IP location mismatch.
Using Artificial Intelligence (AI), we combine different criteria to evaluate the risk of a transaction.
The main objective of the AI risk system is to allow as many good transactions as possible and block as few transactions as possible.
Even when the system is quite sure that a transaction may be fraudulent it will still allow a few of these to learn if its assumptions were correct. It helps itself to adapt and correct the criteria for the future.
A team of experienced risk specialists and AI are the best way to maximize your revenue while minimizing your risk.

Can I use my own billing and you provide the optimization?

No. The model requires a training phase. In order to do this training and provide an optimization response, we need to collect the historical data and feed the model with it. Once the model is ready, it can only be used on similar data to the one used for training.

Dynamic pricing: can you provide pricing for email campaigns?

From our experience, it’s best not to mention the price in your email campaign. There are many factors that determine the price and the time of day is just one of them. Even though you send the email at 12:00 it may be read at 21:00. We should have as detailed a picture of the shopper as possible (including time) before deciding which price to present.
We would suggest that you send the user from your email to a particular landing page and then on to Vendo so that we can optimize the pricing.

How big is your baseline (control group) when you do dynamic pricing?

We keep 10% to 20% of traffic set aside -control group- so that it can be compared with the artificial intelligence (AI) results. For example, if your price is $30, from 10 to 20% of your shoppers will get that price. We then compare the baseline's performance with the performance of the shoppers with AI.