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
Withdrawals
Popular

Weekly payouts

Weekly (accelerated) payouts let you receive money more often than with the standard once-a-month schedule.

The module is currently in testing and available to a limited number of clients.

How it works

After a customer makes a payment, it is processed within 3–7 business days. Immediately after processing, the payment is added to your payout balance and becomes available for transfer to your bank account.

Every Monday, an automatic payout of available funds is executed. As a rule, the money appears in your bank account within three business days.

If needed, you can request a payout manually without waiting for Monday.

Examples

  • A payment made on Sunday and processed on Thursday will be included in the payout on the nearest Monday.
  • A payment made on Friday and processed on Tuesday will skip the Monday that fell within the processing period and will be paid the next Monday, unless you request the payout earlier manually.

Requirements

Before enabling the module, two conditions must be met:

  1. Using Allpay for at least three months.
  2. Total turnover of at least 15,000 ILS during that time.

These criteria help assess your business’s payment activity and reduce chargeback risks — situations where a business receives a large payout and the cardholder reports an unauthorized charge.

The module applies only to payments received after it is activated (it is not retroactive).

Activation

The module is enabled in <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Modules.</span>

After you request activation, we will send documents for signature. Once the acquiring institution approves them, the module will be turned on. The review usually takes 2–4 weeks.

After approval, payouts will automatically switch from monthly to weekly.

Fees

Since weekly payouts are considered accelerated, the credit company charges an additional fee on each payment. The fee amount and the calculation method are shown on the pricing page.

The fee is charged even if you temporarily use the manual payout mode, because the accelerated processing has already been completed and the payment is available for payout.

To stop paying the additional fee and return to the standard monthly schedule, disable the weekly payouts module. The new terms apply only to payments made after the module is disabled.

Notifications and documents

Payout notifications are sent by e-mail and in Telegram if these options are enabled in <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Notifications.</span>

On the 11th day of each month, the payout history shows a monthly payment breakdown and a fee receipt, which can be used for accounting.

Keep reading
Withdrawals

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

Subscriptions (recurring billing)

Subscriptions are recurring charges from the customer’s card without the need to re-enter card details. In Hebrew, this is called "Oraat Keva", which literally means "standing instruction".

Activate the subscriptions module in the <span class="u-richtext-element">Settings</span> → <span class="u-richtext-element">Modules</span> section.

Creating a subscription

<span class="u-richtext-counter">1</span> When creating a payment link, expand the “Additional” section and change the payment type to “Subscription”.

<span class="u-richtext-counter">2</span> Specify when the subscription should start and end, then click the “Create Link” button.

<span class="u-richtext-counter">3</span> Once the customer subscribes using this link, the subscription will appear on the main screen under the “Subs” (Subscriptions) menu.

Subscription start options

Immediately — the first charge will occur at the moment the subscription is created, and then recur on the same day each month.

In N days — the first charge will occur after the specified number of days from the subscription start date, and then continue monthly on that same day.“Date” — the first charge will occur on the selected date. If the selected date is in the past, the subscription cannot be created.

Day of month — the first charge will occur on the specified day of the month and repeat monthly on that same day. If the selected day matches the subscription start date, the charge will happen immediately. If the 30th or 31st is selected but the month doesn’t have that date, the charge will occur on the last day of the month (e.g., February 28th).

Date — the first charge will occur on the selected date. If the selected date is in the past, the subscription cannot be created.

Subscription end options

No end date — charges will continue until the subscription is manually canceled in the dashboard.

Date — charges will continue until the selected date. For example, if the end date is set to August 15, 2030, and charges occur on the 16th of each month, the last charge will take place on July 15, 2030, and there will be no charge in August.

After N charges — the subscription will end after the specified number of charges. For example, to create a one-year subscription, set it to 12.

Subscription statuses

<span class="u-richtext-element" style="background-color: rgba(68, 203, 138, 0.5)">Active</span> — charges are being processed successfully.

<span class="u-richtext-element" style="background-color: rgba(113, 124, 144, 0.2)">Completed</span> — all scheduled charges have been successfully processed.

<span class="u-richtext-element" style="background-color: rgba(242, 201, 76, 0.8)">Cancelled</span> — you manually cancelled the subscription charges.

<span class="u-richtext-element" style="background-color: rgba(221, 94, 94, 0.4)">Failed</span> — a charge attempt failed; the system will make up to 6 more retry attempts.

Tracking subscriptions

Charges from subscriptions appear in two sections:

  1. On the main payments screen, alongside other payments;
  2. In the “Subs” section, where you can view the full charge schedule for each subscription.

Notifications about subscription charges are sent by email and Telegram — just like regular payments — if the notification option is enabled in <span class="u-richtext-element">Settings</span> ➙ <span class="u-richtext-element">Notifications</span>.

Cancelling a subscription

In the settings of the desired subscription, select “Cancel subscription”. The customer will receive an email notification that their subscription has been cancelled.

It is not possible to resume charges on a cancelled subscription. The customer will need to re-subscribe.

Failed charge

A scheduled subscription charge may fail if the card has insufficient funds, the credit limit is exceeded, the card has expired, or it has been cancelled.

If a charge fails, the system will automatically make up to 6 more attempts — one per day. If all attempts fail, the subscription will remain in “Failed” status, and the charge history will include a note: “Subscription stopped”.

In the subscription management menu, a “Retry charge” option will appear, allowing you to manually initiate a new charge. Before retrying, we recommend checking with the customer to make sure their card is working properly.

Subscriptions vs installments

Since installment payments work only with Israeli credit cards, some businesses use subscriptions to collect payments from international customers in multiple parts.

It’s important to understand the difference: With installments you are guaranteed to receive the full amount — even if the customer’s card has insufficient balance on future dates. With subscriptions, each charge is a separate transaction, and if the card has no funds at the time of billing, the charge will fail.

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

Hosted Fields: how to embed payment form on a website

Hosted Fields allow you to embed card input fields on your website or app, fully adapting them to the system's design. They create a seamless interface experience and eliminate the need to redirect the customer to an external payment page. This improves usability and conversion rates.

The input fields for the card number, expiration date, and CVC are represented as an iFrame. We provide the ability to fully customize their CSS and embed them on your site as a single frame.

Tutorial

Setup

<span class="u-richtext-counter">1</span> In the <span class="u-richtext-element">Settings</span> → <span class="u-richtext-element">API Integrations</span> section, enable Hosted Fields for the required integration.

<span class="u-richtext-counter">2</span> Click on the <span class="u-richtext-element">Hosted Fields Settings</span> button, customize the CSS styles, and specify the domains where the iFrame will be placed. Domains should be entered on separate lines. Subdomains must be added separately or specified in the format *.domain.com.

<span class="u-richtext-counter">3</span> On your website’s payment page, place an iFrame, assign any custom value to its <span class="u-richtext-element">id</span> parameter, and in the <span class="u-richtext-element">src</span> parameter specify the payment URL (payment_url) returned by Allpay in response to a payment creation request (see Payment request section in the API Reference). Payment URLs can also be generated using the Allpay API Tester.

<span class="u-richtext-counter">4</span> Add the following script to the payment page:

1<script src="https://allpay.to/js/allpay-hf.js"></script>
2    <script>
3    let Allpay = new AllpayPayment(
4        {
5            iframeId: 'iframe_id',
6            onSuccess: function() { alert('Payment success'); },
7            onError: function(error_n, error_msg) { alert('Payment error: ' + error_n + ' (' + error_msg + ')'); }
8        }
9    );
10    </script>

In the script, replace the following parameters with your own:

  • <span class="u-richtext-element">iframeId</span> — the id value of your iFrame.
  • <span class="u-richtext-element">onSuccess</span> — the handler for successful payment completion (what should happen after successful payment).
  • <span class="u-richtext-element">onError</span> — the handler for payment errors. For example, you can display the payment error message on the page.

<span class="u-richtext-counter">5</span> To initiate the process, execute the function <span class="u-richtext-element">Allpay.pay()</span>, for example, by assigning it to the "Pay" button:

<button onclick="Allpay.pay();">Pay</button>

Installments

If you enabled the installment option for the customer when creating the payment by passing a value in the <span class="u-richtext-element">inst</span> parameter, a field for selecting the number of payments will automatically appear in the frame.

Quick Pay Buttons

Apple Pay and Bit buttons will not be displayed in preview mode or within the iFrame if they are not activated in the <span class="u-richtext-element">Settings</span> → <span class="u-richtext-element">Modules</span>.

Additionally, these buttons are not displayed in test mode. As well as in live mode for installment or subscription payments.

Apple Pay button

To ensure Apple Pay button works correctly, set the attribute <span class="u-richtext-element">allow="payment *"</span> in the <span class="u-richtext-element">iframe</span> tag. Example:

<iframe id="myPaymentIframe" allow="payment *" src="..." >
Keep reading
API
Travolta confused - no search results
No results found.
Important updates on the Allpay Telegram channel (ad-free)
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 integrations?

No, any number of integrations is included in the plan's price.

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 Apple Pay, Google Pay and Bit fast payment buttons?

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

Text Link

Do you have webhooks?

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

Text Link

How can I find out all the costs I will incur?

Complete information is available on the Pricing page.

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

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

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
Withdrawals
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

Integrations

Integrate payments with online stores, CMS, and chatbots using a single Allpay account.

Apple Pay and Bit buttons

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

Installments

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

Digital receipts

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