PayPal Smart buttons

PayPal’s Smart Payment Buttons keep your site's buttons up-to-date by ensuring you have the latest payment options and button styles.

PayPal Smart buttons gives you two options - to create a one time payment button or a subscription button. You can use this integration for both.

The integration consists of two main steps - the clik tracking code and the sale tracking code.


Click tracking code

You can find your click tracking code in your merchant panel Tools> Integration> Click tracking. Copy the code and place it to every page where you have a PayPal Smart button you want to integrate.


Sale (button) tracking

The sale tracking code has to be added into each of your Smart buttons. The code goes to 'onApprove' section of the button code. In case your button does not use it, create it. The buttons should look like this:

<div id="paypal-button-container-P-NNNNN"></div>
<script src="" data-sdk-integration-source="button-factory"></script>
      style: {
          shape: 'pill',
          color: 'silver',
          layout: 'vertical',
          label: 'paypal'
      createSubscription: function(data, actions) {
        return actions.subscription.create({
          /* Creates the subscription */
          plan_id: 'P-NNNNN'
      onApprove: function(data, actions) {
  }).render('#paypal-button-container-P-NNNNN'); // Renders the PayPal button

The sale tracking code will automatically read the new order/subscription ID. The price and the product ID has to be defined manually by you. Here's the code to be used:

// Post Affiliate Pro integration code
var sale = PostAffTracker.createSale();
sale.setTotalCost('123.45'); // the price goes here
sale.setProductID('P-NNNNN'); // plan ID goes here
if (typeof data.subscriptionID !== 'undefined') {
} else {

That's it. If you only want to track one time payment you do not have to enable PayPal plugin and you do not have to setup notification URL.


Recurring transactions tracking

To track recurring commissions you have to enable the PayPal plugin and you also have to setup this notification URL in your PayPal:
If you already use notification URL for another script you can still make the integration working. Take a loot at the section 3. in this guide: