by @skills-il
Integrate Cardcom payment processing and Israeli invoice generation into applications -- covers Low Profile payments, tokenization, recurring billing, and automatic tax invoice/receipt creation per Israeli law. Use when user asks to accept payments via Cardcom, generate Israeli invoices with payments, set up "slikat ashrai" with hashbonit, handle recurring billing (hora'ot keva), or mentions "Cardcom", "CardCom API", "Low Profile", Israeli payment with invoicing, or needs combined payment + document generation. Supports REST API V11 and legacy endpoints. Do NOT use for Tranzila integration (use tranzila-payment-gateway), general accounting, or non-payment queries.
npx skills-il add skills-il/tax-and-finance --skill cardcom-payment-gatewayCardcom is an Israeli payment processor with a unique strength: integrated invoice and receipt generation compliant with Israeli tax law. While other Israeli gateways handle only the payment, Cardcom can automatically generate tax invoices (hashbonit mas) and receipts (kabala) as part of the payment flow -- something Israeli businesses are legally required to issue.
This skill guides integration with Cardcom's REST API V11 for payments, tokenization, recurring billing, and document generation.
| Pattern | Card Data Handling | Best For |
|---|---|---|
| Low Profile (iframe/redirect) | Cardcom handles card entry | Most integrations -- minimal PCI scope |
| ChargeToken (server-to-server) | Token only, no raw card data | Recurring charges, subscription billing |
| CreateDocument (server-to-server) | No card data | Standalone invoice/receipt generation |
Most Israeli merchants use Low Profile for initial payment + token creation, then ChargeToken for recurring charges. Both can auto-generate invoices.
Cardcom API V11 credentials:
TerminalNumber -- Your terminal ID (use 1000 for testing)ApiName -- API username (use bWlyb24gY2FyZGNvbQ== for testing)ApiPassword -- API passwordTest environment:
Terminal 1000 with the test credentials allows full API testing without real charges. Test card: 4580000000000000, any future expiry, CVV 123.
Store credentials securely -- never in source code or client-side JavaScript.
This is a two-step process:
Step 3a: Create the payment page
POST https://secure.cardcom.solutions/api/v11/LowProfile/Create
Content-Type: application/json
{
"TerminalNumber": 1000,
"ApiName": "your-api-name",
"ApiPassword": "your-api-password",
"ReturnValue": "unique-order-id",
"Amount": 100.00,
"SuccessRedirectUrl": "https://yoursite.com/success",
"FailedRedirectUrl": "https://yoursite.com/failed",
"WebHookUrl": "https://yoursite.com/webhook",
"Document": {
"DocTypeToCreate": 101,
"Name": "Customer Name",
"Products": [
{
"Description": "Product name",
"UnitCost": 100.00,
"Quantity": 1
}
]
},
"CoinID": 1,
"Language": "he"
}Response includes Url -- redirect customer there or embed as iframe.
Step 3b: Get the results
After payment completes, Cardcom calls your WebHookUrl or you query:
POST https://secure.cardcom.solutions/api/v11/LowProfile/GetLpResult
{
"TerminalNumber": 1000,
"ApiName": "your-api-name",
"ApiPassword": "your-api-password",
"LowProfileCode": "code-from-step-3a"
}Check DealResponse = 0 for success. Extract Token for future charges.
Cardcom's standout feature is automatic document generation with payments. This is critical for Israeli businesses because tax law requires issuing proper documents for every transaction.
Document types (DocTypeToCreate):
| Code | Hebrew | English | When to Use |
|---|---|---|---|
| 1 | hashbonit mas | Tax Invoice | B2B sales, services |
| 2 | hashbonit zikui | Credit Note | Refunds, corrections |
| 3 | kabala | Receipt | Payment confirmation |
| 101 | hashbonit mas / kabala | Tax Invoice + Receipt | B2C with payment (most common) |
| 400 | -- | Iframe document | Low Profile context |
Include document in payment flow:
Add the Document object to your Low Profile or ChargeToken request (as shown in Step 3a). Cardcom generates the document automatically when payment succeeds.
Standalone document creation:
POST https://secure.cardcom.solutions/api/v11/Documents/CreateDocument
{
"TerminalNumber": 1000,
"ApiName": "your-api-name",
"ApiPassword": "your-api-password",
"Document": {
"DocTypeToCreate": 1,
"Name": "Customer Ltd",
"VAT_Number": "123456789",
"Products": [
{
"Description": "Web development services",
"UnitCost": 5000.00,
"Quantity": 1,
"IsVatFree": false
}
],
"SendByEmail": true,
"Email": "customer@example.com",
"Language": "he",
"CoinID": 1
}
}Response includes InvoiceNumber, InvoiceType, and Link to the PDF document.
For subscriptions and recurring billing (hora'ot keva):
Create token during first payment:
Token, CardValidityMonth, CardValidityYearStore token securely:
Charge the token:
POST https://secure.cardcom.solutions/api/v11/Transactions/Transaction
{
"TerminalNumber": 1000,
"ApiName": "your-api-name",
"ApiPassword": "your-api-password",
"Token": "token-uuid",
"CardValidityMonth": "12",
"CardValidityYear": "2027",
"Amount": 99.00,
"Document": {
"DocTypeToCreate": 101,
"Name": "Subscriber Name",
"Products": [
{
"Description": "Monthly subscription - February 2026",
"UnitCost": 99.00,
"Quantity": 1
}
],
"SendByEmail": true,
"Email": "customer@example.com"
}
}Each token charge can automatically generate and email an invoice.
Refund a transaction and optionally generate a credit note:
POST https://secure.cardcom.solutions/api/v11/Transactions/RefundByTransactionId
{
"TerminalNumber": 1000,
"ApiName": "your-api-name",
"ApiPassword": "your-api-password",
"TransactionId": "original-transaction-id",
"Amount": 100.00,
"Document": {
"DocTypeToCreate": 2,
"Name": "Customer Name"
}
}This both refunds the payment AND generates a credit note (hashbonit zikui) -- handling both the financial and tax compliance sides in one call.
Check response codes in every API call. A response of 0 means success.
Common errors:
| Code | Meaning | Action |
|---|---|---|
| 0 | Success | Proceed normally |
| 5033 | Terminal number missing | Check TerminalNumber in request |
| 5034 | Authentication failed | Verify ApiName and ApiPassword |
| 5035 | Invalid amount | Ensure Amount is positive number |
| 5100 | Card declined | Ask user to try another card |
| 5101 | Expired card | Ask user to update card details |
| 5102 | CVV incorrect | Ask user to re-enter CVV |
| 5200 | Token not found | Verify token UUID and terminal match |
| 5300 | Invoice creation failed | Check Document parameters |
For the full API response reference, consult references/api-responses.md.
User says: "I need to accept payments on my Israeli e-commerce site and generate tax invoices automatically" Actions:
User says: "I run a SaaS product, I need to charge users 149 NIS monthly and send them invoices" Actions:
User says: "I need to generate a tax invoice for a bank transfer payment I already received" Actions:
User says: "Customer wants a refund for order #5678, need to issue a credit note too" Actions:
references/api-endpoints.md -- Complete Cardcom REST API V11 endpoint reference including Low Profile, Transactions, Documents, RecurringPayments, Financial, and CompanyOperations. Lists request/response fields for each endpoint. Consult when building API integrations or exploring available operations.references/api-responses.md -- Full listing of Cardcom response codes with meanings and recommended handling for transaction, token, and invoice operations. Consult when debugging failed API calls.references/document-types.md -- Israeli tax document type codes (1, 2, 3, 101, 400) with required fields, VAT handling, and usage guidelines per Israeli tax law. Consult when determining which document type to generate for a transaction.scripts/validate_cardcom_response.py -- Validates a Cardcom API response: checks response codes for transaction, token, and invoice operations, verifies required fields, and flags common integration issues. Run: python scripts/validate_cardcom_response.py --helpCause: TerminalNumber not included or sent as wrong type Solution: Ensure TerminalNumber is sent as an integer (not string) in the JSON body. For testing, use 1000.
Cause: Invalid ApiName or ApiPassword Solution: Verify credentials in your Cardcom dashboard. For testing, use terminal 1000 with the test API credentials. Credentials are separate from your login password.
Cause: Often a WebHookUrl or redirect URL issue Solution: Ensure SuccessRedirectUrl, FailedRedirectUrl, and WebHookUrl are publicly accessible HTTPS URLs. Localhost URLs do not work -- use a tunnel (ngrok) for development.
Cause: SendByEmail not set or email address missing
Solution: Set SendByEmail: true and include a valid Email in the Document object. Check spam folders -- Cardcom sends from their domain.
Cause: Document object missing from ChargeToken request Solution: Include the full Document object with DocTypeToCreate, Name, and Products in every token charge request. Document generation is opt-in per transaction, not automatic.
Supported Agents
Trust Score
This skill can access environment variables which may contain secrets.
21 occurrences found in code
by @skills-il
Convert currencies to/from Israeli New Shekel (NIS/ILS) using Bank of Israel official exchange rates. Use when user asks to convert shekels, NIS, ILS, asks about exchange rates, "shaar yatzig" (representative rate), or needs currency conversion for Israeli tax or business purposes. Supports 30+ currencies with current and historical rates. Do NOT use for cryptocurrency or unofficial money exchange rates.
by @skills-il
Integrate Tranzila payment processing into Israeli applications -- covers iframe payments, tokenization, installments (tashlumim), refunds, 3D Secure, and Bit wallet. Use when user asks to accept payments via Tranzila, integrate Israeli credit card processing, set up "slikat ashrai", handle tashlumim (installment payments), create payment tokens, process refunds through Tranzila, or mentions "Tranzila", "tranzila API", "secure5", or Israeli online payments. Supports both legacy CGI endpoints and modern API V2. Do NOT use for Cardcom integration (use cardcom-payment-gateway), general accounting, or non-payment financial queries.
by @skills-il
Generate, validate, and manage Israeli e-invoices (hashbonit electronit) per Tax Authority (SHAAM) standards. Use when user asks to create Israeli invoices, request allocation numbers, validate invoice compliance, or asks about "hashbonit", "e-invoice", "SHAAM", "allocation number", or Israeli invoicing requirements. Supports tax invoice (300), tax invoice/receipt (305), credit invoice (310), receipt (320), and proforma (330) types. Do NOT use for general accounting, bookkeeping, or non-Israeli invoice formats.
Want to build your own skill? Try the Skill Creator · Submit a Skill