יוצר: @skills-il
תזמור שערי תשלום ישראליים (Cardcom, Tranzila, PayMe, Meshulam, iCredit, Pelecard) עם ניתוב אחיד, fallback ותשלומים. כולל השוואת שערים, טיפול בתשלומים ועמידה בהנחיות בנק ישראל.
npx skills-il add skills-il/tax-and-finance --skill israeli-payment-orchestratorשאלו את המשתמש על צרכי התשלום שלו:
| דרישה | אנגלית | תיאור | השפעה על בחירת שער |
|---|---|---|---|
| תשלומים | Installments | פיצול תשלום לתשלומים חודשיים | לא כל השערים תומכים בכל סוגי התשלומים |
| חיוב חוזר | Recurring | מנוי / הוראת קבע | דורש אחסון טוקנים ואישור שב"א |
| רב-מטבעי | Multi-currency | קבלת ש"ח + מט"ח | תמיכה מוגבלת בשערים |
| דף סליקה | Iframe/redirect | דף תשלום מאוחסן מול מוטמע | משפיע על היקף PCI |
| ביט / אפל פיי | Bit/Apple Pay | אמצעי תשלום חלופיים | אינטגרציות ספציפיות לשער |
| נפח גבוה | High volume | מעל 1,000 עסקאות/יום | נדרשים SLA ו-fallback |
השתמשו ב-scripts/compare_gateways.py ליצירת מטריצת השוואה, או עיינו בטבלה:
| שער | סגנון API | תשלומים | חיוב חוזר | דף מאוחסן | תמיכת ביט | עמלה אופיינית |
|---|---|---|---|---|---|---|
| Cardcom | REST JSON | מלא (רגיל, קרדיט, מועדון) | כן | כן (iframe) | לא | 0.6-0.8% |
| Tranzila | REST/Form POST | רגיל, קרדיט | כן | כן (redirect) | לא | 0.5-0.7% |
| PayMe | REST JSON | רגיל, קרדיט | כן | כן (iframe) | כן | 0.7-1.0% |
| Meshulam | REST JSON | רגיל | כן | כן (iframe + redirect) | כן | 0.6-0.9% |
| iCredit | REST JSON | רגיל, קרדיט | כן | כן (redirect) | לא | 0.5-0.8% |
| Pelecard | REST JSON | רגיל, קרדיט, מועדון | כן | כן (iframe) | לא | 0.5-0.7% |
הערת עמלות: התעריפים אינדיקטיביים. עמלות בפועל תלויות בנפח, ענף ומשא ומתן.
בנו הפשטת תשלום אחידה:
# תבנית ממשק תשלום אחיד
class PaymentRequest:
amount: float # סכום - באגורות
currency: str # מטבע - "ILS" ברירת מחדל
installments: int # תשלומים - 1 = רגיל, 2-36 = תשלומים
installment_type: str # סוג תשלומים - "regular", "credit", "club"
card_token: str # טוקן כרטיס - לחיוב חוזר
description: str # תיאור עסקה
customer_id: str # מזהה לקוח
idempotency_key: str # מפתח אידמפוטנטי - למניעת כפילויות
class PaymentResult:
success: bool
gateway_used: str # שער תשלום שנבחר
transaction_id: str # מזהה עסקה
approval_number: str # מספר אישור
shva_reference: str # מספר שב"א
installment_details: dictהגדירו כללי ניתוב לבחירת השער האופטימלי:
| כלל | עדיפות | לוגיקה | דוגמה |
|---|---|---|---|
| אופטימיזציית עלות | בינונית | נתב לשער הזול ביותר לסוג העסקה | תשלומים קטנים לשער בעמלה הנמוכה ביותר |
| התאמת פיצ'ר | גבוהה | נתב לפי פיצ'רים נדרשים | תשלומי מועדון רק ל-Cardcom/Pelecard |
| זמינות | קריטית | נתב הרחק משערים שנפלו | אם Tranzila למטה, failover ל-Cardcom |
| איזון נפח | נמוכה | פזר עומסים בין שערים | פיצול 60/40 בין ראשי ומשני |
| סוג כרטיס | גבוהה | שערים מסוימים מטפלים טוב יותר בכרטיסים ספציפיים | ניתוב דיינרס |
לסוגי תשלומים ישראליים כללים ספציפיים ברשת שב"א:
| סוג | אנגלית | קוד שב"א | איך עובד | מי משלם ריבית |
|---|---|---|---|---|
| תשלומים רגילים | Regular | 8 | בית העסק מקבל סכום מלא מראש, הבנק גובה מהלקוח חודשית | לקוח (ללא ריבית כברירת מחדל) |
| קרדיט | Credit | 2 | הלקוח משלם לבנק בתשלומים עם ריבית, בית העסק מקבל סכום מלא | לקוח משלם ריבית לבנק |
| מועדון | Club | 3 | תוכנית ספציפית למנפיק (ישראכרט, כאל, מקס) | משתנה לפי תוכנית |
| תשלומים ללא ריבית | Interest-free | 8 | בית העסק מסבסד עלות ריבית | בית העסק סופג עלות |
הערות מימוש:
עצבו עיבוד תשלומים עמיד:
# אסטרטגיית fallback
GATEWAY_PRIORITY = ["cardcom", "tranzila", "payme"]
async def process_with_fallback(request: PaymentRequest) -> PaymentResult:
last_error = None
for gateway_name in GATEWAY_PRIORITY:
gateway = get_gateway(gateway_name)
if not gateway.is_healthy():
continue # דלג על שער לא זמין
try:
result = await gateway.charge(request)
if result.success:
return result
# סירוב בנקאי -- אל תנסו שער אחר
if result.is_bank_decline():
return result
except GatewayTimeoutError:
last_error = f"{gateway_name} timeout"
continue # נסה שער הבא
except GatewayError as e:
last_error = str(e)
continue
raise AllGatewaysFailedError(last_error)חשוב: לעולם אל תנסו שוב סירוב בנקאי (אין כיסוי, כרטיס גנוב וכו') בשער אחר. נסו שוב רק בשגיאות טכניות של שער.
עמדו בדרישות בנק ישראל ושב"א:
| רגולציה | אנגלית | דרישה | השפעה |
|---|---|---|---|
| הוראה 357 | BOI Directive 357 | שמירת נתוני עסקאות, דיווח | שמרו פרטי עסקה 7 שנים |
| תקן PCI | PCI DSS | אבטחת נתוני כרטיס | השתמשו בטוקניזציה, לעולם אל תשמרו מספרי כרטיס מלאים |
| תקנות שב"א | Shva regulations | כללי סליקה וגמר חשבון | עמדו בחלונות סליקה ולוחות זמנים למחלוקות |
| הגנת הצרכן | Consumer Protection | זכויות החזר, תמחור ברור | הציגו תנאי תשלומים בבירור |
| מניעת הונאה | Anti-fraud | 3D Secure, בדיקות מהירות | מימשו 3DS2 לעסקאות ללא נוכחות כרטיס |
המשתמש אומר: "אני צריך לקבל תשלומים עם תשלומים, עם fallback אם שער אחד נופל" פעולות:
python scripts/compare_gateways.py --features installments,recurring
תוצאה: שכבת תזמור עם ניתוב ראשי/גיבוי וטיפול בתשלומיםהמשתמש אומר: "אנחנו משתמשים ב-Tranzila אבל רוצים להוסיף PayMe לתשלומי ביט" פעולות:
המשתמש אומר: "איזה שער הכי זול ל-500 עסקאות יומיות ממוצע 200 ש"ח?" פעולות:
python scripts/compare_gateways.py --volume 500 --avg-amount 200המשתמש אומר: "לקוח רוצה לשלם 5,000 ש"ח ב-10 תשלומים ללא ריבית" פעולות:
scripts/compare_gateways.py -- הפקת מטריצת השוואה של שערי תשלום ישראליים לפי פיצ'רים, עמלות ונפח. הרצה: python scripts/compare_gateways.py --helpreferences/gateway-matrix.md -- השוואת פיצ'רים מפורטת של שערי תשלום ישראליים: פורמטי API, תמיכת תשלומים, חיוב חוזר, דפים מאוחסנים, לוחות זמני גמר חשבון ומבני עמלות. היעזרו בקובץ זה בעת הערכה או החלפת שערים.סיבה: סוג תשלומים מבוקש (קרדיט/מועדון) לא זמין בשער הנבחר פתרון: בדקו יכולות שער בטבלת שלב 2. תשלומי מועדון זמינים רק ב-Cardcom ו-Pelecard. נתבו לשער המתאים.
סיבה: עסקה מפרה כללי רשת שב"א (מספר תשלומים לא חוקי, סכום מתחת למינימום) פתרון: ודאו שמספר התשלומים בטווח המותר. בדקו סכום מינימום לתשלום. ודאו שמטבע העסקה הוא ILS לכרטיסים מקומיים.
סיבה: כל השערים המוגדרים חווים בעיות פתרון: מימשו תבנית circuit breaker עם בדיקות בריאות. שקלו הוספת שער שלישי. נטרו נקודות קצה סטטוס של שערים והתריעו על הידרדרות.
סיבה: לוגיקת ניסיון חוזר שלחה אותו תשלום למספר שערים פתרון: השתמשו תמיד במפתחות אידמפוטנטיים. בדקו סטטוס עסקה לפני ניסיון חוזר. לעולם אל תנסו שוב סירוב בנקאי -- נסו שוב רק בשגיאות טכניות של שער.
סוכנים נתמכים
ניתוח דוחות שנתיים, דיווחים כספיים ודרישות רגולטוריות של חברות ישראליות. שימוש כשצריך לקרוא דוח תקופתי, להבין מונחים פיננסיים בעברית, לנתח דיווחי מאיה, או להבין את דרישות חוק החברות.
ניתוח מניות, מדדים ודיווחים בבורסה לניירות ערך בתל אביב. שימוש כשצריך מידע על מדדי ת"א-35, ת"א-125, ת"א-90, דיווחי מאיה, חברות רישום כפול, או ניתוח סקטורי של הבורסה.
ניווט בין קרנות פנסיה, קופות גמל וחיסכון לפרישה
רוצים לבנות סקיל משלכם? נסו את יוצר הסקילס · הגשת סקיל