PHP code example of coversgift / facebook-pixel-capi

1. Go to this page and download the library: Download coversgift/facebook-pixel-capi library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

coversgift / facebook-pixel-capi example snippets


'providers' => [
    // ...
    Codersgift\FacebookPixelService\Providers\FacebookPixelServiceProvider::class,
],

'aliases' => Facade::defaultAliases()->merge([
    // ...
    'FacebookPixel' => Codersgift\FacebookPixelService\Facades\FacebookPixel::class,
])->toArray(),

use Codersgift\FacebookPixelService\Facades\FacebookPixel;

// ... inside a controller method

$eventId = uniqid();
$eventTime = time();

$eventData = [
    'event_name' => 'Purchase',
    'event_time' => $eventTime,
    'event_id' => $eventId, // ✅ Use same variable
    'fbp' => $request->fbp,

    'userID' => (string) $new_user->id,
    'phone' => $order->mobile,
    'email' => $order->email,
    'order_id' => (string) $order->id,
    'value' => $order->total,
    'currency' => 'BDT',
    'client_ip_address' => getRealIP(),
    'client_user_agent' => $agent->getUserAgent(),
    'content_ids' => $order->orderItems->pluck('product_id')->map(fn ($id) => (string) $id)->toArray(),
    'content_type' => 'product',
];

$response = FacebookPixel::sendPixelEvent($eventData);




namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Codersgift\FacebookPixelService\Facades\FacebookPixel;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
// ... other necessary models and facades

class OrderController extends Controller
{
    public function placeOrder(Request $request)
    {
        // ... (validation and other logic) ...

        try {
            DB::beginTransaction();
            // ... (Create user, order, order items, transaction) ...
            $new_user = // ...
            $order = // ...
            DB::commit();

            // --- Facebook CAPI Integration ---
            $eventId = uniqid();
            $eventTime = time();

            $eventData = [ /* ... build the $eventData array as shown above ... */ ];

            FacebookPixel::sendPixelEvent($eventData);

            $productIds = json_encode($order->orderItems->pluck('product_id')->toArray());
            return view('frontend.landingpage.thank-you', compact('order', 'productIds', 'eventId', 'eventTime'));

        } catch (\Exception $e) {
            DB::rollBack();
            Log::error('Order placement failed: ' . $e->getMessage());
            return redirect()->back()->with('error', 'Order placement failed.');
        }
    }
}
bash
php artisan vendor:publish --provider="Codersgift\FacebookPixelService\Providers\FacebookPixelServiceProvider" --tag="config"
blade
{{-- ... resources/views/layouts/app.blade.php - In the header ... --}}


    @