פיתוח פונקציונליות אשראי על 1C-Bitrix

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

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

שאלות נפוצות

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1460
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    פיתוח אתר לחברת FIXPER
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    763
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • image_crm_dolbimby_434_0.webp
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    809
  • image_crm_technotorgcomplex_453_0.webp
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1164

פיתוח פונקציונליות אשראי על 1C-Bitrix

אשראי מובנה למוצרים יקרים

או, גרוע מכך, הם עוקבים אחרי פרסומת לאתר הבנק והולכים לאיבוד בין טפסים. אנחנו פותרים את הבעיה הזו: אנו מטמיעים אשראי ישירות בחנות המקוונת שלך על 1C-Bitrix. הלקוח ממלא רק 2 שדות, מקבל החלטה תוך דקה, ומשלים את הרכישה ללא הפניות חיצוניות. טכנית, מדובר באינטגרציה עם REST APIs של הבנק, התאמה אישית של תהליך התשלום, וטיפול ב-webhooks ובסטטוסי הזמנות. אין מודול אשראי מובנה בליבת Bitrix – היישום בנוי על גבי sale ואינו משפיע על עדכוני המערכת. עלות הפיתוח מתחילה מ-$1,500 עבור אינטגרציה עם בנק אחד.

לפי מחקרי שוק, 65% מהלקוחות מעדיפים אשראי מובנה, ואשראי מובנה טוב פי 2.5 מהפניות לבנק מבחינת המרה. הטמעת אשראי מגדילה את הסל הממוצע ב-30% ומפחיתה את שיעור נטישת העגלה למוצרים במחיר גבוה ב-40%.

איך עובדת אינטגרציית האשראי?

הקוד שלנו מהיר פי 3 לפריסה מאשר פיתוח פנימי, הודות לתבניות מוכנות מראש ו-PSR-4 autoloading. האינטגרציה משתמשת במפתחות idempotency למניעת בקשות כפולות וב-OAuth 2.0 client credentials grant לתקשורת בנקאית מאובטחת.

אילו בנקים ניתן לשלב?

שותפי אשראי עיקריים לשוק הרוסי:

בנק / שירות סוג API וידג'ט תשלומים חוזרים
Tinkoff Credit REST + SDK כן לא
Sberbank Online REST + iframe כן לא
Почта Банк / Eastern Bank REST לא לא
MTS Bank REST + JS SDK כן לא

לכל בנק יש סביבת sandbox ודורש הסכם סליקה נפרד. טכנית, האינטגרציות דומות: שליחת עגלה → קבלת application_id → הטמעת וידג'ט → המתנה ל-webhook. שילבנו מעל 50 פרויקטים במספר בנקים.

איך האינטגרציה מתוכננת?

איך להוסיף כפתור 'קנה באשראי'?

נוסף על ידי עקיפת תבנית הרכיב catalog.element ב-/local/templates/. אנחנו לא נוגעים בליבה – רק בתבנית וב-JS handler.

מחלקת wrapper ל-API של הבנק:

namespace Local\Credit; class TinkoffCreditClient { private string $shopId; private string $secretKey; private string $baseUrl = 'https://api.tinkoff.ru/v1/credit/'; public function createApplication(array $order): array { $payload = [ 'shopId' => $this->shopId, 'orderNumber' => $order['ID'], 'sum' => $order['PRICE'], 'items' => $this->buildItems($order['BASKET']), 'customer' => [ 'email' => $order['USER_EMAIL'], 'phone' => $order['USER_PHONE'], ], ]; $response = $this->post('create', $payload); return $response; // ['applicationId' => '...', 'redirectUrl' => '...'] } private function buildItems(array $basket): array { return array_map(fn($item) => [ 'name' => $item['NAME'], 'quantity' => (int)$item['QUANTITY'], 'price' => (float)$item['PRICE'], 'sku' => $item['PRODUCT_ID'], ], $basket); } } 

יצירת הזמנה וקישור בקשת האשראי

תהליך סטנדרטי: הקונה בוחר אשראי → אנו יוצרים הזמנת "רזרבה" בסטטוס namespace Local\Credit; class TinkoffCreditClient { private string $shopId; private string $secretKey; private string $baseUrl = 'https://api.tinkoff.ru/v1/credit/'; public function createApplication(array $order): array { $payload = [ 'shopId' => $this->shopId, 'orderNumber' => $order['ID'], 'sum' => $order['PRICE'], 'items' => $this->buildItems($order['BASKET']), 'customer' => [ 'email' => $order['USER_EMAIL'], 'phone' => $order['USER_PHONE'], ], ]; $response = $this->post('create', $payload); return $response; // ['applicationId' => '...', 'redirectUrl' => '...'] } private function buildItems(array $basket): array { return array_map(fn($item) => [ 'name' => $item['NAME'], 'quantity' => (int)$item['QUANTITY'], 'price' => (float)$item['PRICE'], 'sku' => $item['PRODUCT_ID'], ], $basket); } } , מקבלים CREDIT_PENDING מהבנק, ושומרים אותו במאפיין הזמנה.

// Создать заказ в статусе ожидания кредита $order = \Bitrix\Sale\Order::create(SITE_ID, $userId); $order->setPersonTypeId($personTypeId); // ... заполнить корзину, адрес ... // Добавить кастомное свойство заказа $propCollection = $order->getPropertyCollection(); $propCreditId = $propCollection->getItemByOrderPropertyCode('CREDIT_APPLICATION_ID'); $propCreditId->setValue($applicationId); $order->setField('STATUS_ID', 'CR'); // Кастомный статус «На рассмотрении кредита» $order->save(); 

המאפיין applicationId נוצר מראש ב-// Создать заказ в статусе ожидания кредита $order = \Bitrix\Sale\Order::create(SITE_ID, $userId); $order->setPersonTypeId($personTypeId); // ... заполнить корзину, адрес ... // Добавить кастомное свойство заказа $propCollection = $order->getPropertyCollection(); $propCreditId = $propCollection->getItemByOrderPropertyCode('CREDIT_APPLICATION_ID'); $propCreditId->setValue($applicationId); $order->setField('STATUS_ID', 'CR'); // Кастомный статус «На рассмотрении кредита» $order->save(); (סוג – מחרוזת, קוד – CREDIT_APPLICATION_ID). בטבלת Магазин → Настройки → Свойства заказа, מופיע רשומה המקושרת להזמנה.

Webhook: טיפול בהחלטת הבנק

הבנק שולח POST ל-endpoint CREDIT_APPLICATION_ID (או נתיב Laravel אם נעשה בו שימוש). חשוב לוודא את חתימת הבקשה:

// /local/ajax/credit_webhook.php \Bitrix\Main\Loader::includeModule('sale'); $body = file_get_contents('php://input'); $payload = json_decode($body, true); $sign = $_SERVER['HTTP_X_TINKOFF_SIGN'] ?? ''; // Проверка HMAC-SHA256 $expected = hash_hmac('sha256', $body, TINKOFF_SECRET_KEY); if (!hash_equals($expected, $sign)) { http_response_code(403); exit; } $applicationId = $payload['applicationId']; $status = $payload['status']; // APPROVED, REJECTED, SIGNED, CANCELLED // Найти заказ по applicationId $orderProps = \Bitrix\Sale\Internals\OrderPropsValueTable::getList([ 'filter' => ['CODE' => 'CREDIT_APPLICATION_ID', 'VALUE' => $applicationId], 'select' => ['ORDER_ID'], ])->fetch(); if ($orderProps) { $order = \Bitrix\Sale\Order::load($orderProps['ORDER_ID']); match ($status) { 'APPROVED', 'SIGNED' => $order->setField('STATUS_ID', 'N'), // Новый 'REJECTED' => $order->setField('STATUS_ID', 'CN'), // Отменён default => null, }; $order->save(); } http_response_code(200); echo json_encode(['ok' => true]); 

חשבון אישי: סטטוס אשראי

עמוד b_sale_order_props_value – רשימת בקשות אשראי שהונפקו עם סטטוס נוכחי. הנתונים נלקחים ממאפייני הזמנה המסוננים לפי /local/ajax/credit_webhook.php ו-// /local/ajax/credit_webhook.php \Bitrix\Main\Loader::includeModule('sale'); $body = file_get_contents('php://input'); $payload = json_decode($body, true); $sign = $_SERVER['HTTP_X_TINKOFF_SIGN'] ?? ''; // Проверка HMAC-SHA256 $expected = hash_hmac('sha256', $body, TINKOFF_SECRET_KEY); if (!hash_equals($expected, $sign)) { http_response_code(403); exit; } $applicationId = $payload['applicationId']; $status = $payload['status']; // APPROVED, REJECTED, SIGNED, CANCELLED // Найти заказ по applicationId $orderProps = \Bitrix\Sale\Internals\OrderPropsValueTable::getList([ 'filter' => ['CODE' => 'CREDIT_APPLICATION_ID', 'VALUE' => $applicationId], 'select' => ['ORDER_ID'], ])->fetch(); if ($orderProps) { $order = \Bitrix\Sale\Order::load($orderProps['ORDER_ID']); match ($status) { 'APPROVED', 'SIGNED' => $order->setField('STATUS_ID', 'N'), // Новый 'REJECTED' => $order->setField('STATUS_ID', 'CN'), // Отменён default => null, }; $order->save(); } http_response_code(200); echo json_encode(['ok' => true]); . במידת הצורך, כפתור "בדוק סטטוס" שולח שאילתה ל-API של הבנק.

הגברת המרה עם אשראי

סטטיסטיקות מראות: אשראי מובנה טוב פי 2.5 מהפניות לבנק מבחינת המרה. המשתמש נשאר במשפך שלך, לא מוסח על ידי הרשמה בממשק אחר. יתר על כן, אתה שולט במראה ובתחושה – מהכפתור ועד לחשבון האישי. סוחרים מדווחים על הפחתה של 40% בנטישת עגלה למוצרים במחיר גבוה.

דרישות הבנק המרכזי והיבטים משפטיים

לפי החוק "על אשראי צרכני" (353-FZ), בעמוד המוצר יש להציג:

  • עלות אשראי כוללת (TCC) בדולרים ושיעור ריבית שנתית.
  • סכום ההיוון.
  • מספר וסכום התשלומים.

הבנק מחזיר נתונים אלה בתשובה ליצירת הבקשה או בשיטת API נפרדת /personal/credit/. יש להציגם לפני שהמשתמש לוחץ על "הגש בקשה לאשראי".

$terms = $creditClient->getTerms($productPrice); // Вернёт: ['monthly_payment' => 2500, 'rate' => 12.9, 'psk' => 15.4, 'total' => 30000] 

תבנית בלוק:

Кредит на 12 месяцев: ├── Ежемесячный платёж: $22–32 ├── Ставка: 12,9% годовых ├── Переплата: $40–58 └── ПСК: 15,4% годовых 

טעויות נפוצות ופתרונות

  • חוסר אימות חתימת webhook – פרצת אבטחה. תמיד בדוק HMAC.
  • טיפול שגוי בביטול הזמנה לפני חתימה. קרא ל-API של הבנק CODE = 'CREDIT_APPLICATION_ID'.
  • חוסר TCC בעמוד המוצר מוביל לקנסות לפי 353-FZ. הצג את כל השדות החובה.
  • אין אסטרטגיה למספר בנקים. אנו מיישמים את תבנית Strategy: USER_ID עם מתודות /v1/credit/terms, $terms = $creditClient->getTerms($productPrice); // Вернёт: ['monthly_payment' => 2500, 'rate' => 12.9, 'psk' => 15.4, 'total' => 30000] , Кредит на 12 месяцев: ├── Ежемесячный платёж: $22–32 ├── Ставка: 12,9% годовых ├── Переплата: $40–58 └── ПСК: 15,4% годовых , /v1/credit/cancel.
איך לבדוק את האינטגרציה?

השתמש בסביבות sandbox של הבנק. עבור Tinkoff – test shopId ו-secretKey. צור הזמנה, בדוק webhook עם סטטוסים שונים. ודא שסטטוסי ההזמנה משתנים כראוי. בדוק ביטול והחזר כספי.

תהליך ולוח זמנים לפיתוח

מה כלול בפיתוח

  1. ביקורת על מערכת התשלומים והעגלה הנוכחית.
  2. בחירת בנק שותף, קבלת shopId, secretKey.
  3. פיתוח מחלקת wrapper ל-API (בנק אחד או כמה).
  4. אינטגרציה של הווידג'ט לכרטיס המוצר ולתשלום.
  5. יצירת endpoint ל-webhook עם אימות חתימה.
  6. שיפור החשבון האישי: היסטוריית בקשות אשראי, סטטוסים.
  7. טיפול בהחזרים כספיים וביטולים.
  8. בדיקות בסביבת sandbox ובסביבת ייצור.
  9. תיעוד והדרכה למנהלים שלך.
  10. תמיכה באחריות ל-30 יום.

לוח זמנים ועלות פיתוח

אפשרות היקף זמן עלות (החל מ-)
בנק אחד, תהליך בסיסי כפתור + וידג'ט + webhook, סטטוס הזמנה 4–7 ימים $1,500
תהליך מלא עם החזרים Webhook, ביטולים, החזרים, חשבון לקוח 8–12 ימים $3,500
מספר בנקים ארכיטקטורת Strategy, תצורה 12–18 ימים $6,000

הצוות שלנו מורכב ממומחי 1C-Bitrix מוסמכים עם ניסיון של 10+ שנים. השלמנו מעל 50 פרויקטים של שילוב מערכות תשלום ואשראי. אנו מבטיחים שהקוד לא ישבר בעדכוני Bitrix – כל השינויים נמצאים ב-CreditProviderInterface. צור קשר לקבלת הערכת פרויקט תוך יום עסקים אחד. כל מה שאנחנו צריכים זה גישה לפאנל הניהול וידיעה עם איזה בנק אתה רוצה לעבוד. קבל ייעוץ לפרויקט שלך היום.