---
title: "MultiPay (Legacy)"
description: "Integration guide for KOMOJU MultiPay popup iframe widget (legacy). For new integrations, use Hosted Fields."
url: "https://docs.priv.staging.komoju-dev.tools/en/docs/development/multipay-legacy"
source_url: "https://docs.priv.staging.komoju-dev.tools/en/docs/development/multipay-legacy.md"
language: en
last_modified: "2025-06-06"
---

> ⚠️ **Warning:** **Limited Support**
>
> KOMOJU MultiPay is a pop-up widget with a payment method selector and fields. For new integrations we recommend [Hosted Fields](https://docs.priv.staging.komoju-dev.tools/en/docs/integration-guides/introduction-to-hosted-fields.md) for increased flexibility and coherent UX.

MultiPay works by creating a secure IFrame hosted by KOMOJU. This way payment details never touch your application. Note, the widget does not create payments — it creates [tokens](https://docs.priv.staging.komoju-dev.tools/en/api-reference#2025-01-28/tag/tokens), which can be used to process payments via our [JSON API](https://docs.priv.staging.komoju-dev.tools/en/api-reference#2025-01-28/tag/payments/POST/payments).

# Example (Using HTML)

```html
<form action="/charge" method="POST">
  <script
      src="https://multipay.komoju.com" class="komoju-button"
      data-key="your_publishable_key"
      data-amount="1000"
      data-endpoint="https://komoju.com"
      data-currency="JPY"
      data-locale="en"
      data-title="Product Name"
      data-description="Product Description"
      data-methods="credit_card,konbini,bank_transfer,pay_easy,web_money,bit_cash,net_cash,japan_mobile,paypay,linepay,merpay,rakutenpay,nanaco,dospara,steam_prepaid_card"
      data-hide-credit-card-brands="visa,master">
  </script>
</form>

```

# Example (Custom JavaScript)

```html
<script src="https://multipay.komoju.com"></script>

<form id="pay-form" action="/purchase">
  <input type="hidden" name="komojuToken"/>

  <button id="customButton">Pay Now</button>
</form>

<script>
 var payForm = document.getElementById("pay-form")

 var handler = Komoju.multipay.configure({
   key: "your_publishable_key",
   token: function(token) {
     payForm.komojuToken.value = token.id;
     payForm.submit();
   }
 });

 document.getElementById("customButton").addEventListener("click", function(e) {
   handler.open({
     amount:       1000,
     endpoint:     "https://komoju.com",
     locale:       "en",
     currency:     "JPY",
     title:        "Product Name",
     description:  "Product Description",
     methods: [
       "credit_card","konbini","bank_transfer","pay_easy","web_money","bit_cash","net_cash","japan_mobile","paypay","linepay","merpay","rakutenpay","nanaco","dospara","steam_prepaid_card"
     ],
     hideCreditCardBrands: ['visa', 'master']
   });

   e.preventDefault();
 });
</script>

```

# Parameters

## Required

| Parameter | Description |
| --- | --- |
| `key` | Publishable Key. The Key differs between test mode and live mode. |
| `token` | Callback for processing token |

## Optional

| Parameter | Description | Default |
| --- | --- | --- |
| `amount` | Payment amount |  |
| `endpoint` | Endpoint URL | `https://komoju.com` |
| `currency` | Currency | `JPY` |
| `locale` | Locale ("en", "ja", and "ko" are supported) | `auto` |
| `title` | Company or product name |  |
| `description` | Product description |  |
| `panelLabel` | Submit button text | `Pay {{amount}}` |
| `methods` | Payment methods to enable |  |
| `image` | Logo URL (80x80 Image) |  |
| `prefillEmail` | Auto-populate email field |  |
| `hideCreditCardBrands` | Hide icons of some credit card brands (an array of string values of `visa`, `jcb`, `master`, `amex` and `diners`) |  |

# PCI Compliance

All merchants accepting credit card payments are required to be PCI compliant. MultiPay allows merchants to be SAQ-A compliant since sensitive information is never processed on your server.

# SSL

All communications between KOMOJU MultiPay and the KOMOJU API are encrypted with SSL. To minimize the possibility of man-in-the-middle attacks, we recommend that websites using KOMOJU Checkout also use SSL.
