שילוב Stripe עם 1C-Bitrix: מתכנון ועד פריסה
לקוח מוסיף מוצרים לעגלה, מזין את פרטי הכרטיס—והעמוד נתקע. התשלום לא עובר, ההזמנה אבודה, והלקוח עוזב למתחרה. זה קורה כאשר שילוב שער תשלום עם Bitrix נעשה בחיפזון: ללא טיפול ב-webhooks, ללא אימות חתימה, ללא idempotency. Stripe, כאחת ממערכות התשלום האמינות ביותר, דורשת חיבור זהיר עם ה-CMS. השלמנו למעלה מ-50 פרויקטים מוצלחים של שילוב Stripe עם 1C-Bitrix—החל מסטארטאפים ועד חנויות ארגוניות עם מחזורים של מאות אלפי דולרים. כל שילוב עובר בדיקות עומס ובדיקות אבטחה.
Stripe מכסה את כל המחזור: אישור כרטיס, חיוב, החזרים, מנויים, 3D Secure. עובד עם ויזה, מאסטרקארד, AmEx, Apple Pay, Google Pay, ושיטות מקומיות (SEPA, iDEAL, Klarna). Stripe Checkout פוטר את הסוחר מאחריות PCI DSS—כל נתוני הכרטיס מעובדים בצד של Stripe (ויקיפדיה: PCI DSS). זמינות השיטות תלויה במדינת הסוחר.
בחירה בין Checkout ל-Elements
עבור רוב חנויות Bitrix, אנו ממליצים על Stripe Checkout. גישה זו פשוטה ליישום בערך פי 3—פחות קוד, עדכוני 3DS אוטומטיים, ולקוחות רואים ממשק Stripe מוכר. אם אתם צריכים שליטה מלאה בעיצוב טופס התשלום, השתמשו ב-Stripe Elements—זה דורש יותר לוגיקת צד שרת אך מציע גמישות. הבחירה תלויה בדרישות ההתאמה האישית ובזמן הפיתוח.
איך לשלב את Stripe ב-Bitrix ב-5 צעדים?
- תכנון—בחירת גישה (Checkout או Elements), הסכמה על תכנית החזרים ומנויים.
-
פיתוח handler—כתיבת מחלקה המרחיבה את
\Bitrix\Sale\PaySystem\ServiceHandler, יישוםinitiatePay(),processRequest(),refund(). -
הגדרת webhooks—רישום endpoint ב-Stripe Dashboard, הרשמה לאירועים. יש לאמת חתימה באמצעות
Stripe-Signature. - בדיקות—שימוש במפתחות בדיקה וכרטיס
4242 4242 4242 4242. בדיקת תשלומים מוצלחים, דחיות, והחזרים. - פריסה—מעבר למפתחות חיים, ביצוע בדיקות עומס. לוחות זמנים: Checkout—3–4 ימים, Elements—5–7 ימים.
| סוג כרטיס בדיקה | מספר |
|---|---|
| תשלום מוצלח | 4242 4242 4242 4242 |
| דחייה | 4000 0000 0000 0002 |
| 3D Secure | 4000 0025 0000 3155 |
כל עסקאות הבדיקה אינן מחייבות כספים אמיתיים. פרטים נוספים בתיעוד של Stripe.
מה כלול בשילוב Stripe
- פיתוח handler של מערכת התשלום (מחלקה המרחיבה את
\Bitrix\Sale\PaySystem\ServiceHandler). - הגדרת webhooks ובדיקות idempotency.
- יישום החזרים מלאים וחלקיים באמצעות
\Stripe\Refund. - תמיכה ב-3D Secure (Checkout כולל זאת אוטומטית).
- הפעלת Apple Pay ו-Google Pay (אימות דומיין באמצעות קובץ
.well-known/apple-developer-merchantid-domain-association). - בדיקות על מפתחות בדיקה וחיים.
- תיעוד מלא והדרכת צוות.
- אחריות לעיבוד תשלומים תקין—כל השילובים עוברים בדיקות עומס.
יצירת Checkout Session
\Stripe\Stripe::setApiKey($secretKey);
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => 'eur',
'unit_amount' => $amountInCents,
'product_data' => ['name' => 'Заказ №' . $orderId],
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => $successUrl . '?session_id={CHECKOUT_SESSION_ID}',
'failure_url' => $cancelUrl,
'metadata' => ['bitrix_order_id' => $orderId],
]);\Stripe\Stripe::setApiKey($secretKey); $session = \Stripe\Checkout\Session::create([ 'payment_method_types' => ['card'], 'line_items' => [[ 'price_data' => [ 'currency' => 'eur', 'unit_amount' => $amountInCents, 'product_data' => ['name' => 'Заказ №' . $orderId], ], 'quantity' => 1, ]], 'mode' => 'payment', 'success_url' => $successUrl . '?session_id={CHECKOUT_SESSION_ID}', 'failure_url' => $cancelUrl, 'metadata' => ['bitrix_order_id' => $orderId], ]); הוא placeholder של Stripe שמחליף את המזהה האמיתי. ב-{CHECKOUT_SESSION_ID}, אנו מאמתים אותו מול ההזמנה.
טיפול ב-Webhooks
Webhooks חשובים יותר מאשר processRequest()—הלקוח עלול לסגור את הטאב לפני ההפניה. Stripe שולח success_url ללא קשר להתנהגות הדפדפן. מידע נוסף על webhooks בויקיפדיה.
בדיקות חובה:
- אימות חתימה באמצעות כותרת
checkout.session.completed—אחרת כל אחד יכול לזייף תשלום. - Idempotency—בדיקת הסטטוס הנוכחי ב-
Stripe-Signatureלפני שינוי סטטוס ההזמנה. - החזרת
b_sale_orderתוך 3 שניות—אחרת Stripe ינסה לשלוח שוב.
הירשמו לאירועים: 200 OK, checkout.session.completed, payment_intent.payment_failed. פרטים נוספים בתיעוד של Stripe.
דוגמת webhook עבור checkout.session.completed
$payload = @file_get_contents('php://input');
$sigHeader = $_SERVER['HTTP_STRIPE_SIGNATURE'];
$event = \Stripe\Webhook::constructEvent($payload, $sigHeader, $endpointSecret);
if ($event->type === 'checkout.session.completed') {
$session = $event->data->object;
$orderId = $session->metadata->bitrix_order_id;
// Логика обновления статуса заказа
} החזרים והחזרים חלקיים
$refund = \Stripe\Refund::create([
'payment_intent' => $paymentIntentId,
'amount' => $refundAmountInCents,
'reason' => 'requested_by_customer',
]);Stripe מאפשר מספר החזרים חלקיים עד לסכום המלא של העסקה.
השוואה בין Checkout ל-Elements
| קריטריון | Checkout | Elements |
|---|---|---|
| מאמץ | 3–4 ימים | 5–7 ימים |
| התאמה אישית | מוגבלת | מלאה |
| PCI DSS | לא נדרש | לא נדרש |
| Apple/Google Pay | אוטומטי | הגדרה נוספת |
לפי הנתונים שלנו, Checkout חוסך עד 40% מזמן הפיתוח והבדיקות. אם אינכם בטוחים מה לבחור, צרו קשר—אנו נבחר את האפשרות הטובה ביותר לתקציב וללוח הזמנים שלכם.
לוחות זמנים
| אפשרות | זמן |
|---|---|
| Checkout | 3–4 ימים |
| Elements | 5–7 ימים |
| + מנויים | +3–5 ימים |
| + Apple/Google Pay | +1–2 ימים |
הגדרות בלוח הניהול של Bitrix
| פרמטר | מקור |
|---|---|
| Publishable Key | Stripe Dashboard → API keys |
| Secret Key | Stripe Dashboard → API keys |
| Webhook Secret | Stripe Dashboard → Webhooks |
| מצב | test/live ב-Dashboard |
למה Stripe הוא הפתרון האופטימלי עבור Bitrix?
למעלה מ-50 שילובי מערכות תשלום שהושלמו. ניסיון רב שנים עם Bitrix—מאז הגרסאות המוקדמות של הפלטפורמה. אנו מבטיחים: לאחר הפריסה, התשלומים פועלים בצורה חלקה, ההחזרים פועלים כראוי, ואתם מקבלים תיעוד מלא. צרו קשר לייעוץ—אנו נעריך את הפרויקט שלכם ונציע את הפתרון הטוב ביותר. הזמינו ביקורת של המערכת הנוכחית שלכם או פיתוח מאפס.
מחירים וחיסכון
עלות אינטגרציה טיפוסית מתחילה מ-€500 עבור Checkout ו-€800 עבור Elements. הלקוחות שלנו חוסכים עד 40% מזמן הפיתוח בהשוואה לפתרונות מותאמים אישית. Checkout עדיף פי 3 על Elements מבחינת מאמץ היישום. לשילוב חלק של Stripe עם Bitrix, ודאו שאתם מטפלים ב-Stripe webhooks כראוי. השילוב הזה של Stripe ו-Bitrix מספק מערכת תשלום חזקה.

