PHPackages                             nmdigitalhub/payment-gateway - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. nmdigitalhub/payment-gateway

ActiveLibrary[Payment Processing](/categories/payments)

nmdigitalhub/payment-gateway
============================

Advanced Payment Gateway Package for Laravel with eSIM-based unified checkout, slug routing, CardCom API v11, Maya Mobile, and ResellerClub Integration

v1.1.4(10mo ago)010MITPHPPHP ^8.2

Since Aug 27Pushed 10mo agoCompare

[ Source](https://github.com/nm-digitalhub/payment-gateway)[ Packagist](https://packagist.org/packages/nmdigitalhub/payment-gateway)[ Fund](https://nm-digitalhub.com)[ RSS](/packages/nmdigitalhub-payment-gateway/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (21)Versions (9)Used By (0)

Payment Gateway Package 🚀
=========================

[](#payment-gateway-package-)

חבילת שער תשלום מתקדמת ל-Laravel עם אינטגרציה מלאה לCardCom, Maya Mobile ו-ResellerClub - מבוססת על מערכת eSIM מאוחדת עם Slug routing ו-Frontend מלא

תכונות עיקריות
--------------

[](#תכונות-עיקריות)

### 🚀 תכונות מתקדמות

[](#-תכונות-מתקדמות)

- **CardCom API v11** - תמיכה מלאה ב-LowProfile עם 3D Secure
- **ניהול טוקנים** - שמירת כרטיסי אשראי בצורה מאובטחת
- **סנכרון קטלוגים** - עדכון אוטומטי של מוצרים מספקים
- **עמודי תשלום ציבוריים** - יצירת עמודי checkout מותאמים אישית
- **פאנלי Filament** - ניהול מלא דרך ממשק האדמין

### 🛡️ אבטחה

[](#️-אבטחה)

- תמיכה מלאה ב-PCI DSS
- אימות HMAC עבור webhooks
- הצפנת נתוני תשלום במאגר הנתונים
- תמיכה מלאה ב-3D Secure

### 🌍 תמיכה רב-לשונית

[](#-תמיכה-רב-לשונית)

- עברית (RTL) - ברירת המחדל
- אנגלית
- צרפתית

התקנה
-----

[](#התקנה)

### דרישות מערכת

[](#דרישות-מערכת)

- PHP 8.2+
- Laravel 11.0+ או 12.0+
- Filament v3
- MySQL/PostgreSQL/SQLite
- הרחבות PHP: json, curl, mbstring, openssl, pdo

### התקנה מהירה

[](#התקנה-מהירה)

```
# הוספת החבילה דרך Composer
composer require nmdigitalhub/payment-gateway

# התקנה אוטומטית מלאה
php artisan payment-gateway:install --demo --optimize

# או התקנה ידנית צעד אחר צעד
php artisan payment-gateway:install --verbose
```

### אפשרויות התקנה

[](#אפשרויות-התקנה)

```
# התקנה בכוח (עריפת הגדרות קיימות)
php artisan payment-gateway:install --force

# התקנה עם נתוני דמו
php artisan payment-gateway:install --demo

# התקנה ללא migrations
php artisan payment-gateway:install --skip-migrations

# התקנה עם אופטימיזציה
php artisan payment-gateway:install --optimize

# פרטי התקנה מלאים
php artisan payment-gateway:install --verbose
```

הגדרת CardCom
-------------

[](#הגדרת-cardcom)

### קבלת פרטי החיבור

[](#קבלת-פרטי-החיבור)

1. פנה לשירות לקוחות של CardCom
2. בקש מספר טרמינל וממשק API
3. קבל את פרטי החיבור

### הגדרה ב-.env

[](#הגדרה-ב-env)

```
# CardCom Configuration
CARDCOM_TERMINAL_NUMBER=172204
CARDCOM_API_NAME=your_api_name
CARDCOM_API_PASSWORD=your_api_password
CARDCOM_TEST_MODE=false

# Payment Gateway
PAYMENT_GATEWAY_ENABLED=true
PAYMENT_GATEWAY_DEFAULT=cardcom
```

### הגדרת Webhooks

[](#הגדרת-webhooks)

```
# URL לקבלת webhooks מ-CardCom
https://your-domain.com/webhooks/cardcom
```

שימוש בחבילה
------------

[](#שימוש-בחבילה)

### יצירת תשלום פשוט

[](#יצירת-תשלום-פשוט)

```
use NMDigitalHub\PaymentGateway\Facades\Payment;

// יצירת תשלום בסיסי
$payment = Payment::amount(100)
    ->currency('ILS')
    ->customerEmail('customer@example.com')
    ->customerName('יוסי כהן')
    ->description('תשלום עבור מוצר')
    ->create();

// תוצאה: URL לדף התשלום של CardCom
return redirect($payment->checkout_url);
```

### יצירת תשלום מתקדם עם טוכן

[](#יצירת-תשלום-מתקדם-עם-טוכן)

```
use NMDigitalHub\PaymentGateway\Facades\Payment;

$payment = Payment::amount(250.50)
    ->currency('ILS')
    ->customerEmail('customer@example.com')
    ->customerName('רחל לוי')
    ->customerPhone('0501234567')
    ->description('חידוש מנוי שנתי')
    ->savePaymentMethod() // שמירת כרטיס לעתיד
    ->successUrl('https://mysite.com/payment/success')
    ->failedUrl('https://mysite.com/payment/failed')
    ->webhookUrl('https://mysite.com/webhooks/cardcom')
    ->metadata(['order_id' => 123, 'user_id' => 456])
    ->create();
```

### תשלום עם טוכן שמור

[](#תשלום-עם-טוכן-שמור)

```
// קבלת טוכנים שמורים של המשתמש
$tokens = auth()->user()->paymentTokens()->active()->get();

// תשלום עם טוכן
$payment = Payment::useToken($tokenId)
    ->amount(99.99)
    ->cvv('123') // נדרש לאימות 3D
    ->description('תשלום חוזר')
    ->create();

// תוצאה: תשלום מיידי או הפנייה ל-3D Secure
if ($payment->requires_3ds) {
    return redirect($payment->three_ds_url);
}
```

עבודה עם עמודי תשלום
--------------------

[](#עבודה-עם-עמודי-תשלום)

### יצירת עמוד תשלום

[](#יצירת-עמוד-תשלום)

```
use NMDigitalHub\PaymentGateway\Models\PaymentPage;

$page = PaymentPage::create([
    'title' => 'תשלום עבור קורס',
    'slug' => 'course-payment',
    'description' => 'תשלום מאובטח עבור הקורס שלנו',
    'type' => 'checkout',
    'status' => 'published',
    'is_public' => true,
    'language' => 'he',
    'content' => [
        [
            'type' => 'heading',
            'data' => ['content' => 'תשלום מאובטח', 'level' => 'h1']
        ],
        [
            'type' => 'payment_form',
            'data' => ['allowed_methods' => ['cardcom']]
        ]
    ]
]);

// URL לעמוד התשלום: /payment/course-payment
```

### הצגת עמוד תשלום בנתיב

[](#הצגת-עמוד-תשלום-בנתיב)

```
// routes/web.php
use NMDigitalHub\PaymentGateway\Http\Controllers\CheckoutController;

Route::get('/payment/{slug}', [CheckoutController::class, 'showPaymentPage']);
Route::post('/payment/{slug}', [CheckoutController::class, 'processPayment']);
```

ניהול דרך פאנל האדמין
---------------------

[](#ניהול-דרך-פאנל-האדמין)

### מעבר לפאנלים

[](#מעבר-לפאנלים)

- **פאנל האדמין**: `/admin/payment-transactions`
- **פאנל הלקוח**: `/client/payment-tokens`

### תכונות האדמין

[](#תכונות-האדמין)

- צפייה בעסקאות
- ניהול דפי תשלום
- סנכרון קטלוגים
- ניהול ספקים
- דוחות ואנליטיקה

פקודות Artisan
--------------

[](#פקודות-artisan)

### פקודות ניהול

[](#פקודות-ניהול)

```
# בדיקת חיבור לספקים
php artisan payment-gateway:health-check

# סנכרון קטלוגים
php artisan payment-gateway:sync

# בדיקת ספק
php artisan payment-gateway:test cardcom

# יצירת עמוד תשלום
php artisan payment-gateway:create-page
```

### פקודות תחזוקה

[](#פקודות-תחזוקה)

```
# ניקוי טוכנים שפגו
php artisan payment-gateway:cleanup-tokens

# ייצוא עסקאות לדוח
php artisan payment-gateway:export --from="2024-01-01" --to="2024-12-31"

# גיבוי נתוני תשלום
php artisan payment-gateway:backup
```

Webhooks
--------

[](#webhooks)

### הגדרת Webhook Handler

[](#הגדרת-webhook-handler)

```
use NMDigitalHub\PaymentGateway\Services\CardComLowProfileService;

Route::post('/webhooks/cardcom', function (Request $request) {
    $service = app(CardComLowProfileService::class);
    $transaction = $service->handleWebhook($request->all());

    if ($transaction && $transaction->status === 'success') {
        // עיבוד הזמנה מוצלחת
        $order = Order::where('reference', $transaction->reference)->first();
        $order->markAsCompleted();

        // שליחת מייל אישור
        Mail::to($transaction->customerEmail)
            ->send(new PaymentConfirmationMail($transaction));
    }

    return response('OK', 200);
});
```

מודלים ומידע
------------

[](#מודלים-ומידע)

### עבודה עם עסקאות

[](#עבודה-עם-עסקאות)

```
use NMDigitalHub\PaymentGateway\Models\PaymentTransaction;

// קבלת עסקאות לפי משתמש
$transactions = PaymentTransaction::where('customer_email', 'user@example.com')
    ->whereIn('status', ['success', 'completed'])
    ->orderBy('created_at', 'desc')
    ->get();

// קבלת עסקה לפי מזהה
$transaction = PaymentTransaction::where('transaction_id', 'PAY-123')->first();

// סטטיסטיקות תשלומים
$stats = PaymentTransaction::selectRaw('
    COUNT(*) as total_transactions,
    SUM(CASE WHEN status = "success" THEN amount ELSE 0 END) as total_amount,
    AVG(amount) as average_amount
')->where('created_at', '>=', now()->subMonth())->first();
```

### עבודה עם טוכנים

[](#עבודה-עם-טוכנים)

```
use App\Models\PaymentToken;

// קבלת טוכנים פעילים של משתמש
$tokens = PaymentToken::where('user_id', auth()->id())
    ->active()
    ->notExpired()
    ->get();

// הגדרת טוכן כברירת מחדל
$token->setAsDefault();

// ביטול טוכן
$token->deactivate();
```

אבטחה ואופטימיזציה
------------------

[](#אבטחה-ואופטימיזציה)

### הגדרות אבטחה מומלצות

[](#הגדרות-אבטחה-מומלצות)

```
// config/payment-gateway.php
return [
    'security' => [
        'encryption_key' => env('PAYMENT_GATEWAY_ENCRYPTION_KEY'),
        'hmac_secret' => env('PAYMENT_GATEWAY_HMAC_SECRET'),
        'session_timeout' => 1800, // 30 דקות
        'max_attempts' => 3,
        'lockout_duration' => 900, // 15 דקות
    ],

    'logging' => [
        'enabled' => true,
        'include_sensitive' => false, // לא לכלול נתונים רגישים
        'retention_days' => 30,
    ],
];
```

### אופטימיזציה ביצועים

[](#אופטימיזציה-ביצועים)

```
// שימוש ב-cache עבור שאילתות כבדות
$providers = Cache::remember('active_payment_providers', 3600, function () {
    return ServiceProvider::active()->get();
});

// אינדקסים מומלצים במאגר הנתונים
Schema::table('payment_transactions', function (Blueprint $table) {
    $table->index(['customer_email', 'status']);
    $table->index(['status', 'created_at']);
    $table->index(['provider', 'status']);
});
```

פתרון בעיות נפוצות
------------------

[](#פתרון-בעיות-נפוצות)

### שגיאת חיבור ל-CardCom

[](#שגיאת-חיבור-ל-cardcom)

```
# בדיקת פרטי החיבור
php artisan payment-gateway:test cardcom

# בדיקת הגדרות
php artisan config:cache
php artisan config:clear
```

### בעיות עם Webhooks

[](#בעיות-עם-webhooks)

```
# בדיקת URL פנוי
curl -X POST https://your-domain.com/webhooks/cardcom

# בדיקת הגדרות HMAC
php artisan tinker
>>> config('payment-gateway.security.hmac_secret')
```

### בעיות עם Filament

[](#בעיות-עם-filament)

```
# ניקוי cache של Filament
php artisan filament:cache-components
php artisan filament:optimize
```

תמיכה ועזרה
-----------

[](#תמיכה-ועזרה)

### קישורים חשובים

[](#קישורים-חשובים)

- **תיעוד CardCom**: [developer.cardcom.solutions](https://developer.cardcom.solutions)
- **תיעוד Filament**: [filamentphp.com](https://filamentphp.com)
- **GitHub Issues**: [github.com/nmdigitalhub/payment-gateway/issues](https://github.com/nmdigitalhub/payment-gateway/issues)

### פקודות עזרה

[](#פקודות-עזרה)

```
# מידע על החבילה
php artisan payment-gateway:info

# רשימת פקודות זמינות
php artisan payment-gateway:help

# בדיקת תקינות המערכת
php artisan payment-gateway:doctor
```

### יצירת קשר לתמיכה

[](#יצירת-קשר-לתמיכה)

- **אימייל**:
- **אתר**:
- **טלפון**: 03-1234567

רישיון
------

[](#רישיון)

החבילה מופצת תחת רישיון MIT. ראה [LICENSE](LICENSE) לפרטים נוספים.

---

פותחה בידי **NM Digital Hub** עם ❤️

---

🔄 עדכונים אחרונים
-----------------

[](#-עדכונים-אחרונים)

- **v1.1.0** - **הטמעה מלאה מבוססת eSIM**: Slug routing, זרימה מלאה מקטלוג לרכישה, Package Manager עם JavaScript מודולרי
- **v1.0.3** - הוספת קונטרולרי PackageCheckout ו-PaymentHandler עם תמיכה מלאה בslug navigation
- **v1.0.2** - אינטגרציה מלאה של API services (CardCom, Maya Mobile, ResellerClub) עם הגדרות admin-configurable
- **v1.0.1** - תיקון שגיאת duplicate method ב-InstallCommand
- **v1.0.0** - גרסה ראשונה עם תמיכה מלאה ב-CardCom, Maya Mobile, ResellerClub

### 🚀 תכונות חדשות ב-v1.1.0:

[](#-תכונות-חדשות-ב-v110)

- **מערכת eSIM מאוחדת**: זרימה מלאה מבוססת על מערכת ההזמנות המאוחדת של eSIM
- **Slug Navigation**: `/payment-gateway/checkout/{package-slug}` עם תמיכה דינמית
- **JavaScript מודולרי**: PackageManager, FormHandler, ConnectionTester עם RTL support
- **Frontend מלא**: קטלוג חבילות, חיפוש, סינון, וזרימה מלאה לרכישה
- **אינטגרציה אוטומטית**: רישום controllers, routes, ו-resources ב-Filament באופן אוטומטי

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance54

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

8

Last Release

312d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/127d9d84318cddc32aa5b44640b8f431b89793d11eddf26c55938e8c0b87a217?d=identicon)[NMDIGITALHUB](/maintainers/NMDIGITALHUB)

---

Top Contributors

[![nm-digitalhub](https://avatars.githubusercontent.com/u/211350234?v=4)](https://github.com/nm-digitalhub "nm-digitalhub (7 commits)")

---

Tags

laravelpaymentgatewayfilamentesimdomainshebrewresellerclubcardcompackage-managerIsraelmaya-mobileslug-routingunified-checkoutrtl-support

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

### Embed Badge

![Health badge](/badges/nmdigitalhub-payment-gateway/health.svg)

```
[![Health](https://phpackages.com/badges/nmdigitalhub-payment-gateway/health.svg)](https://phpackages.com/packages/nmdigitalhub-payment-gateway)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[filament/filament

A collection of full-stack components for accelerated Laravel app development.

3829.6M3.7k](/packages/filament-filament)[statamic/cms

The Statamic CMS Core Package

4.8k3.6M993](/packages/statamic-cms)[shetabit/multipay

PHP Payment Gateway Integration Package

293361.0k4](/packages/shetabit-multipay)[relaticle/flowforge

Flowforge is a lightweight Kanban board package for Filament that works with existing Eloquent models.

413106.5k6](/packages/relaticle-flowforge)[finity-labs/fin-mail

A powerful email template manager and composer for Filament with dynamic token replacement, template versioning, and inline email sending.

284.5k1](/packages/finity-labs-fin-mail)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
