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.
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
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.
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.
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(){ //...
});
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
Please see the changelog for more information on what has changed recently.
$ composer test
Please see contributing.md for details and a todolist.
If you discover any security related issues, please email author email instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.