arttiger/laravel-cpa

Laravel CPA (Cost Per Action) network integration package

v1.0.5 2022-10-17 13:18 UTC

This package is auto-updated.

Last update: 2024-04-17 16:39:56 UTC


README

Laravel CPA Network Integration

StyleCI Status Total Downloads Latest Stable Version License

Laravel Package for CPA networks integration and target customer actions registration in your application. Currently supported: Admitad, Credy, DoAffiliate, Finline, LeadGid, Leads.su, PapaKarlo, Sales Doubler, Storm Digital, Loangate, Appscorp, PAP, GoodAff, LetMeAds, GuruLeads, Nolimit.

Installation

Install the package via composer:

$ composer require arttiger/laravel-cpa

Next, you need to run migrations:

$ php artisan migrate

For Laravel 5.4 and below it necessary to register the service provider

Configuration

In order to edit the default configuration you may execute:

php artisan vendor:publish --provider="Arttiger\Cpa\CpaServiceProvider"

After that, config/cpa.php will be created.

Environment

This package can be configured by environment variables out-of-box:

  • SALES_DOUBLER_ID - personal id for request to SalesDoubler
  • SALES_DOUBLER_TOKEN - token for request URI for SalesDoubler
  • STORM_DIGITAL_GOAL - (default: 1), goal in URL for StormDigital
  • STORM_DIGITAL_SECURE - secure in URL for StormDigital
  • PAPA_KARLO_TYPE - ('offer' or 'goal') postback type for PapaKarlo
  • PAPA_KARLO_OFFER - (default: 35) personal offer id for PapaKarlo
  • PAPA_KARLO_GOAL - (default: 75) personal goal id for PapaKarlo
  • PDL_PROFIT_OFFER - ID of the advertiser in the PDL-Profit system
  • DO_AFFILIATE_PATH - path for DoAffiliate API (example: pozichka-ua in http://tracker2.doaffiliate.net/pozichka-ua)
  • LEADS_SU_TOKEN - token for LeadsSu
  • ADMITAD_POSTBACK_KEY - postback request authentication key, constant string 32 char
  • ADMITAD_CAMPAIGN_CODE - AdmitAd defined campaign code, constant string 10 char
  • ADMITAD_ACTION_CODE - target action code, get it from AdmitAd
  • CREDY_OFFER - offer code, get it from Credy
  • LET_ME_ADS_PATH - path for LetMeAds API (example: api/v1.1/y7r/dcfgs1tg:awvv47ghn1jv1f$am/get/postback.json)
  • GURU_LEADS_PATH - path for GuruLeads API (example: postback)
  • CLICK2MONEY_PATH - path for Click2Money API (example: cpaCallback)
  • NOLIMIT_PATH - path for Nolimit API (example: postback)

If one of key for some CPA network not set postback requests for this network will not be done.

Register Middleware

You may register the package middleware in the app/Http/Kernel.php file:

<?php namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel {
    /**
    * The application's route middleware.
    *
    * @var array
    */
    protected $routeMiddleware = [
        /**** OTHER MIDDLEWARE ****/
        'lead.check' => \Arttiger\Cpa\Middleware\LeadCheckMiddleware::class
    ];
}

You may add middleware to your group like this:

Route::group(
    [
        'middleware' => [ 'lead.check' ]
    ], 
    function(){ //...
});

Usage

Create Lead when user registered

CpaLead::createFromCookie(auth()->user());
// or
CpaLead::createFromCookie($userId);

When goal is achieved register conversion

CpaConversion::register($user, $transactionId, 'sale');

Events (e.g. 'sale') must be specified in config. You can add additional params for specific events. See config/cpa.php samples

Change log

Please see the changelog for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

Volodymyr Farylevych

License

The MIT License (MIT). Please see License File for more information.