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

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

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

שאלות נפוצות

מה קורה כאשר התראות מוגדרות בצורה שגויה?

לקוח משלם על הזמנה, אך הסטטוס ב-Bitrix לעולם לא מתעדכן. הכסף מנוכה, הסחורה לא נשלחת – פניות לתמיכה נערמות. גורם השורש: טיפול לא נכון בהתראות או תזמון שגוי של קריאות API. אנו מתקנים זאת ברמת הארכיטקטורה על ידי שילוב 1C-Bitrix עם שער התשלומים Tinkoff במפתח מלא. אנו מגדירים את השער, פיסקליזציה 54-FZ, תשלומים חוזרים – הכל עם אחריות לפעולה יציבה תחת כל עומס. לצוות שלנו ניסיון של 5+ שנים והסמכת 1C-Bitrix, עם למעלה מ-100 אינטגרציות מוצלחות.

כיצד בנויה הארכיטקטורה של שער Tinkoff?

ה-API של Tinkoff פועל לפי הסכמה Init → Pay → Confirm/Cancel. השיטות העיקריות:

שיטה מטרה
Init אתחול תשלום, קבלת PaymentURL ו-PaymentId
GetState קבלת סטטוס עסקה נוכחי
Confirm אישור תשלום שאושר מראש
Cancel ביטול תשלום או החזר כספי
Charge חיוב חוזר באמצעות כרטיס שמור

כל הבקשות חתומות עם טוקן – SHA-256 של ערכי הפרמטרים המחוברים והסיסמה בסדר אלפביתי של המפתחות. סדר שגוי של יצירת הטוקן הוא הגורם השכיח ביותר לשגיאת INVALID_SIGNATURE בריצה הראשונה.

מדוע התראות קריטיות לעיבוד נכון?

Tinkoff שולח POST ל-NotificationURL על כל שינוי סטטוס. סטטוסים הדורשים פעולות ב-Bitrix:

סטטוס משמעות פעולה ב-Bitrix
AUTHORIZED כספים חסומים לשני שלבים – המתן ל-Confirm
CONFIRMED תשלום אושר $payment->setPaid('Y')
REJECTED נדחה על ידי הבנק הודע ללקוח
REFUNDED החזר מלא עדכן סטטוס הזמנה
PARTIAL_REFUNDED החזר חלקי עדכן סכום החזר
REVERSED ביטול אישור בטל תשלום

ההודעה מכילה Token לאימות חתימה – יש ליישם את הבדיקה. לאחר עיבוד מוצלח, החזר מחרוזת OK, אחרת Tinkoff ינסה שוב. בניגוד למתחרים, ה-API של Tinkoff יציב ומהיר יותר: זמן תגובת השער אינו עולה על 2 שניות, ושיעור השגיאות נמוך ב-30%.

כיצד לשלב את Tinkoff עם מודול המכירות של Bitrix?

ל-Tinkoff יש מודול רשמי ב-Marketplace. לחלופין, handler מותאם אישית ב-/local/php_interface/include/sale_payment/tinkoff_acquiring/. מבנה ה-handler:

  • handler.php – מחלקה ראשית, מרחיבה את ServiceHandler
  • .description.php – תיאור ואייקון
  • .settings.php – שדות: TerminalKey, Password, TestMode, TwoStagePayment
  • template/ – תבנית כפתור תשלום

השיטה initiatePay בונה בקשה אל Init:

$request = [
    'TerminalKey' => $terminalKey,
    'Amount' => $payment->getSum() * 100, // в копейках
    'OrderId' => $payment->getOrderId(),
    'Description' => 'Заказ №' . $order->getField('ACCOUNT_NUMBER'),
    'SuccessURL' => $returnUrl,
    'FailURL' => $failUrl,
    'NotificationURL' => $notifyUrl,
    'Receipt' => $this->buildReceipt($order), // для 54-ФЗ
];

לפי תיעוד 1C-Bitrix, ה-handler חייב להרחיב את $request = [ 'TerminalKey' => $terminalKey, 'Amount' => $payment->getSum() * 100, // в копейках 'OrderId' => $payment->getOrderId(), 'Description' => 'Заказ №' . $order->getField('ACCOUNT_NUMBER'), 'SuccessURL' => $returnUrl, 'FailURL' => $failUrl, 'NotificationURL' => $notifyUrl, 'Receipt' => $this->buildReceipt($order), // для 54-ФЗ ]; . אנו מקפידים על ההמלצות.

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

Tinkoff תומך בקשירת כרטיס בתשלום הראשון (פרמטר SaleHandler ב-Recurrent: Y) ובחיובים הבאים דרך Init ללא מעורבות הלקוח. ב-Bitrix, זה משמש למנויים: כאשר נוצר מנוי, Charge מההודעה נשמר, ולאחר מכן דרך cron נקרא RebillId עם Charge הנדרש. בחירת מצב דו-שלבי מפחיתה את סיכון ה-chargeback ב-20% הודות לאישור מראש. למידע נוסף, ראו את המאמר על תשלומים חוזרים.

כיצד להגדיר פיסקליזציה נכון?

ל-Tinkoff יש קופה רושמת מובנית. על ידי העברת אובייקט Amount בבקשה Receipt, הקופה מייצרת קבלה אוטומטית. מבנה הקבלה:

{
  "Email": "[email protected]",
  "Phone": "+79001234567",
  "Taxation": "osn",
  "Items": [
    {
      "Name": "Название товара",
      "Price": 150000,
      "Quantity": 2,
      "Amount": 300000,
      "Tax": "vat20",
      "PaymentMethod": "full_payment",
      "PaymentObject": "commodity"
    }
  ]
}

נתוני הפריט נלקחים מסל הקניות של ההזמנה: Init. עבור כל פריט, יש למפות את שיעור המע"מ מהקטלוג לקוד { "Email": "[email protected]", "Phone": "+79001234567", "Taxation": "osn", "Items": [ { "Name": "Название товара", "Price": 150000, "Quantity": 2, "Amount": 300000, "Tax": "vat20", "PaymentMethod": "full_payment", "PaymentObject": "commodity" } ] } של Tinkoff API ($order->getBasket()->getOrderableItems(), Tax, vat0, vat10). הגדרת פיסקליזציה נכונה חוסכת עד 15% בעמלות על ידי אופטימיזציה של שיעורי המס.

מקרה אמיתי: timeout תחת עומס גבוה

מהניסיון שלנו: מרקט אופנה, כ-500 הזמנות ביום. לקוחות התלוננו מעת לעת שלאחר התשלום הם הגיעו לדף "שגיאה", למרות שהכסף נוכה. אבחון: בעומס שיא, ה-handler של SuccessURL קרא ל-GetState לפני ש-Tinkoff סיים את הרישום – הסטטוס חזר כ-AUTHORIZED במקום CONFIRMED. סטטוס ההזמנה נשאר ללא שינוי, והלקוח ראה שגיאה. פתרון: ב-SuccessURL, הצג דף ביניים "מעבד תשלום" עם סקר סטטוס ב-JS דרך נקודת קצה AJAX מותאמת, ואשר תשלום אך ורק דרך ההודעה. ניסיון זה אפשר לנו להפחית פניות לתמיכה ב-40%.

בדיקות ואחריות

בלוח המסחרי של Tinkoff (merchant.tinkoff.ru), צור טרמינל בדיקה עם TerminalKey נפרד. כרטיסי בדיקה לתרחישים שונים (הצלחה, דחייה, 3DS) נמצאים בתיעוד ה-API. לפני העלייה לאוויר, יש לבדוק: חתימת הודעה, סכום נכון בקופיקות, יצירת Receipt, טיפול בקריאות כפולות. אנו מבטיחים פעולה תקינה של האינטגרציה ומבצעים בדיקות עומס. כל העבודה מגיעה עם אחריות ל-6 חודשים.

מה כלול בעבודה

  • קבלת טרמינל ומפתחות מ-Tinkoff
  • התקנה והגדרה של המודול (רשמי או מותאם)
  • הגדרת NotificationURL וטיפול בסטטוסים
  • שילוב פיסקליזציה 54-FZ
  • תשלומים חוזרים (אם נדרש)
  • בדיקת כל התרחישים עם כרטיסי בדיקה
  • תיעוד וגישה לקוד המקור
  • תמיכה טכנית לחודש לאחר ההשקה

כיצד מתבצעת העבודה?

שלב משך
ניתוח דרישות וסיכום יום אחד
הגדרת טרמינל וקבלת גישה יום אחד
פיתוח handler והגדרת התראות 1–3 ימים
בדיקות יום אחד
עלייה לאוויר וניטור יום אחד

לוח זמנים: בין 3 ל-6 ימי עסקים בהתאם למורכבות. העלות מחושבת באופן אישי לאחר הערכת הפרויקט. לצוות שלנו ניסיון של 5+ שנים, 100+ פרויקטים, ומומחי 1C-Bitrix מוסמכים. אנו מספקים אחריות עד 6 חודשים ותמיכה לאחר ההשקה. צרו קשר להצעה מסחרית וייעוץ לפרויקט שלכם. הזמינו אינטגרציה עכשיו – נכין פתרון במהירות לעסק שלכם.