פלטפורמת PayPal Commerce עבור 1C-Bitrix: אינטגרציה מותאמת אישית

מודולי PayPal מיושנים ב-1C-Bitrix כבר לא עומדים בדרישות הסחר הבינלאומי, וגורמים לכשלי תשלום ואובדן הזמנות. אנחנו בונים אינטגרציה מותאמת אישית של PayPal Commerce Platform, המותאמת במלואה לעסק שלך. הצוות שלנו מספק את הפרויקט במפתח מלא—מבדיקה והגדרה ועד פריסה ותמיכה שוטפת, תוך הבטחת פעילות אמינה של מערכת התשלומים.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
פלטפורמת PayPal Commerce עבור 1C-Bitrix: אינטגרציה מותאמת אישית
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

בעיה: מודול PayPal מיושן ב-Bitrix

PayPal הוא כלי מרכזי לסחר בינלאומי, אך 1C-Bitrix חסר מודול מובנה מודרני. ה-PayPal Standard הישן הוצא משימוש, ו-PayPal Express Checkout הוחלף בפלטפורמת PayPal Commerce (PPCP). השלמנו למעלה מ-50 אינטגרציות של מערכות תשלום. לקוח אחד, לפני המעבר ל-PPCP, איבד עד 15% מההזמנות עקב שגיאות תשלום. לפי PayPal, פלטפורמת Commerce מטפלת ב-60% מכלל התשלומים דרך שירות זה.

מדוע אינטגרציה מותאמת אישית עדיפה

פיתוח מותאם אישית מעניק שליטה מלאה: אתם בוחרים אמצעי תשלום, מטפלים ב-webhooks ומעבדים החזרים. בפועל, אינטגרציות כאלה מפחיתות שגיאות תשלום ב-30–40% בהשוואה למודולים מיושנים. אחד מלקוחותינו קיצץ עלויות תפעול לעיבוד החזרים בכמעט חצי — באמצעות אוטומציה ופחות מקרי הונאה. החיסכון בעמלות PayPal יכול להגיע ל-30% עם הגדרה נכונה. ערך ההזמנה הממוצע להזמנות בינלאומיות לאחר חיבור PPCP עולה ב-25%, והאינטגרציה מחזירה את עצמה תוך 3 חודשים.

כיצד לחבר את PayPal Commerce Platform ל-1C-Bitrix

פלטפורמת PayPal Commerce (PPCP) משלבת מספר אמצעי תשלום:

  • כרטיסים (Visa/Mastercard/AmEx) ללא חשבון PayPal (Guest Checkout);
  • תשלום דרך חשבון PayPal של הקונה;
  • Pay Later (BNPL) במדינות נתמכות;
  • Venmo (ארה"ב בלבד).

כדי להתחבר, החנות נרשמת כסוחר דרך תוכנית השותפים של PayPal או ישירות ב-business.paypal.com. אנו מסייעים בהגדרה ומשיגים את ה-CLIENT_ID וה-CLIENT_SECRET הנדרשים.

שתי אפשרויות יישום

PayPal Checkout (כפתורים חכמים). ה-JavaScript SDK של PayPal מוטמע בדף התשלום. הקונה לוחץ על כפתור PayPal, מאמת בחלון קופץ, וחוזר לאתר. נתוני הכרטיס לעולם לא נוגעים בשרת הסוחר. מתאים לרוב החנויות.

Orders API (צד שרת). ההזמנה נוצרת בשרת דרך POST /v2/checkout/orders, הקונה מאשר אותה, והשרת לוכד כספים דרך POST /v2/checkout/orders/{id}/capture. יותר שליטה, נדרש לזרימות מותאמות אישית ומנויים.

ארכיטקטורת המודול ב-Bitrix

מטפל מערכת התשלום מרחיב את \Bitrix\Sale\PaySystem\ServiceHandler. הפרמטרים מאוחסנים ב-b_sale_pay_system_action: CLIENT_ID, CLIENT_SECRET, ENVIRONMENT (sandbox/live).

קבלת אסימון גישה:

$response = $httpClient->post(
    $baseUrl . '/v1/oauth2/token',
    ['grant_type' => 'client_credentials'],
    ['Authorization' => 'Basic ' . base64_encode($clientId . ':' . $clientSecret)]
);
$accessToken = $response['access_token'];

יצירת הזמנה (Orders API v2):

$order = $httpClient->post($baseUrl . '/v2/checkout/orders', [
    'intent' => 'CAPTURE',
    'purchase_units' => [[
        'reference_id' => 'order_' . $bitrixOrderId,
        'amount' => [
            'currency_code' => 'USD',
            'value' => '99.00',
        ],
    ]],
    'application_context' => [
        'return_url' => $returnUrl,
        'cancel_url' => $cancelUrl,
    ],
]);

הקונה מופנה ל-$response = $httpClient->post( $baseUrl . '/v1/oauth2/token', ['grant_type' => 'client_credentials'], ['Authorization' => 'Basic ' . base64_encode($clientId . ':' . $clientSecret)] ); $accessToken = $response['access_token']; . לאחר החזרה, אנו קוראים ל-$order = $httpClient->post($baseUrl . '/v2/checkout/orders', [ 'intent' => 'CAPTURE', 'purchase_units' => [[ 'reference_id' => 'order_' . $bitrixOrderId, 'amount' => [ 'currency_code' => 'USD', 'value' => '99.00', ], ]], 'application_context' => [ 'return_url' => $returnUrl, 'cancel_url' => $cancelUrl, ], ]); .

כפתורים חכמים ב-JavaScript

לגישת Checkout, ה-JS SDK מתווסף לדף הרכיב links[rel=approve].href:

<script src="https://www.paypal.com/sdk/js?client-id=CLIENT_ID&currency=USD"></script>
<div id="paypal-button-container"></div>
<script>
  paypal.Buttons({
    createOrder: function(data, actions) {
      return fetch('/api/paypal/create-order', {method: 'POST'})
        .then(r => r.json())
        .then(d => d.id);
    },
    onApprove: function(data, actions) {
      return fetch('/api/paypal/capture-order/' + data.orderID, {method: 'POST'})
        .then(r => r.json())
        .then(d => {
          if (d.status === 'COMPLETED')
            window.location = '/order/success/';
        });
    }
  }).render('#paypal-button-container');
</script>

בצד Bitrix, נוצרים שני נקודות קצה AJAX: create-order (מתחיל הזמנה ב-PayPal, מחזיר id) ו-capture-order (לוכד כספים, מעדכן סטטוס ב-POST /v2/checkout/orders/{id}/capture).

Webhooks והחזרים

PayPal שולח התראות דרך Webhooks v2. הירשמו לאירועים ב-PayPal Developer Dashboard. אירועים נדרשים:

  • sale.order.ajax — מאשר לכידת כספים
  • <script src="https://www.paypal.com/sdk/js?client-id=CLIENT_ID&currency=USD"></script> <div id="paypal-button-container"></div> <script> paypal.Buttons({ createOrder: function(data, actions) { return fetch('/api/paypal/create-order', {method: 'POST'}) .then(r => r.json()).then(d => d.id); }, onApprove: function(data, actions) { return fetch('/api/paypal/capture-order/' + data.orderID, {method: 'POST'}) .then(r => r.json()).then(d => { if (d.status === 'COMPLETED') window.location = '/order/success/'; }); } }).render('#paypal-button-container'); </script> — דחייה
  • b_sale_order — החזר

אימות חתימת ה-webhook:

$result = \PayPalHttp\HttpClient::verifyWebhookSignature( $webhookId, $headers, $body, $accessToken ); 

החזר דרך PAYMENT.CAPTURE.COMPLETED. PAYMENT.CAPTURE.DENIED נשמר ב-PAYMENT.CAPTURE.REFUNDED בעת לכידה.

$refund = $httpClient->post(
    $baseUrl . '/v2/payments/captures/' . $captureId . '/refund',
    ['amount' => ['value' => '25.00', 'currency_code' => 'USD']]
);

החזר מלא — גוף בקשה ריק, PayPal מחזיר את כל הסכום שנתפס.

כיצד לבדוק את PayPal ב-Sandbox

ב-PayPal Developer Dashboard, צרו חשבונות sandbox: סוחר אחד (business), קונה אחד (personal). כרטיסי בדיקה זמינים ב-Sandbox → Accounts → buyer → Credit Cards. ה-sandbox מבודד לחלוטין — עסקאות אינן משפיעות על כסף אמיתי.

תרחיש כיצד לבדוק
תשלום מוצלח חשבון personal ב-sandbox, יתרה > סכום הזמנה
יתרה לא מספקת חשבון sandbox עם יתרת אפס
ביטול קונה סגירת חלון PayPal, בדיקת cancel_url
החזר דרך API לאחר לכידה מוצלחת

מה כלול

  • פיתוח מטפל תשלום לגרסת Bitrix שלכם
  • אינטגרציה של כפתורים חכמים ב-JavaScript לרכיב התשלום
  • הגדרת webhooks ועדכוני סטטוס הזמנה אוטומטיים
  • הגדרת סביבת בדיקת sandbox ובדיקת כל התרחישים
  • מסירת תיעוד וגישה, הדרכה למנהל שלכם
  • אחריות ל-6 חודשים על המודול — אנחנו תמיד זמינים

מדוע להזמין אינטגרציה מאיתנו?

אחד מלקוחותינו, חנות אלקטרוניקה מקוונת המשרתת את אירופה, סבל מהמרת מכירות נמוכה בהזמנות בינלאומיות עקב חוסר באמצעי תשלום נוחים. חיברנו PPCP עם כפתורים חכמים וריבוי מטבעות. תוצאה: PayPal היווה 45% מכלל העסקאות הבינלאומיות, ושגיאות התשלום ירדו ב-38% בהשוואה לשער הקודם. למידע, פלטפורמת PayPal Commerce אמינה פי שניים מה-Standard המיושן מבחינת עסקאות מוצלחות (ויקיפדיה).

טעויות נפוצות באינטגרציה עצמית

  • שימוש בנקודות קצה מיושנות (PayPal Standard): שינויי API, המודול מפסיק לעבוד
  • חוסר אימות webhook — אפשרות להתראות מזויפות
  • אחסון שגוי של captureId — חוסר יכולת לעבד החזרים
  • התעלמות מבדיקות sandbox — בעיות בסביבת הייצור

לוחות זמנים משוערים

אפשרות היקף לוח זמנים
כפתורים חכמים + לכידה מודול + ווידג'ט JS + בדיקות 4–6 ימים
מלא בצד שרת (Orders API) ללא תלות ב-JS, רק API 4–5 ימים
+ מנויים חיוב חוזר דרך Subscriptions API +3–4 ימים
+ ריבוי מטבעות לוגיקת בחירת מטבע, הגדרת PayPal +1–2 ימים

צרו קשר להערכת עלות מדויקת לפרויקט שלכם. יש לנו מומחי Bitrix מוסמכים וניסיון באינטגרציה עם PayPal, YooKassa, 1C ומערכות אחרות. קבלו ייעוץ — נמצא את הפתרון האופטימלי לחנות שלכם.

מדריך אינטגרציה שלב אחר שלב 1. הרשמו כסוחר PayPal Business. 2. קבלו CLIENT_ID ו-CLIENT_SECRET. 3. צרו מטפל מותאם אישית ב-Bitrix. 4. הגדירו כפתורים חכמים ב-JavaScript בדף התשלום. 5. הירשמו ל-webhooks ובדקו את כל התרחישים.