Help Center

Found 100 out of 200

Payouts

A payout is a transfer of money from your received payments to your bank account, minus fees.

Payouts are made automatically once a month, on the 6th. The payout includes payments that were received in the previous month.

It usually takes up to three business days for the money to appear in your bank account.

The minimum payout amount is 100 ILS, USD, or EUR.

Installment payments are transferred once a month, as money is charged from the customer’s card.

Payment processing time

After a customer makes a payment, it is processed within 3–7 business days. Once processed, the payment is assigned a payout date — the 6th day of the following month.

For example, if a payment is processed on August 25, it will be paid out on September 6. If it is processed on September 2, the payout date will be October 6.

This means there may be cases when a payment is made at the end of one month but processed in the next. In such cases, the payout will be shifted by an additional month. For instance, a payment made on August 30 may be processed on September 2 and therefore will be paid out only on October 6.

You can check the payout date of each payment in its details by clicking the “Details” button.

Fees

If a payout is less than 5,000 ILS, the acquiring bank charges a fee of 17.58 ILS (including VAT).

To avoid this fee, you can set payouts to happen only after the balance reaches 5,000 ILS.

Manual payouts

You can turn off the automatic payout on the 6th. In this case, the payout balance will grow each month, and the money will wait until you request it.

There are three payout options:

  1. Automatic on the 6th. Each month on the 6th, all available funds in the balance are paid out automatically.
  2. Automatic after reaching a set amount. The balance is topped up on the 6th of each month and will be paid out once it reaches the amount you choose. For example, if you set 5,000 ILS, you will not pay the small-payout fee.
  3. Manual payouts. The balance is topped up on the 6th, but you decide when to request the payout.

Notifications

You can get payout notifications by e-mail or in Telegram. They can be set up in <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Notifications</span>.

Bank account for payouts

Payouts are sent only to the business bank account you gave during registration. You can check it in the settings.

To change the account, you need to provide a bank document with the details of the new account.

Refunds

If you made refunds to customers during the month, these amounts will be deducted from your next payout.

Breakdown and documents

On the 11th of each month, a record appears in the payout history with two documents:

  1. A breakdown of all payments for the previous month with the fees shown.
  2. A fee receipt, which can be used for accounting.

See also: “Where to download the payment system fee receipt”.

Weekly payouts

If you want to receive payouts more often than once a month, see the article: “Weekly payouts”.

Keep reading
Payouts
Popular

Why a customer sees two charges after payment

Sometimes customers contact sellers complaining that their card was charged twice for the same purchase. In fact, no double charge occurs.

How the payment process works

Each card payment goes through two stages:

  1. Authorization (pending)
    The bank temporarily blocks the amount on the customer’s card. In the banking app or statement this appears as a separate transaction. The funds are not yet charged, only reserved.
  2. Capture (final charge)
    After the transaction is confirmed, the funds are charged.

Some banks display these two stages as separate transactions, so it may look like two charges. In reality, the money is taken only once.

Why this happens

The way transactions are displayed depends on the card-issuing bank and the type of card.

In some banks the authorization disappears immediately after the charge, while in others it may remain for several days or even weeks. Later it disappears from the statement or merges with the second entry.

What to tell the customer

  1. Check in your Allpay dashboard that the payment really went through only once.
  2. Explain to the customer that the first entry is a temporary authorization and the second is the actual charge. If the authorization temporarily reduced the balance, the funds will be returned.
  3. If the customer still has doubts, recommend that they contact their bank to verify the status of the transactions.
Keep reading
Payment methods
Errors

Displaying the amount in a different currency (USD, EUR, etc.) instead of shekels

International customers find it easier to view prices in their own currency, while businesses prefer to receive funds in shekels without losing money on conversion. For this, a multi-currency price format is available.

To display the amount on the payment page in dollars (USD) or euros (EUR), go to <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Payment links</span> and enable the «Multi-currency price format» toggle. Then select the desired currencies from the dropdown list.

Now, when creating a payment link, a currency toggle will appear below the amount. If you select USD, the amount will be shown in dual format, for example: 100 USD (350 ILS).

This is not the transaction currency, but only the display format of the amount on the payment page. The transaction will be processed in ILS at the current exchange rate, and the receipt will be issued in ILS. The exchange rate source is Google Finance.

The exchange rate is calculated at the moment the customer opens the payment link.

If the customer’s card is in dollars, their bank will automatically convert the amount to ILS at its own exchange rate. You will receive the full payment amount in shekels.

If you need to receive payments in a foreign currency instead of shekels, see the article Accepting payments in USD and EUR.

Missing a currency?

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

Integrations

The payment request sent from your website includes two parameters: the currency and the payment amount. For example, if the currency is CAD (Canadian dollar), the payment button will display the amount in both CAD and ILS. The system will convert Canadian dollar to shekels and charge the customer’s card in shekels.

Keep reading
Payment links

Webhooks

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

Currently, Allpay supports a webhook for one event only — successful payment.

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 /tjefkki4vvsvfyhrmudkr571bvjxw5g7 HTTP/2
Host: hook.eu2.make.com
accept: */*
content-type:application/json
content-length: 653

{
    "name": "Test payment",
    "items": "[{\"name\":\"Test payment\",\"price\":10,\"qty\":1}]",
    "amount": "10",
    "status": 1,
    "client_name": "Tanur Mikrogalov",
    "client_email": "test@allpay.co.il",
    "client_tehudat": "",
    "client_phone": "",
    "foreign_card": "0",
    "card_mask": "407517******9285",
    "card_brand": "visa",
    "receipt": "https:\/\/www.allpay.co.il\/receipt.pdf",
    "sign": "2367eefa04752fae489fc233670fce599be9083af8c9a581d4c7684ec33c0114"
}

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.

Retries and webhook deactivation

Your service must return a 200 HTTP status code to confirm successful receipt of the webhook. If any other status code is returned, the system will attempt to resend the webhook up to three more times. After that, the request will be considered failed and will not be retried.

If Allpay repeatedly encounters delivery errors when attempting to send webhook requests, the corresponding webhook will be automatically deactivated to prevent further attempts.

Keep reading
API
Integrations

Passing parameters through the payment link URL

This feature allows you to manage the payment amount via URL, pass customer data filled out on your platform to the payment page, and control the customer's path after a successful payment.

First, you need to create a payment link in the Allpay dashboard and set its type to <span class="u-richtext-element">Customer indicates amount</span>.

You can add the parameters <span class="u-richtext-element">amount</span> for the payment amount, <span class="u-richtext-element">client_name</span>, and <span class="u-richtext-element">client_email</span> for customer data to the payment link URL.

For example, https://allpay.to/~pay/dynamic?amount=100&client_name=Jason%20Statham&client_email=jason@go.com


If the values for the parameters <span class="u-richtext-element">client_name</span> and <span class="u-richtext-element">client_email</span> are not specified, we will request them from the customer during payment.

This way, you can use a single payment link for all customers, specifying an individual amount for each of them.

Product name

The product or service name cannot be transmitted this way, as it creates opportunities for manipulation. For example, it could allow an altered or inappropriate product name to be automatically included in the receipt generated after payment.

Parameters lang and client_tehudat

<span class="u-richtext-element">lang</span> — language of the payment page. It is auto-detected by the customer's browser language, but you can control it by passing values AR (Arabic), EN (English), HE (Hebrew), or RU (Russian).

<span class="u-richtext-element">items</span> — name and quantity of the product. If not provided, the name specified when creating the payment link will be displayed. The ability to pass this parameter through the URL is currently under development.

<span class="u-richtext-element">client_tehudat</span> — the Tehudat Zehut (Social ID number). This is included in the payment receipt. To hide this field from the page, pass nine zeros.

Parameter add_field

You can also use the parameter <span class="u-richtext-element">add_field</span>, the value of which will be passed unchanged in the redirect URL after a successful payment (see the article Redirect after payment for how to set up the redirect URL).

For example, https://allpay.to/~pay/dynamic?amount=100&add_field=any_text

In the example above, the parameter <span class="u-richtext-element">add_field=any_text</span> will be passed unchanged in the redirect URL after payment. This allows you to track conversions, direct the customer to the desired stage of your chatbot funnel, and perform other necessary actions after payment.

If needed, you can set the value of <span class="u-richtext-element">add_field</span> to a string with multiple parameters and parse them on your server side. For example, <span class="u-richtext-element">add_field=par1-value1,par2-value2</span>.

If Webhook sending is enabled for the link, the <span class="u-richtext-element">add_field</span> parameter will be included in the request body.

Video tutorial

Creating payment forms

Using this approach and basic web development skills, you can create payment forms for placement on your website. These forms do not replace full capacity of our API but provide a simple and convenient solution for accepting payments.

You can allow customers to select product modifications or quantities, calculate the total based on selected options, and redirect the customer to proceed the payment.

Example in action:

You can view the source code for the forms used in the video at the following links:

https://allpay.to/demo/snippet-example-1.html

https://allpay.to/demo/snippet-example-2.html

Using ChatGPT, you can customize the functionality of the forms to suit your specific needs.

Keep reading
Payment links
API

Accepting payments in USD and EUR

In addition to shekels, Allpay supports payments in US dollars (USD) and euros (EUR).

Available payment currencies are shown in the <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Permissions</span> section.

By default, only payments in shekels are enabled after registration. To accept payments in USD or EUR, a separate permission must be requested.

Before requesting permission to accept payments in foreign currencies

In many cases, accepting payments in shekels is sufficient for a business. However, if your customers are located in Europe, the US, or other countries, it may be more convenient for them to view prices in USD or EUR.

For this purpose, we offer a special feature — currency display conversion. This means the customer will see the payment amount in, for example, euros, but the actual charge will be made in shekels based on their bank’s exchange rate.

No permission is required to use this feature — it is already available.

More details: How to display the payment amount in USD or EUR.

We recommend using this solution in most cases.

Requesting permission to accept payments in foreign currencies

Go to <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Modules</span> and activate the “USD & EUR” module.

To activate it, you’ll need to upload a bank letter with the details of your foreign currency account. The letter must:

  • Be in English
  • Include the account number in IBAN format
  • Include your name (or company name) and Teudat Zehut number (or company number)

Examples of bank letters: DiscountLeumi, Hapoalim.

The confirmation letter can be downloaded from your bank's online account or obtained by visiting the bank in person. Letters that do not meet the above requirements will not be accepted.

The letter will be forwarded to the relevant credit company (Isracard or CAL — depending on how your business is connected to the Allpay system) with a request to approve foreign currency operations for your account.

The average approval time is 2–3 weeks.

Allpay cannot guarantee approval for foreign currency transactions; however, we do everything possible to ensure that all our customers receive the necessary authorization.

When a business website has an English version and clearly displays products or services with prices in USD or EUR, it increases the likelihood of approval.

Once the approval is granted, the module status will change to “Active” and you will receive a notification. Please make sure notifications are enabled under <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Notifications</span>.

How to accept payments in foreign currency

When creating a payment link, you will see an option to switch the payment currency.

Payment link in USD

When creating payments via API, you can pass the values "USD" or "EUR" in the <span class="u-richtext-element">currency</span> parameter.

Commission and withdrawals

We do not charge any additional commission for foreign currency payments — standard rates apply.

However, your bank may charge a fee for receiving currency withdrawals. These withdrawals are made via the SWIFT system and go through a chain of three banks: our bank, your bank’s foreign branch, and your bank in Israel. The total fee per withdrawal can reach up to $40. We cannot influence this fee, but you can ask your bank for better terms.

For this reason, withdrawals are made starting from 100 USD/EUR. Any amount below 100 USD/EUR will be carried over to the next withdrawal.

Receipts

According to the law, official receipts (kabalot and heshbonit mas) must be issued in shekels.

Therefore, for foreign currency payments, the service price in the receipt appears in the payment currency, while the VAT amount and total are shown in shekels based on the current exchange rate. We use exchange rates from Google Finance.

If your customer needs a receipt showing the total amount in the original payment currency (not in shekels), a copy can be downloaded from the EasyCount or Morning dashboard.

Keep reading
Profile
Payment links
Documents

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.

If you enable integration with the EasyCount electronic receipt system, 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

Test Mode

Test mode allows you to test payments without processing real transactions. This mode is typically used by developers during website development.

For API integrations

Test mode is activated separately for each integration in the <span class="u-richtext-element">Settings</span> --> <span class="u-richtext-element">API Integrations</span> section.

The list of test cards is available in the API documentation.

For payment links

Test mode is also available for payment links created in the Allpay dashboard.

You can activate it in the <span class="u-richtext-element">Settings</span> --> <span class="u-richtext-element">Payment Links</span> --> <span class="u-richtext-element">Test Mode</span>.

Once activated, all payment links will operate in test mode. Test cards are provided on the payment page.

Test receipts

To generate test receipts in test mode, you need to enter the API keys from the test account of the corresponding service (e.g., Morning or EasyCount) in the module settings.

Keep reading
Integrations
Payment links
API
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

What should I do if the required integration is not on the list?

Payment integration is typically handled by the platform. Reach out to the platform's support team and request integration with Allpay — we'll provide technical assistance. If the platform allows you to develop the integration yourself, contact us for support.

Text Link

Is there an additional fee for payments via Bit and Apple Pay?

No, the commission for payments via Bit and Apple Pay is the same as for card payments.

Text Link

Do you have webhooks?

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

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

How often are withdrawals processed?

Payments for the month are processed on the 6th of the following month. Also we have option of weekly withdrawals. More information about withdrawals.

Text Link

Are there any additional costs?

Here are the additional costs you can expect:

  1. Digital receipts are provided through a third-party service, costing from 17 ILS/month.
  2. The withdrawal fee (transferring funds to your bank account) for amounts below 5000 ILS is 17.58 ILS (including VAT). For withdrawals in dollars and euros, banks may charge a fee of around 30 USD.
Text Link

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

We have Apple Pay and Bit. Google Pay coming in future.

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.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Text
Analytics
Text
Payment methods
Text
API
Text
Documents
Text
Profile
Text
Errors
Text
Security
Text
Payouts
Text
Sign up
Text
Integrations
Text
Payment links
Text
Pricing
Text
Popular
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

Installments

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

Weekly payouts

Option to receive payouts to a bank account weekly instead of monthly.

Apple Pay and Bit buttons

Apple Pay and Bit buttons on the payment page for quick payment without additional fees.

Digital receipts

Automatic generation of digital receipts (kabalot and hashbonit mas) through integration with a licensed service.