שילוב Paddle למנויי SaaS
אחד הלקוחות שלנו הפסיד 12,000 דולר ברבעון עקב חישוב מס שגוי בשלוש מדינות. לאחר שילוב Paddle כ-Merchant of Record, שגיאות המס נעלמו וההמרה עלתה ב-18% הודות לתמחור דינמי. Paddle נושאת באחריות המשפטית למיסים ותאימות ביותר מ-200 מדינות, אך השילוב דורש הבנה מעמיקה של ה-API והלוגיקה העסקית. אנו מגדירים את Paddle עבור המוצר שלך — מיצירת תכנית תמחור ועד סנכרון מנויים במסד הנתונים שלך.
Paddle Billing לעומת Classic: מה לבחור לפרויקט חדש?
Paddle Classic משתמש ב-checkout overlay — ווידג'ט JavaScript המוטמע בעמוד. Paddle Billing מציע כתובת checkout משלו או iframe מובנה, ותומך בחיוב יחסי (prorated) ישירות מהקופסה — בעת שינוי תכנית, הסכום מחושב מחדש אוטומטית. לפרויקטים חדשים, אנו ממליצים על Billing: הוא מפותח באופן פעיל, כולל REST API מודרני ותמחור דינמי. Classic נשאר לתאימות לאחור, אך אנו יכולים לסייע בהגירה.
| תכונה | Paddle Classic | Paddle Billing |
|---|---|---|
| ממשק | Checkout overlay | כתובת Checkout / iframe מובנה |
| חיוב יחסי | דרך API | מובנה |
| תמחור דינמי | מוגבל | מלא |
| API | Legacy | REST מודרני |
| המלצה | רק לפרויקטים legacy | לפרויקטים חדשים |
מעל 80% מהפרויקטים שלנו בשנים האחרונות אנו משיקים על Paddle Billing — זהו הסטנדרט ל-SaaS גלובלי.
כיצד אנו משלבים את Paddle
התהליך אורך 3–5 ימי עסקים — מ-sandbox לייצור. כולל בדיקות של 20+ תרחישים.
| שלב | מה אנו עושים | תוצאה |
|---|---|---|
| ניתוח | בחינת מודל המנויים, מטבעות, מיסים | מוצר ותכנית מחיר ב-Paddle |
| הגדרה | יצירת מוצרים, מחירים, תקופות ניסיון, נקודות webhook | תצורת sandbox עובדת |
| שילוב | חיבור @paddle/paddle-js, backend ל-webhooks |
קוד במאגר שלך |
| בדיקות | אימות מחזור מלא: ניסיון → שדרוג → ביטול → החזר | רשימת בדיקות של 20+ תרחישים |
| השקה | מעבר לייצור, ניטור דרך Paddle Dashboard | זמינות של 99.9% |
כדי להגדיר את Paddle:
- צור מוצרים ב-Dashboard עם תקופות ניסיון ומחזורי חיוב.
- הגדר נקודות webhook לאירועי מנוי.
- שלב את
@paddle/paddle-jsב-frontend. - תעד את אימות החתימה.
- בדוק את כל התרחישים ב-sandbox.
מדוע Paddle Billing עדיף על Classic לפרויקטים חדשים?
Billing מספק חיוב יחסי ישירות מהקופסה — בעת שדרוג תכנית, הסכום מחושב מחדש אוטומטית. Classic דורש חישוב ידני דרך API. Billing תומך גם בתמחור דינמי: מוצר אחד מוצג במטבעות שונים, מה שחיוני ל-SaaS גלובלי. לפי הנתונים שלנו, ההמרה עולה ב-15–20% כאשר מציגים מחירים במטבע מקומי. בנוסף, Paddle Billing מציע אירועי webhook גמישים יותר ותומך ב-transaction.completed לאישור תשלום.
פורטל לקוחות: יישום מותאם אישית
בניגוד ל-Stripe, Paddle אינו מספק פורטל מוכן לניהול מנויים. אנו מיישמים אותו דרך API: שינויי תכנית, ביטול, עדכון אמצעי תשלום — הכל מהממשק שלך. להפנייה לעדכון כרטיס, אנו משתמשים במתודת getPaymentMethodUpdateTransaction. הביטול מתבצע עם הפרמטר effective_from: 'next_billing_period'.
כיצד Paddle מטפל בהחזרים ומחלוקות חיוב?
Paddle מנהלת לחלוטין את תהליך ההחזרים והמחלוקות. הם מטפלים בתקשורת עם מערכות התשלום והבנקים, בעוד אתה מקבל הודעה דרך ה-webhook transaction.updated עם סוג refund. גישה זו חוסכת זמן לצוות התמיכה שלך.
פרטים טכניים: Webhooks וסנכרון
לאימות webhook, אנו משתמשים בספריית paddle/webhooks ל-PHP (זמינה גם ל-Node.js, Python). כל אירוע מאומת דרך חתימת ECDSA — זו דרישת אבטחה חובה. אנו מעבירים custom_data עם user_id כדי לקשר באופן ייחודי את המנוי למשתמש במערכת שלך.
use Paddle\Webhooks\Verify;
public function handleWebhook(Request $request): Response
{
$verified = Verify::signature(
$request->getContent(),
$request->header('Paddle-Signature'),
config('services.paddle.webhook_secret')
);
if (!$verified) {
return response('Forbidden', 403);
}
$payload = $request->json()->all();
match ($payload['event_type']) {
'subscription.created' => $this->onSubscriptionCreated($payload['data']),
'subscription.updated' => $this->onSubscriptionUpdated($payload['data']),
'subscription.cancelled' => $this->onSubscriptionCancelled($payload['data']),
'transaction.completed' => $this->onTransactionCompleted($payload['data']),
'transaction.payment_failed' => $this->onPaymentFailed($payload['data']),
default => null,
};
return response('OK', 200);
}
private function onSubscriptionCreated(array $data): void
{
$userId = $data['custom_data']['user_id'];
$user = User::findOrFail($userId);
$user->update([
'paddle_subscription_id' => $data['id'],
'paddle_customer_id' => $data['customer_id'],
'subscription_status' => $data['status'],
'plan' => $data['items'][0]['price']['id'],
'trial_ends_at' => $data['current_billing_period']['starts_at'] ?? null,
'renews_at' => $data['next_billed_at'],
]);
} מה כלול בעבודה במפתחות
- יצירת מבנה מוצר ומחיר (עם תקופות ניסיון, מחזורי חיוב, מיסים)
- שילוב
use Paddle\Webhooks\Verify; public function handleWebhook(Request $request): Response { $verified = Verify::signature( $request->getContent(), $request->header('Paddle-Signature'), config('services.paddle.webhook_secret') ); if (!$verified) { return response('Forbidden', 403); } $payload = $request->json()->all(); match ($payload['event_type']) { 'subscription.created' => $this->onSubscriptionCreated($payload['data']), 'subscription.updated' => $this->onSubscriptionUpdated($payload['data']), 'subscription.cancelled' => $this->onSubscriptionCancelled($payload['data']), 'transaction.completed' => $this->onTransactionCompleted($payload['data']), 'transaction.payment_failed' => $this->onPaymentFailed($payload['data']), default => null, }; return response('OK', 200); } private function onSubscriptionCreated(array $data): void { $userId = $data['custom_data']['user_id']; $user = User::findOrFail($userId); $user->update([ 'paddle_subscription_id' => $data['id'], 'paddle_customer_id' => $data['customer_id'], 'subscription_status' => $data['status'], 'plan' => $data['items'][0]['price']['id'], 'trial_ends_at' => $data['current_billing_period']['starts_at'] ?? null, 'renews_at' => $data['next_billed_at'], ]); }ב-frontend עם טיפול ב-callback - עיבוד backend של אירועי webhook: subscription.created, updated, cancelled, transaction.completed
- יישום שדרוג/הורדה עם חיוב יחסי דרך Paddle API
- פורטל לקוחות מותאם אישית: שינוי תכנית, ביטול, עדכון אמצעי תשלום
- תיעוד על אימות חתימה (ECDSA) וסנכרון עם מסד הנתונים שלך
- בדיקת כל התרחישים ב-sandbox ובייצור
- הדרכת הצוות שלך על Paddle Dashboard
ניסיון ואחריות
אנו עובדים עם Paddle למעלה מ-5 שנים והשקנו בהצלחה 80+ פרויקטי SaaS על פלטפורמה זו. אנו מבטיחים טיפול נכון במיסים וסנכרון מנויים עם זמינות של 99.9%. לאחר השילוב, אנו מספקים שבועיים של תמיכה חינם.
קבל ייעוץ – נבחן את הפרויקט שלך ביום אחד ללא התחייבות. הזמן שילוב Paddle עבור ה-SaaS שלך.







