Publisher? Why Choose Us
Our Great Features
Effortless integration
Integrate our offerwall just following few simple steps. Very easy to integrate!
Fast Payment
We paid our publisher as early as we can. Motivating publisher by paying their reward on time!
Fair Rewards
We value our users time. We provide most fair rewards that possible for them. Higher Than Anyone!
On Time Support
Facing problem? Contact us. Our support staffs always ready to assist you.
Real Time Data
Our publisher dashboard provide all real time data of your users interactions!
Advertiser? Reach Real People
Grow Your Business
Reach Quality Traffic At Less Cost
Dynamic Way To Deposit
One Click Campaign Create & Manage
Bot and Spam Protections
Proxy Traffic Detections
Quick Setup
Easy
Integration
Code
For You
function flukelabs() {
$secret = "secretkey";
$userId = $this->request->getGet('userId');
$transactionId = $this->request->getGet('txId');
$reward = $this->request->getGet('userAmount');
$userIp = $this->request->getGet('ip') ?? "0.0.0.0";
$signature = $this->request->getGet('hash');
if (hash('sha256', $userId . $transactionId . $secret) !== $signature) {
return "signature error";
die();
}
// check for double callback by checking txId
if (!$isTxIdExists) {
// pay your user logic ,if credit
// chargeback if type is chargeback
echo "OK";
}
}
...
import hashlib
def flukelabs(userId, txId, userAmount, ip, hash):
secret = "secretkey"
calculated_hash = hashlib.sha256((userId + txId + secret).encode()).hexdigest()
if calculated_hash != hash:
return "signature error"
# Check for double callback by checking txId
if not is_tx_id_exists:
# Pay your user logic if credit
# Chargeback if type is chargeback
return "OK"
...
use sha2::{Digest, Sha256};
fn flukelabs(userId: &str, txId: &str, userAmount: &str, ip: &str, hash: &str) -> String {
let secret = "secretkey";
let signature = format!("{}{}{}", userId, txId, secret);
let calculated_hash = format!("{:x}", Sha256::digest(signature.as_bytes()));
if calculated_hash != hash {
return String::from("signature error");
}
// Check for double callback by checking txId
if !is_tx_id_exists() {
// Pay your user logic if credit
// Chargeback if type is chargeback
}
String::from("OK")
}
const express = require('express');
const axios = require('axios');
const crypto = require('crypto');
const router = express.Router();
router.get('/flukelabs', async (req, res) => {
const secret = "secretkey";
const { userId, txId, userAmount, ip, hash } = req.query;
if (crypto.createHash('sha256').update(userId + txId + secret).digest('hex') !== hash) {
return res.send("signature error");
}
// Check for double callback by checking txId
if (!isTxIdExists) {
// Pay your user logic if credit
// Chargeback if type is chargeback
app.get('/route', function(req, res) {
res.send('OK');
});
}
});
Questions? Want To Know More?
Our FAQ For You
Please check our Documentation