Steps 1+2 – Creating a Payment Page & Sending a Request to Retrieve Transaction Details (Iframe/Redirect)
Learn how to create an Iframe/Redirect payment page using the CardCom API, receive transaction details securely through a webhook, and retrieve and validate the transaction result.
When should these functions be used?
Developers who want to create a payment page for a customer after products have been selected, or send a page for making a donation or registering for a subscription, can use the Create a new Iframe / Redirect page function.
After the transaction is completed, the transaction details can be retrieved using the Get the result of an Iframe / Redirect deal function.
The payment page is generally displayed after the merchant’s checkout stage.
Common actions in the payment-page creation function
The function creates a landing page where the merchant can perform various actions, including:
Regular charge
Suspended transaction with authorization hold
Charge and create a token
Create a token only
Charge a token with 3DS authentication (requires a direct-interface model)
The function also allows the user to enter details for issuing documents and can open a screen for charging a physical device connected to the system.
Token usage, document issuance, and suspended transactions require the relevant business models to operate correctly.
Required models
Low Profile – required for creating a payment page through the API.
Documents – required for issuing documents.
Tokens – required for creating and using tokens.
For developers: You can use POSTMAN for testing. You can download the interface’s complete API at once from Swagger, using the button shown in the image:

You can also download Postman here:
Step 1 – Create a payment page – Create a new Iframe / Redirect page
JSON function documentation:
Request method: POST
Create a new Iframe / Redirect page
https://secure.cardcom.solutions/api/v11/LowProfile/Create
Legend:
Red parameter – required
Bold parameter – recommended
Other parameters – optional
Function parameters
| No. | Parameter | Example | Description |
|---|---|---|---|
| 1 | TerminalNumber | 1000 | The terminal performing the action. Obtain this parameter from the merchant. This is an internal terminal number, not a SHVA terminal. |
| 2 | ApiName | Cardcomtest26 | Interface username. Obtain this parameter from the merchant. |
| 3 | Operation | ChargeOnly ChargeAndCreateToken CreateTokenOnly SuspendedDeal Do3DSAndSubmit | The action that CardCom needs to perform. Do3DSAndSubmit allows a token to be transferred and a 3DS transaction to be performed immediately; the customer must be present to enter the transaction-verification code. |
| 4 | ReturnValue | AA-1234 | A value transferred to the clearing system and returned to WebHookUrl, up to 250 characters. Typically, the order number from the website’s order system is sent here. |
| 5 | Amount | 100.50 | The amount to charge, with up to two digits after the decimal point. |
| 6 | SuccessRedirectUrl | https://secure.cardcom.solutions/SuccessAndFailDealPage/Success.aspx | The page to which the cardholder is redirected after a successful transaction. The URL can also be configured permanently in the system settings. For IFRAME use, the URL must use https, not http. An external URL is required; localhost is not supported. |
| 7 | FailedRedirectUrl | https://secure.cardcom.solutions/SuccessAndFailDealPage/Fail.aspx | The page to which the cardholder is redirected after a failed transaction. For IFRAME use, the URL must use https, not http. An external URL is required; localhost is not supported. |
| 8 | WebHookUrl | https://webhook.site/#!/view/ec2e566f-ce64-4596-9f26-42bbe2a97a50 | A hidden webhook reporting page used to receive transaction details. After the transaction, CardCom’s server reports the result to the merchant’s server. Important:
|
| 9 | ProductName | Order C101G | The product name displayed to the user, up to 50 characters. If a document is created, this parameter is not required because the invoice details are displayed instead. |
| 10 | Language | he, en, ru, ar | The language of the payment page. Hebrew and English use designs 5 and 6. See the Low Profile page languages. |
| 11 | ISOCoinId | 1 – ILS 2 – USD | The currency used for the transaction. For additional currency codes, see the currency code list. |
UIDefinition object
The Create a new Iframe / Redirect page object includes attributes that can be used to configure additional elements of the payment page.
| Parameter | Example | Description |
|---|---|---|
| IsHideCardOwnerName | false / true | Whether to hide the cardholder-name field. |
| CardOwnerNameValue | Daniel Test | Cardholder name. |
| CardOwnerIdValue | NULL | National ID number. |
| IsHideCardOwnerPhone | false / true | Whether to hide the phone-number field. |
| CardOwnerPhoneValue | 0522222222 | Cardholder phone number. |
| IsCardOwnerPhoneRequired | false / true | Whether a cardholder phone number is required. If 3DS is used, a phone number is required regardless. |
| CardOwnerEmailValue | test@t.com | Cardholder email address. |
| IsHideCardOwnerEmail | false / true | Whether to hide the email field. |
| IsCardOwnerEmailRequired | false / true | Whether the customer’s email address is required. |
| IsHideCardOwnerIdentityNumber | false / true | Whether to hide the ID-number field, when an ID number is not required. |
| IsHideCVV | false / true | Whether to hide the CVV field. Used for standing-order terminals where CVV is not required. |
| CSSUrl | https://www.site.co.il/mycss.css | URL of a CSS file injected into the payment page. Available only with CardCom approval and intended mainly for website companies. |
| CustomFields | Array of objects: Id, Value | Custom fields for transferring additional transaction information for reporting and data collection. IDs range from 1 to 25; values can contain up to 50 characters. |
| GooglePayBtnDesign | ButtonColor, ButtonType, ButtonLocale, ButtonWidth, ButtonHeight | Design settings for the Google Pay button. Custom Google button design is supported only through custom design. |
AdvancedDefinition object
| Parameter | Example | Description |
|---|---|---|
| VirtualTerminal | IsEnable, IsOpenSum, ChargeOnSwipe | IsEnable opens a virtual-terminal screen where the merchant enters the transaction details and can provide a credit-card approval number. IsOpenSum allows the merchant to select the amount to charge. ChargeOnSwipe is intended for magnetic-stripe transactions and is rarely used. |
| JValidateType | 2 / 5 | Action for a suspended transaction or token-only creation: 2 (J2) – card check only; 5 (J5) – authorization hold for the transferred amount. |
| IsAVSEnable | false / true | Whether to display AVS fields. This requires support from the card companies and is generally not used. |
| SapakMutav | 1234 | Customer number in the multiple-beneficiary arrangement. |
| CreditType | 1 / 6 | 1 – regular charge; 6 – installment credit. Card companies may require at least three installments and may impose a minimum amount. If requirements are not met, the customer is redirected to the failure page. |
| IsRefundDeal | true / false | Whether the transaction is a refund transaction. |
| ApiPassword | API password | Used for refunds and transaction cancellations. |
| ISOCoinName | ILS / USD / EUR | The currency name equivalent of ISOCoinId. |
| MinNumOfPayments | 1 | Minimum number of installments. |
| MaxNumOfPayments | 12 | Maximum number of installments. |
| SelectedNumOfPayments | 5 | Default number of installments selected automatically. |
| FirstPayment | 50 | First installment amount when the first payment differs from the remaining payments. Not supported for credit-type transactions. |
| ConstPayment | 25 | Fixed amount for the remaining payments. For example: a 100 ILS transaction with three payments, a first payment of 50, and two fixed payments of 25. The split is processed server-side and the payment-page split display should be hidden. |
| Token | Token value | When charging with an existing token and requiring 3DS, pass the token and use Do3DSAndSubmit. |
| CardExpirationYear / CardExpirationMonth | 2026 / 06 | Card expiration year and month for Do3DSAndSubmit. |
| CardNumber / CVV | Card number / 758 | Used only for the Do3DSAndSubmit flow. |
| ThreeDSecureState | Auto / Enabled / Disabled | Determines whether the transaction must undergo 3DS. Auto follows CardCom settings; Enabled requires 3DS; Disabled prevents 3DS. |
| ShouldOpenPinpadOnPageLoad | true / false | For a physical terminal, whether to open the physical-card payment screen immediately when the page loads. |
| IsExternal | true / false | Used by merchants who use CardCom clearing without CardCom’s payment gateway and want an external payment link for BIT. |
Document object
The Document object is available when the Documents model is enabled. The sum of the document items must equal the transaction charge.
| Parameter | Example | Description |
|---|---|---|
| TypeToCreate | Auto, TaxInvoiceAndReceipt, Receipt, Order, DonationReceipt, TaxInvoice, and others | The type of document to issue. Options include tax invoice and receipt, credit invoice and refund, receipt without VAT for a nonprofit organization, quotation, order, order confirmation, delivery note, proforma invoice, payment demand, tax invoice, donation receipt, and corresponding refund or credit documents. |
| Name | Mr. Test | Customer name. |
| TaxId | 040617640 | National ID or company registration number. |
| israel@gmail.com | Customer email address. Multiple addresses can be separated with semicolons. | |
| IsSendByEmail | true / false | Whether to send the document by email. |
| AddressLine1 / AddressLine2 | Saharov 22 / P.O. 1234 | Customer address. |
| City | Rishon-Le-Zion | City. |
| Mobile | 0549876543 | Mobile phone number. If the SMS module is enabled, an SMS is sent to this number. |
| Phone | 03-9619611 | Landline phone number. |
| Comments | One-year warranty from invoice date | Comments printed at the bottom of the document; up to 250 characters. |
| IsVatFree | true / false | Whether the entire document is VAT-free. Use for an overseas customer when applicable. |
| DepartmentId | 123 | Department code for reports and accounting transfers. |
| AdvancedDefinition | Account settings | Can create or update a customer card, identify the customer by foreign key, website ID, email, or AccountID, and load customer information from an existing AccountID. |
| Products | Array of product objects | Each product can include ProductID, Description, Quantity, UnitCost, TotalLineCost, and IsVatFree. ProductID is the item or product code. Quantity is the number of items. UnitCost is the unit price. TotalLineCost is recommended for fractional quantities to avoid rounding issues. |
| ExternalId | String | External system identifier at document level only; it is not saved on the customer card. |
| IsAllowEditDocument | true / false | Allows the customer or merchant to edit document details such as name, city, and street on the payment page. |
| IsShowOnlyDocument | true / false | Displays document details during the transaction without issuing a document. |
| Language | he / en | Document language. |
UTM object
The UTM object can include Source, Medium, Campaign, Content, and Term. These values are passed to the success page when the relevant option is enabled in the CardCom interface.
Response from Create a new Iframe / Redirect page
| Parameter | Example | Description |
|---|---|---|
| ResponseCode | 0 | 0 indicates that the action was successful. Any other value indicates a development error. |
| Description | Transaction completed successfully | Response description. |
| LowProfileId | AA-BB-CC | Unique transaction code. |
| Url | https://secure.cardcom.solutions/EA/... | Payment-page URL. |
| UrlToPayPal | https://secure.cardcom.solutions/External/... | URL for the PayPal button. |
| UrlToBit | https://secure.cardcom.solutions/api/LPC5/Bit? | URL for the BIT button. |
Step 2 – Retrieve transaction details from the server – Get the result of an Iframe / Redirect deal
Important
For increased security and proper operation, do not use the information received directly in the report.
After receiving the report, send a Get the result of an Iframe / Redirect deal request to CardCom’s server to retrieve the transaction details and verify the report.
Retrieving the response:
After retrieving the data, mark in your system that the data has been retrieved. This prevents repeated retrievals of the same transaction.
Customers or crawlers may revisit the same success page or refresh it, which can result in duplicate transactions or orders. If the data has already been marked as retrieved, do not retrieve it again.
To determine whether the transaction was successfully charged, verify that ResponseCode == 0.
Request
Request method: POST
Get the result of an Iframe / Redirect deal
https://secure.cardcom.solutions/api/v11/LowProfile/GetLpResult
| Parameter | Example | Description |
|---|---|---|
| TerminalNumber | 1000 | Internal terminal number performing the action. |
| ApiName | test2025 | Interface username. |
| LowProfileId | AA-BB-CC | Unique transaction code. |
Response parameters
The response may include only parameters that exist in the system. For example, token-related parameters are not returned if no token was created. In addition to the parameters below, card-company parameters may be included. All parameters are returned in the response to a POST request.
| Parameter | Description |
|---|---|
| ResponseCode | 0 indicates success. |
| Description | Response description. |
| TerminalNumber | Terminal performing the action. |
| LowProfileId | Unique transaction code. |
| TranzactionId | Unique credit transaction number. The value may be Int64/BigInt. |
| ReturnValue | Value returned to the reporting URL, up to 250 characters. |
| Operation | ChargeOnly, ChargeAndCreateToken, CreateTokenOnly, SuspendedDeal, or Do3DSAndSubmit. |
| SuspendedDealId | Suspended transaction number. |
| ExternalPaymentVector | External payment source, such as PayPal, Apple Pay, UPAY, BIT, 3DS, Google Pay, or an EMV physical terminal. |
| Country | Country entered in the document details. |
UIValues object
May include CardOwnerEmail, CardOwnerName, CardOwnerPhone, CardOwnerIdentityNumber, NumOfPayments, CardYear, CardMonth, CustomFields, and IsAbroadCard.
DocumentInfo object
May include ResponseCode, Description, DocumentType, DocumentNumber, AccountId, ForeignAccountNumber, SiteUniqueId, and DocumentUrl. DocumentUrl is currently not supported in this response.
TokenInfo object
May include:
- Token – token value; save it in the database.
- TokenExDate – token expiration date in YYYYMMDD format; save it in the database.
- CardYear and CardMonth – card expiration date; save them when creating a token.
- TokenApprovalNumber – one-time approval number received when creating a token with a J5 check. Save it for future charges against the authorization hold.
- CardOwnerIdentityNumber – cardholder ID number.
TranzactionInfo object
This object may include the transaction response code and description, transaction and terminal numbers, amount, currency, coupon number, creation date, last four and first six card digits, J parameter, card expiration date, approval number, installment amounts and count, cardholder details, token, card type, merchant number, unique transaction ID, document information, RRN, brand, acquirer, issuer, payment type, card entry mode, transaction type, refund status, document URL, custom fields, and whether the card is foreign.
For J5 transactions, the ApprovalNumber is essential. If the merchant later wants to charge the held amount, the approval number is required.
UTM response
The response can include the same UTM values sent during Step 1: Source, Medium, Campaign, Content, and Term.
Example code for Steps 1+2
Create a payment page only (Step 1):
{
"TerminalNumber": 1000,
"ApiName": "CardTest1994",
"Amount": 10.5,
"Operation": "ChargeOnly",
"SuccessRedirectUrl": "https://www.google.com",
"FailedRedirectUrl": "https://www.yahoo.com",
"WebHookUrl": "https://webhook.site/c208ee79-0d2a-43b2-a52a-0860e9c86a0d"
}Create a payment page and issue a document (Step 1):
{
"TerminalNumber": 1000,
"ApiName": "CardTest1994",
"ReturnValue": "Z12332X",
"Amount": 10.5,
"Language": "en",
"Operation": "ChargeAndCreateToken",
"ProductName": "Order C101G",
"SuccessRedirectUrl": "https://www.google.com",
"FailedRedirectUrl": "https://www.yahoo.com",
"WebHookUrl": "https://webhook.site/c208ee79-0d2a-43b2-a52a-0860e9c86a0d",
"ISOCoinId": 1,
"Document": {
"DocumentTypeToCreate": "Order",
"Name": "test client",
"Email": "test@testDomain.com",
"Products": [
{
"Description": "my item to sell",
"UnitCost": 10.5
}
]
}
}Retrieving the result (Step 2):
{
"TerminalNumber": 1000,
"ApiName": "CardTest1994",
"LowProfileId": "9e26b925-9040-4f06-8644-8f92e036f3f8"
}The response contains the transaction result, including ResponseCode, LowProfileId, TranzactionId, ReturnValue, Operation, UI values, document information, token information, transaction information, external payment vector, country, and UTM information.
Step 3 article
FAQ
Can I control the number of attempts made to send a webhook report to the developer if reporting fails?
No. The number of reports sent to the webhook URL cannot be controlled if CardCom is unable to report successfully to the developer’s server.
Can the first payment be lower than the fixed payment?
Yes. The first payment can be configured to be either lower or higher than the fixed amount of the remaining payments.