Help Center

Found 100 out of 200

How to integrate your platform with Allpay

Platform developers that need a payment solution can integrate with Allpay.

This model is suitable for platforms that want to add Allpay as a payment method and be listed in the Allpay integrations catalog. It does not include partner payouts and is based on mutual promotion (other partnership models).

This integration will become available to Allpay customers as a ready-made way to connect your platform.

Requirements

To have your platform added to the Allpay integrations catalog, the following conditions must be met:

  1. You do not participate in the Allpay partner or referral program.
    This integration is based on mutual promotion.
  2. The integration must be approved by Allpay in advance.
    Your platform must be in demand in Israel and already used by real customers.
  3. You are ready to support the integration on an ongoing basis.
    You are responsible for maintaining the integration and providing customer support on your side.

How to start

To approve the integration of your platform, contact Allpay support and briefly describe:

  • your platform;
  • who your customers are;
  • how exactly you want to use Allpay payments;
  • which integration method you plan to use: manual or automated;
  • whether there are already customers who need this integration.

Integration methods

Integration with Allpay can be implemented in two ways:

  • manual integration;
  • automated integration.

Manual integration

With manual integration, you implement the connection on your side and publish instructions for customers on your website.

The customer will need to:

  1. Open the integrations section in the Allpay dashboard.
  2. Create API keys.
  3. Copy the keys and paste them into the settings of your platform.

Technical involvement from Allpay is usually not required for this type of integration. After implementation, send us information about your platform and a link to the Allpay connection instructions on your website.

After review and approval, your platform will be added to the Allpay integrations catalog.

Automated integration

Automated integration allows the platform to be connected without manually copying API keys. The user clicks the connection button in the Allpay dashboard, confirms the connection on your platform side, and the API keys are transferred automatically.

Before implementation, Allpay provides your platform with:

<span class="u-richtext-element">partner_id</span> — the individual integration ID;

<span class="u-richtext-element">secret_key</span> — the secret key for signing and verifying server requests.

<span class="u-richtext-counter">1</span>Redirect from Allpay to your platform page

The user opens the <span class="u-richtext-element">Settings</span> → <span class="u-richtext-element">Integrations</span> → <span class="u-richtext-element">Your platform</span> section in the Allpay dashboard and clicks the connection button.

Allpay generates a one-time token for linking the accounts and redirects the user to the confirmation page on your platform side, for example:

https://your-platform.com/connect?token=TOKEN

Where <span class="u-richtext-element">TOKEN</span> is the one-time token created by Allpay.

The standard token lifetime is 1 hour.

<span class="u-richtext-counter">2</span>Confirmation on your platform side

On your side, the user confirms the connection under their account.

After confirmation, your platform redirects the user back to the universal Allpay endpoint:

https://allpay.to/services/endpoints/exchange.php?act=connect&partner_id=PARTNER_ID&token=TOKEN&external_uid=USER_ID&display_name=DISPLAY_NAME

Where:

<span class="u-richtext-element">act=connect</span> — the integration connection action;

<span class="u-richtext-element">partner_id</span> — the individual integration ID;

<span class="u-richtext-element">token</span> — the one-time token created by Allpay;

<span class="u-richtext-element">external_uid</span> — the internal user ID on your platform.

<span class="u-richtext-element">display_name</span> — a human-readable name of the account being connected (e.g. login, name or subdomain on your platform). This is the value shown in the Allpay dashboard's integrations list — pass something the user will recognize themselves, not an internal technical identifier. The value must be URL-encoded, max 255 characters.

<span class="u-richtext-counter">3</span>Creating and sending API keys to your platform

After verifying the token, Allpay links the Allpay user with the user on your platform, creates or finds the API keys <span class="u-richtext-element">api_login</span> and <span class="u-richtext-element">api_key</span>, and then sends them to your endpoint.

Example endpoint on your platform side:

POST https://your-platform.com/allpay/partner/exchange

Request body:

{
  "external_uid": "USER_ID",
  "api_login": "API_LOGIN",
  "api_key": "API_KEY",
  "sign": "SIGNATURE"
}

Where:

<span class="u-richtext-element">external_uid</span> — the user ID on your platform;

<span class="u-richtext-element">api_login</span> — the Allpay user's API login;

<span class="u-richtext-element">api_key</span> — the Allpay user's API key;

<span class="u-richtext-element">sign</span> — the request signature.

<span class="u-richtext-counter">4</span>Request signature

The server request with the API keys is signed using HMAC SHA-256.

Signature format:

hash_hmac('sha256', $payload_json, $secret_key);

Where:

<span class="u-richtext-element">payload_json</span> — the JSON request body;

<span class="u-richtext-element">secret_key</span> — the individual secret key.

<span class="u-richtext-counter">5</span>Response from your platform

After successfully receiving and saving the keys, your platform must return a successful response, for example:

{
  "ok": true
}

After this, Allpay marks the integration as active.

Disconnecting the integration

If the user disconnects the integration on your platform side, you must delete the saved API keys on your side.

In addition, your platform must send a POST request to Allpay to disconnect the integration:

POST https://allpay.to/services/endpoints/exchange.php?act=disconnect&partner_id=PARTNER_ID

Request body:

{
  "external_uid": "USER_ID",
  "sign": "SIGNATURE"
}

Where:

<span class="u-richtext-element">external_uid</span> — the user ID on your platform;

<span class="u-richtext-element">sign</span> — the request signature.

The disconnect request is also signed using <span class="u-richtext-element">secret_key</span>.

If the user disconnects the integration from the Allpay dashboard, Allpay can send a disconnect notification to your platform endpoint. To receive this notification, provide an endpoint on your side.

Connecting via a link from your dashboard

You can start the connection on your side instead of from the Allpay dashboard. You generate a signed link and show it to the user (a button in your dashboard):

https://allpay.to/services/endpoints/exchange.php?partner_id=<your id>&show=start&state=<…>&display_name=<…>&expires=<unix>&return_url=<…>&sign=<…>

Link parameters:

<span class="u-richtext-element">partner_id</span> — your partner ID;

<span class="u-richtext-element">show</span> — always <span class="u-richtext-element">start</span>, not included in the signature;

<span class="u-richtext-element">state</span> — any value of your own, for example a branch ID, up to 500 characters (a longer value is truncated). We return it in the <span class="u-richtext-element">state</span> parameter when redirecting to your <span class="u-richtext-element">connect_url</span>. It is not passed any further (neither in <span class="u-richtext-element">act=connect</span> nor in the request to <span class="u-richtext-element">keys_url</span>), so store the <span class="u-richtext-element">token</span> and <span class="u-richtext-element">state</span> pair on your side;

<span class="u-richtext-element">display_name</span> — what is being connected (the branch name), up to 255 characters. Shown to the user on the confirmation screen. The name shown in the Allpay dashboard is taken from <span class="u-richtext-element">display_name</span> in your <span class="u-richtext-element">act=connect</span> request, so pass it there as well;

<span class="u-richtext-element">expires</span> — Unix time until which the link is valid. No later than 30 days from now; a link with a longer validity period is rejected;

<span class="u-richtext-element">return_url</span> — optional parameter; the address to send the user back to after the connection. <span class="u-richtext-element">https</span> only, and the host must match the host of your <span class="u-richtext-element">connect_url</span> (subdomains do not match). A link with any other address is rejected;

<span class="u-richtext-element">sign</span> — the link signature. Сalculate with the same rules as for API requests.

What happens next:

1. The user opens the link and signs in to Allpay, if not signed in yet.

2. On the Allpay screen, the user sees which Allpay company is being connected and what exactly (<span class="u-richtext-element">display_name</span>), and clicks "Connect".

3. Allpay creates a one-time token (valid for 60 minutes) and redirects the user to <span class="u-richtext-element">connect_url?token=&lt;token&gt;&amp;state=&lt;state&gt;</span>.

4. Your server returns the user to https://allpay.to/services/endpoints/exchange.php?partner_id=<id>&act=connect&token=<token>&external_uid=<uid>&display_name=<name>

5. Allpay sends the keys to your <span class="u-richtext-element">keys_url</span>; from there everything works the same way as when connecting from the Allpay dashboard. Your server must respond with exactly HTTP 200.

6. The user is returned to <span class="u-richtext-element">return_url</span>.

Important:

  • The link is reusable and is not tied to a specific Allpay company: whoever opens the link and signs in to Allpay will connect it. Keep the <span class="u-richtext-element">expires</span> period short and do not use guessable <span class="u-richtext-element">state</span> values.
  • Only one <span class="u-richtext-element">external_uid</span> of your platform can be connected to an Allpay company at a time. Connecting again replaces the previous one.
  • Open and confirm the link in the same browser. A new link from your platform opened in the same session replaces the previous one.

Security requirements

For automated integration, the following requirements must be met:

  1. HTTPS only
    All requests between Allpay and your platform must be sent only over HTTPS.
  2. Secure key storage
    The received <span class="u-richtext-element">api_login</span> and <span class="u-richtext-element">api_key</span> must be stored securely on your side.
  3. Server request signatures
    Server requests must be signed using <span class="u-richtext-element">secret_key</span>.

<span id="info">Information for the integrations catalog</span>

After the technical part is completed and the integration is working, send us the following information to add your platform to the Allpay integrations catalog:

  • platform logo in SVG format;
  • short platform description of up to 200 characters;
  • extended platform description of up to 360 characters;
  • technical support contacts for the integration: email and WhatsApp or Telegram;
  • information on whether your integration supports installments, recurring payments, and refunds;
  • link to the Allpay connection instructions on your website.

Allpay branding guidelines

Use the correct brand spelling:

correct: Allpay;

incorrect: AllPay, All Pay, allpay.

Use the official Allpay logo.

Keep reading
Integrations
API

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: <span class="u-richtext-element">100 CAD (226 ILS)</span> 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 (optional parameter <span class="u-richtext-element">currency_payment</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

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

Always send this parameter, even if display currency is same as payment currency.
  • the item cost provided in <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_payment</span> using current Google Finance exchange rate;
  • the customer is always charged in the payment currency (<span class="u-richtext-element">currency_payment</span>). If not porovided, ILS used as default.
  • If the display currency and the payment currency are different, the webhook includes the <span class="u-richtext-element">currency_course</span> parameter with the conversion rate that was applied.

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

Japanese yen — JPY

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

Always send <span class="u-richtext-element">currency_display</span> even if it is matches <span class="u-richtext-element">currency_payment</span>.

Example 1

{  
  "items": [
    {
      "name": "Product name",
      "price": "100",
      "qty": "1",
      "vat": "0"
    }
  ],
  "currency_payment": "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_payment</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_payment": "CAD"
  }

API will return error since <span class="u-richtext-element">currency_display</span> was not provided.

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

Users and access

In <span class="u-richtext-element">Settings</span> → <span class="u-richtext-element">Team</span> you can add employees as users of your Allpay account.

Access permissions

The <span class="u-richtext-element">Team</span> section is available only to the business owner. Only the owner can add users, edit their details and manage access.

Users you add have access to all other sections of the account. They cannot add other users or edit their details. Custom access permissions are not currently available.

Adding a user

  1. Open <span class="u-richtext-element">Settings</span> → <span class="u-richtext-element">Team</span> and click the plus button.
  2. Enter the user’s full name and position on the team.
  3. Add at least one contact for signing in: an email address, phone number or Telegram.

You can add multiple contacts, including several of the same type, such as multiple email addresses. The same contact cannot be linked to different users.

Verifying contacts

Each contact you add must be verified within 48 hours. To do this, the user must sign in to Allpay using that contact.

Allpay does not send automatic invitations, so let the employee know that they have been given access. You can copy the sign-in link from the user’s profile.

If the user does not verify the contact within this time, the business owner can extend the deadline by another 48 hours by clicking the corresponding button.

Updating details

The business owner can edit a user’s details by clicking “Edit” on the user’s card.

The business owner’s details and contacts can only be updated if the owner personally contacts Allpay Support.

Disabling a user

A user can sign in to the account while the “Account active” toggle on their card is enabled.

If you turn it off, the user will lose access to the account and be automatically signed out. If they previously connected the account to an AI assistant through MCP, that access will also be revoked.

The business owner cannot be disabled.

Activity history

You can view all users’ activity in the “Activity log” tab.

Access to multiple companies

If the same user contact is listed for several companies, the user can switch between them in the settings menu or the “Profile” section.

Contacting support

When contacting Allpay Support about your account, use a contact listed under your name in the “Team” section.

If a request comes from a contact that is not listed for the business owner or an employee in the “Team” section, Allpay Support may decline to disclose sensitive account information.

Keep reading
Profile
Security

J5 transaction: reserving funds on a client's card for later charge

A J5 transaction is a two-step payment process that begins with a pre-authorization. In the first step, the specified amount is reserved (held) on the buyer’s card for up to 168 hours (7 days) without actually charging the card.

To charge the reserved funds, the seller must initiate a charge request within that time frame and within the reserved amount. If the charge is for a smaller amount, the remaining balance is automatically released.

The term “J5” is used in Israeli payment systems as an internal code to refer to this type of transaction.

Use Cases

Delivery orders – The amount is reserved when the order is placed and charged after delivery is confirmed.

Variable price orders – For example, when buying products sold by weight (meat, fruits, vegetables), the final price is determined after weighing.

‍Pay as you go – The customer uses a service within a limit, and the final amount is calculated at the end.

Car rentals & hotels – The amount is reserved to cover possible damages or extra expenses.

Custom-made products – When ordering custom furniture or jewelry, the amount is reserved at checkout and charged when the product is ready.

Limitations

The charged amount cannot exceed the reserved amount.

Charging is allowed only once. Any attempt to charge again or after 168 hours will result in an error.

Supported Payment Methods

Both Israeli and international credit and debit cards are supported.

Quick payment methods (Apple Pay, Google Pay, Bit) are not supported for J5. These buttons will be hidden on the authorization page.

Important to know

An authorization may look like an actual payment to the customer: some card issuers send an SMS in the same format as they do when a card is charged. However, in the card issuer’s online account, the transaction is usually marked as “Amount not final” or something similar.

If you subsequently charge less than the authorized amount, the remainder is released automatically — there is no need to wait until the 168-hour period expires. However, the card issuer may need a few hours to update the transaction details and make the unused amount available to the customer again.

How to Use

J5 functionality is available to developers via the Allpay API: view API documentation.

Demo

Keep reading
API

How to receive installment payments (tashlumim)

When creating a payment link, you can enable installment payments and set the maximum number of installments — up to 12. The customer can choose how many installments to split the total into, within the limit you set.

If the customer chooses two or more installments, their card will be charged and you will receive the funds in monthly installments until the full amount is paid.

There is no additional installment fee for either the business or the customer. If you want to receive the full amount upfront, you can activate the “Installments upfront” service, which carries an additional fee.

Installment payments are available only with credit cards issued in Israel.

<span class="u-richtext-counter">1</span> Create a payment link

When creating the link, open the <span class="u-richtext-label">More</span> section, select <span class="u-richtext-element">Installments</span> as the payment type, and specify the maximum number of payments the customer will be able to choose.

<span class="u-richtext-counter">2</span> Send the link to the customer

On the payment page, the customer will see an option to choose the number of payments. If they leave it as one payment, the full amount will be charged immediately.

Example

For a service costing 6,000₪, you enabled up to 5 installments. The customer chose to pay in 3 installments. At the time of payment, 2,000₪ will be charged, another 2,000₪ a month later, and the final 2,000₪ in the third month.

A receipt for installment payments is generated for the full amount immediately. The payment schedule is shown in the receipt.

If the installment payment fails

The most likely reasons are:

  1. The customer’s card is not a credit card but a debit card;
  2. The card was not issued by an Israeli bank;
  3. The card’s credit limit (misgeret) is lower than the total payment amount.

Why installments are not available for foreign cards

Installment payments work only with Israeli credit cards within their credit limit. Since the system cannot manage credit limits of foreign banks, payment splitting on such cards is not supported.

This is a limitation of the financial system. In essence, installments are a form of credit. If the customer doesn’t have sufficient funds in their account, you (the business) still receive the next payment because the bank provides credit to the customer. Managing credit limits and collecting debts in case of nonpayment can only be guaranteed within the country.

If the customer cancels the card

You will continue receiving installment payments even if the customer closes or cancels the credit card that was used for the payment.

Keep reading
Payment links
Popular

Language of emails and notifications from Allpay

Each user can choose the language of emails and notifications from Allpay.

To change the language, go to <span class="u-richtext-element">Settings</span> → <span class="u-richtext-element">Profile</span> and select an option in the “Email and notification language” field.

This setting applies to all emails and Telegram notifications about payments, payouts, and account status, as well as email newsletters.

Recipients outside your team

In the <span class="u-richtext-element">Notifications</span> section, you can specify email addresses and Telegram accounts for people who have not been added as users. They will receive notifications without access to the system.

These messages are sent in the system language selected in the company owner’s profile.

Customer emails

This setting does not affect customer emails. Customers receive payment emails in the language of the payment page.

Keep reading
Profile

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:

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

Examples of bank letters:‍ Discount, Leumi, 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–4 business days.

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

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">Integrations</span> → <span class="u-richtext-element">My sites</span> enable Hosted Fields for the required integration.

<span class="u-richtext-counter" id="domains">2</span> Click <span class="u-richtext-element">Hosted Fields settings</span> and specify the domains where Hosted Fields will be used. Enter each domain or subdomain on a separate line without “https://”, for example: <span class="u-richtext-element">mysite.com</span>. To allow all subdomains, use the <span class="u-richtext-element">*</span> wildcard, for example: <span class="u-richtext-element">*.mysite.com</span>.

If needed, adjust the CSS styles for the input fields.

<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

For the Apple Pay button to work correctly, complete the following two steps:

<span class="u-richtext-counter">1</span>Add the <span class="u-richtext-element">allow="payment *"</span> attribute to the <span class="u-richtext-element">iframe</span> tag. Example:

<iframe id="myPaymentIframe" allow="payment *" src="..." >

<span class="u-richtext-counter">2</span>Upload the Apple Pay certificate to your domain’s server. The certificate and installation instructions are available in the Hosted Fields settings in your Allpay account.

<span id=google-pay>Google Pay button</span>

For the Google Pay button to work on your domain, the domain must be verified by Google, after which your Google Merchant ID must be added to the payment system.

<span class="u-richtext-counter">1</span>Create a profile in the Google Pay & Wallet Console.

<span class="u-richtext-counter">2</span>In Google Pay API → Web integration, enter your domain and select Gateway as the integration type.

<span class="u-richtext-counter">3</span>Upload screenshots of the buyflow from your website. After activating Google Pay in Allpay’s payment modules, the Google Pay button will appear but will not work yet. This will allow you to take screenshots of the Item selection, Pre-purchase screen, and Payment method screen.

For the Google Pay API payment screen, upload a screenshot of the error that appears when you click the button. For the Post-purchase screen, upload a screenshot of your successful payment page, even if it does not mention Google Pay.

<span class="u-richtext-counter">4</span>Submit your application and wait for Google’s approval. The review may take several business days.

<span class="u-richtext-counter">5</span>Copy your Google Merchant ID and enter it in the Hosted Fields settings in your Allpay account. It may take several days for the ID to be configured in the payment system, after which Google Pay payments will start working.

Your website may not pass Google’s review if it does not comply with the Google Pay and Wallet API's Acceptable Use Policy or the Google’s Terms of Service.

If you represent a nonprofit organization (amuta) follow Google’s instructions.

Embedding in a mobile app (WebView)

If you embed the payment page in a mobile app using a WebView (android.webkit.WebView or WKWebView), some payment methods may not work correctly. For example, Bit or 3D Secure verification may redirect the user to a payment or banking app using special links such as <span class="u-richtext-element">intent://</span>

Unlike a standard browser, WebView does not always handle these redirects automatically. As a result, the external app may not open, preventing the user from completing the payment.

We recommend opening the payment page using a system browser component:

  • Chrome Custom Tabs on Android;
  • SFSafariViewController on iOS.

These components behave similarly to a standard mobile browser and provide better support for redirects to payment and banking apps.

If you need to use WebView, handle navigation within the mobile app:

  • open regular <span class="u-richtext-element">http://</span> and <span class="u-richtext-element">https://</span> links inside the WebView;
  • pass links that use other schemes to the operating system so it can open the appropriate app;
  • if the required app is not installed, use the provided fallback link to open the browser, App Store, or Google Play.

This limitation is related to how WebView handles external links, not to Hosted Fields itself.

Keep reading
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

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

Are there any additional costs?

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

Text Link

Does Allpay only work as an app?

No, your customer won't need to install Allpay. They will access the payment page just like any other website page.

Text Link

Do you have webhooks?

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

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

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.

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

Digital receipts

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

Installments

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

Integrations

Connect unlimited online stores, CMS platforms, and AI tools including ChatGPT and Claude.

Weekly payouts

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