Help Center

Found 100 out of 200

3-D Secure

3DS is a technology that adds a layer of security to online payments by requiring the cardholder to confirm the payment in the bank's app or by entering a one-time SMS code.

It is used to protect against fraudulent transactions, helping businesses reduce risks of chargeback requests.

Connecting and configuring

You can activate 3DS and set the minimum payment amount from which it will be applied in the <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Payment modules</span> ➙ <span class="u-richtext-element">3DS</span>

Frictionless 3DS

Sometimes 3DS authentication takes place in the background and does not require the customer to enter an SMS code or approve the payment in their banking app. During the authentication, the payment page collects technical information about the customer’s device and browser, including the IP address, browser type, language, time zone, screen settings, and other details.

This information is sent to the issuing bank as part of the 3DS process and evaluated together with the card details, payment amount, location, and transaction history. If the bank is confident that the payment is being made by the legitimate cardholder, it authenticates the transaction without requiring any additional action.

To the customer, it looks like a regular payment, but it is still protected by 3DS. If the bank requires further verification, the customer will be asked to confirm the payment using a code or their banking app.

Commission

An additional fee is charged for each payment processed with 3DS, according to the pricing.

The fee is applied even if the payment is unsuccessful — for example, when the cardholder confirms the payment via 3DS, but the bank declines the transaction.

Keep reading
Security

Users and permissions

In the Settings → Team section, you can add users who will have access to your Allpay account.

This feature is currently in development. We will announce its release in our Telegram channel.

Every user in the Allpay system has a unique phone number, email address, and Telegram username. It is not possible to link the same Telegram, email, or phone number to multiple users.

System access is only possible via a verified contact method.

Adding users

Click the "+" button on the "Team" screen and enter the name, job title, and at least one contact method (email, phone, or Telegram) — this will be used to log in to Allpay.

You can update user details at any time by clicking the "Edit" button on their profile card.

Access permissions

Every user has access to all sections except for the "Team" section. Access to the "Team" section must be granted separately. Only the account owner can manage permissions.

More granular permission settings will be introduced later.

Deactivating a user

The "Account active" toggle on a user's profile card immediately revokes their access to your account. You cannot deactivate yourself or the account owner.

Owner details

The owner's name, job title, and contact information can only be updated by contacting Allpay support.

Keep reading
Profile

Redirect after payment and success page customization

After a successful payment, you can redirect the customer to an external URL or customize the Allpay success page shown to the customer.

Setup

In the payment link settings, expand <span class="u-richtext-element">More</span> section and enable the “Custom success page” block. There you can select one of the following options:

  1. Redirect to URL
    Immediately after payment, the customer will be redirected to the specified URL.
  2. Custom message and button
    You can set your own heading and text to be displayed to the customer after payment. You can also add a button and specify the URL the customer will be redirected to after clicking it.

API payments

This setting does not apply to payments received via API (from external websites). For those, please refer to the API documentation.

Keep reading
Payment links

Webhooks

This article explains how to set up webhook notifications for payments.

For payments initiated via the API, Allpay sends a webhook by default in response to the API request. No additional configuration is required.

The setup described below is needed in two cases: if you want to receive webhook notifications for payments created not via the API, but through payment links, or if you need to specify an additional URL for sending webhook notifications as part of your API integration.

What is webhook

Webhook is an automatic event notification sent by the Allpay system to an external URL.

When a payment is successfully completed, Allpay sends a POST request to the specified address. The request contains full payment details, including the buyer's name, the payment description, and the amount.

Developers and integrators use webhooks to:

  • automatically trigger actions (e.g. activating an order or sending an email to the customer),
  • synchronize data between systems,
  • eliminate the need for manual payment status checks.

Even types

Allpay supports webhooks for two events — successful payment and refund.

For subscriptions, the webhook is automatically sent to the specified URL each month after a successful recurring charge.

Where to configure a webhook

A webhook is configured separately for each payment link or API integration:

  1. Payment link — in the settings of that specific link. In this case, the webhook will be sent for every payment made via that link.
  2. API integration — in the settings of a specific integration under the <span class="u-richtext-element">API Integrations</span> section. This allows you to receive webhooks for all payments processed through that integration — for example, from your site on WordPress, or another platform.

Allpay does not have a centralized webhook setting for all payments. This approach gives you flexible control over notifications across different channels.

Webhook request contents

Allpay sends a POST request to the specified URL. The request body is a JSON object containing parameters related to the event.

Example request

POST /c96zv6ri852dvppncccdg6fxkjnpwojg HTTP/2
Host: hook.eu2.make.com
accept: */*
content-type:application/json
content-length: 453

{
    "name": "Consultation",
    "items": [
        {
            "name": "Consultation",
            "price": 150,
            "qty": 2,
            "vat": "1"
        },
        {
            "name": "Clock",
            "price": 50,
            "qty": 1,
            "vat": "1"
        }
    ],
    "amount": "350",
    "status": 1,
    "client_name": "Tanur Mikrogalov",
    "client_email": "test@email.com",
    "client_tehudat": "123456789",
    "client_phone": "+972 58 569 8877",
    "foreign_card": "0",
    "card_mask": "455743******3431",
    "card_brand": "visa",
    "receipt": "",
    "inst": 1,
    "sign": "83f6fab69f7b237ee2db5d9993b84b5fe89ef722af6206a0ffe64480501f3784"
}

Each payment for which a webhook was sent is marked with a corresponding label. By clicking on this label, you can view the full contents of the request.

add_field parameter

If you add <span class="u-richtext-element">?add_field=any-string</span> to the payment link URL, this parameter will be included in the Webhook request body. Learn more.

Webhook security

Allpay supports two methods for verifying the authenticity of webhook requests:

Verification using the Webhook secret key

This method relies on an HMAC signature based on the SHA256 algorithm.

Signature generation algorithm:

  1. Remove the <span class="u-richtext-element">sign</span> parameter from the request.
  2. Exclude all parameters with empty values.
  3. Sort the remaining keys in alphabetical order.
  4. From the sorted list, take the parameter values and join them into a single string using a colon (:) as a separator.
  5. Append your Webhook secret key to the end of the string, preceded by a colon.
  6. Apply the SHA256 algorithm to the resulting string.
  7. Compare the result with the <span class="u-richtext-element">sign</span> parameter received in the request.

Platforms like Zapier support this type of verification using built-in tools, such as a custom script in Code by Zapier.

Example JavaScript for Zapier

const webhookKey = "YOUR WEBHOOK SECRET KEY";

// Parse the input params from JSON string to an object
const params = JSON.parse(inputData.params || '{}');

// Store the original signature from the request
const requestSignature = params.sign || null;

// Remove the 'sign' parameter before calculating the signature
delete params.sign;

function getApiSignature(params, webhookKey) {
    // Filter out empty values and sort keys alphabetically
    const sortedKeys = Object.keys(params)
        .filter((key) => {
            const value = params[key];
            return value !== null && value !== undefined && String(value).trim() !== '';
        })
        .sort();

    // Collect the values in sorted key order, process nested arrays (like "items")
    const chunks = [];
    sortedKeys.forEach(key => {
        const value = params[key];
        if (Array.isArray(value)) {
            value.forEach(item => {
                if (typeof item === 'object' && item !== null) {
                    Object.keys(item).sort().forEach(subKey => {
                        const val = item[subKey];
                        if (val !== null && val !== undefined && String(val).trim() !== '') {
                            chunks.push(String(val).trim());
                        }
                    });
                }
            });
        } else {
            chunks.push(String(value).trim());
        }
    });

    // Build the string to hash
    const baseString = chunks.join(':') + ':' + webhookKey;

    // Generate SHA256 hash
    const crypto = require('crypto');
    const hash = crypto.createHash('sha256').update(baseString).digest('hex');

    return { baseString, verifiedSignature: hash };
}

// Generate the signature
const result = getApiSignature(params, webhookKey);

// Return the original and calculated values
output = {
    requestSignature: requestSignature,
    baseString: result.baseString,
    verifiedSignature: result.verifiedSignature
};

Demo of webhook verification on Zapier

IP address verification

A simpler but less secure method is to check that the request comes from Allpay’s server IP address. You can request the current IP address by contacting our support team.

Webhook delivery and retries

Your server must return an <span class="u-richtext-element">200 OK</span> response to confirm successful receipt of a webhook. If any other status is returned, or the request fails due to a timeout or network error, Allpay will automatically retry delivery.

Allpay performs up to 10 delivery attempts in total. The first retry is made 1 minute after the initial failure. Subsequent retries are sent with progressively increasing intervals, with the final attempt occurring within 24 hours of the original request.

If all delivery attempts fail, the webhook will be marked as failed and no further retries will be made.

Keep reading
API
Integrations

Payment page language

The payment page supports languages: Arabic, English, French, German, Hebrew, Italian, Russian and Spanish.

The language is detected automatically based on the customer’s browser language, so each customer sees the payment page in their own language. If the browser language is not supported or cannot be detected, English will be set by default.

To manually control the language of the payment page, in the <span class="u-richtext-element">More</span> section of the payment link settings, change the <span class="u-richtext-element">Auto-detect (browser language)</span> option to the language you need.

The customer will then see the payment page in that language, regardless of their browser settings. The language switcher will still remain available on the checkout page.

The payment email notification is sent to the customer in the same language that was selected on the payment page at the time the payment was made. For example, if the payment page was opened in Hebrew, the email notification will also be sent in Hebrew. Example of a payment email notification.

Translation of additional fields

If you add custom fields to the payment page, their labels can be translated into all four languages. This makes the payment page convenient for a multilingual audience. For more details, see the article about additional fields.

Language control via API

For payments initiated from your website (i.e., not through payment links created in Allpay), the payment page language can be controlled via the API according to the documentation.

By default, automatic detection based on the browser settings applies.

Keep reading
Payment links

Customer email notification after payment

After payment, customer receives an email notification about the payment. Make sure this feature is enabled in <span class="u-richtext-element">Settings</span> -> <span class="u-richtext-element">Notifications</span>

An email notification by itself is not a receipt.

The notification is sent in the same language that was selected on the payment page at the time the payment was made. For example, if the payment page was opened in English, the customer will receive the notification in English as well.

If you enable integration with EasyCount or Morning digital invoicing systems, the receipt will be created automatically, and a button for downloading it will be added to the notification.

Example of email notification

Keep reading
Documents
Integrations

API currency management and supported currencies

Allpay lets you display the price in one currency that is convenient for the customer, while charging in another currency.

For example, for customers in Canada you can display the price in CAD, while charging in ILS, so the funds are paid out to the merchant bank account without additional conversion.

In this scenario, the customer will see the amount in two currencies on the payment page, for example: 100 CAD (226 ILS). The actual charge will be made in Israeli shekels (ILS).

This format helps to:

  • show the customer the price in a currency they understand;
  • clearly explain which currency will be charged;
  • reduce confusion when the customer later sees the charge in their bank statement.
Exchange rates are taken from Google Finance at the moment the payment page is opened.

Payment currency

Payment currency (parameter <span class="u-richtext-element">currency</span>) is the currency in which the actual charge is made and the funds are paid out to the merchant bank account.

The customer’s card currency does not matter — after the charge, the customer’s bank will convert the amount using its own exchange rate if the card is denominated in another currency.

By default, after registering in Allpay only ILS payment currency is available. You can enable USD and EUR according to this instruction.

Supported payment currencies

Euro — EUR

Israeli new shekel — ILS

United States dollar — USD

Валюта отображения

Display currency (parameter <span class="u-richtext-element">currency_display</span>) is the currency shown to the customer on the payment page.

Send this parameter only when the display currency is different from the payment currency.

If <span class="u-richtext-element">currency_display</span> is provided:

  • the <span class="u-richtext-element">price</span> must be sent in the display currency;
  • Allpay automatically converts the amount from <span class="u-richtext-element">currency_display</span> to <span class="u-richtext-element">currency</span> using current Google Finance exchange rate;
  • the customer is always charged in the payment currency (<span class="u-richtext-element">currency</span>).

For example, for Europe customer you can display the price in EUR and charge in ILS. Or for customer from Canada display the price in CAD and charge in USD.

Supported display currencies

Australian dollar — AUD

Azerbaijani manat — AZN

Canadian dollar — CAD

Chinese Yuan — CNY

Euro — EUR

Georgian lari — GEL

Israeli new shekel — ILS

Kazakhstani tenge — KZT

Norwegian krone — NOK

Pound sterling — GBP

Russian ruble — RUB

Thai baht — THB

Ugandan shilling — UGX

United Arab Emirates dirham — AED

United States dollar — USD

Ukrainian hryvnia — UAH

If the currency you need is not in the list, please contact support.

Examples of using <span class="u-richtext-element">currency_display</span> in API requests

Send <span class="u-richtext-element">currency_display</span> only when you need to display the price in one currency but charge in another.

Example 1

{  
  "items": [
    {
      "name": "Product name",
      "price": "100",
      "qty": "1",
      "vat": "0"
    }
  ],
  "currency": "USD",
  "currency_display": "CAD"
  }

Allpay will convert 100 CAD to USD and the customer will be charged in USD.

At the time this article was written: 100 CAD = 72 USD, so the charge will be 72 USD.

If the account is not approved for USD, the system will automatically convert the amount to ILS (the default currency).

Example 2

{  
  "items": [
    {
      "name": "Product name",
      "price": "100",
      "qty": "1",
      "vat": "0"
    }
  ],  
  "currency_display": "CAD"
  }

Because <span class="u-richtext-element">currency</span> is not provided, 100 CAD will be converted to ILS (the default currency), and the customer will be charged in ILS.

Example 3

{  
  "items": [
    {
      "name": "Product name",
      "price": "100",
      "qty": "1",
      "vat": "0"
    }
  ],  
  "currency": "CAD"
  }

This request is invalid because CAD cannot be used as a payment currency. However, the system will not return an error. Instead, it will convert CAD to ILS (the default currency) and charge the customer in ILS.

To test different currency combinations, use the Allpay API tester.
Keep reading
API

Commission for bank card payments

Allpay supports Visa, Mastercard, American Express, Diners, Discover, JCB, and Isracard bank cards.

Current rates are listed at pricing page.

The commission rate depends on four factors:

1. Business turnover

The higher the average monthly turnover of the business, the lower the commission rate.

Average monthly turnover is calculated as the total amount of all successful payments over the last 3 months, minus refunds and chargebacks, divided by 3.

If payments were made in different currencies, the turnover is converted to ILS.

Turnover is recalculated automatically at the end of each day. If the business moves into a different turnover tier, the corresponding commission rate is applied automatically.

2. Card brand

Visa and Mastercard have lower rates.

American Express and Diners have higher rates because these brands are considered premium and provide cardholders with various benefits, which are paid for by the business.

3. Local or international payment

Payments made with cards or wallets issued in Israel have lower rates.

International payments follow a longer processing path before they are included in a payout, so the commission rate for them is higher.

4. Whether the card is a business or personal card

Transactions made with business cards may include an additional fee of 1.5% to 1.75%.

This fee is added by payment systems and issuing banks and does not depend on Allpay.

Keep reading
Pricing
Travolta confused - no search results
No results found.
Subscribe for important updates (ad-free)
Subscribe
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

FAQ

Found 100 out of 200
Text Link

Is there an additional fee for payment links?

No, payment links and site payment integration are our core services, included in the plan and available immediately after registration.

Text Link

Do you have webhooks?

Yes, Allpay can send a webhook for a successful payment. Learn more.

Text Link

Can Allpay be integrated into a website created with AI?

Yes. Just as you used AI to build your website, you can ask AI to integrate payments via Allpay. See the recommendations and example prompts.

Text Link

Do you have Apple Pay, Google Pay and Bit quick payment buttons?

Yes. All three quick payment buttons can be added on the payment page.

Text Link

Does your API support hosted fields?

Yes. Card input fields can be embedded into your website or app, fully adapting their design. Learn more about Hosted Fields.

Text Link

Are there any additional costs?

Digital receipts are connected as a third-party service, which costs about 20 ILS per month.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Travolta confused - no search results
No results found.

Start accepting payments

Connect a sales channel for your business today
Free sign up
7-day trial
Cancel anytime
Sign up

Integrations

Connect unlimited online stores, CMS platforms, and AI tools through a single Allpay account.

Apple Pay, Google Pay and Bit

Fast and convenient payment methods with no additional fees.

Currencies

Payments in ILS, USD and EUR without conversion and in any other currency with deposit in ILS.

Installments

Split the amount into monthly payments that will be deducted from the customer's card automatically (tashlumim).