Integrating JCB payments for Connect platforms and connected accounts

This guide describes how Connect platforms can allow their Japan-based connected accounts to accept JCB payments. Connected accounts in other countries can accept JCB cards through the card_payments capability. In Japan, connected accounts accept JCB cards through the jcb_payments capability, which is automatically requested when you request card_payments.

While your connected accounts can start accepting these cards immediately, JCB automatically reviews all accounts. In some cases, JCB may reject your connected account, or request additional information about it or its owner. In this case, Stripe sends a capability.updated webhook and reaches out to you by email. Until the connected account is approved by JCB, Stripe temporarily pauses the ability of the connected account to accept new JCB payments. Any JCB payments that were processed before the pause are automatically refunded.

Changes on April 22–23, 2025

If you received an email (subject: Simplified JCB acceptance for your connected accounts) in February 2025, your platform is included in an upgrade from the legacy JCB behavior:

  • April 22, 2025: your connected accounts can accept JCB payments immediately.
  • April 23, 2025: JCB is enabled on eligible existing connected accounts. Accounts with invalid or incomplete data (e.g. invalid kana fields) are not included.

This change also adds additional validation on kana fields:

Category

Fields

Notes

Statement descriptors

  • settings.payments.statement_descriptor_kana
  • settings.card_payments.statement_descriptor_prefix_kana

Only kana, dots, spaces, and hyphens

Company name

  • company.name_kana

Only kana, dots, spaces, and hyphens

Names

  • representative.last_name_kana
  • representative.first_name_kana
  • directors.last_name_kana
  • directors.first_name_kana

Only kana, dots, spaces, and hyphens

Addresses

  • company.address_kana
  • representative.address_kana

Only kana, Latin characters, numerals, dots, spaces, and hyphens

For Express connected accounts, Stripe’s hosted onboarding will show the appropriate errors when validation fails. If you use Custom connected accounts, you will need to return the validation errors in your application.

If you create payments without using on_behalf_of (so your platform processes card payments for your connected accounts), or you do not plan to create new Japan-based connected accounts, these changes likely do not have any impact for you.

If you are a non-Japanese platform, you must complete the form in the Connect regional settings on your dashboard before your Japanese connected accounts can accept JCB payments.

Webhooks

When JCB has made a decision on the application of your account, Stripe notifies you using a capability.updated webhook. You may want to use this information to hide JCB acceptance logos if you create your own custom checkout screen.

Details on the account’s change of status is also sent over email to the platform account and you can request a new review for your connected account.

Status

Webhook data

Approved

type: "capability.updated"
data.object.id: "jcb_payments"
data.object.status: "active"
account: The ID of the connected account that was approved.

Rejected

type: "capability.updated"
data.object.id: "jcb_payments"
data.object.status: "inactive"
account: The ID of the connected account that was rejected.

Pending decision

type: "capability.updated"
data.object.id: "jcb_payments"
data.object.status: "pending"
account: The ID of the connected account that has been submitted to JCB.

Checking the status of connected accounts

You can verify the status of your connected account’s JCB acceptance by querying the status of the jcb_payments capability via the Capabilities API.

Example Python code:

stripe.Account.retrieve_capability(
 "acct_1CmEuvFjAq3Pk1RD",
 "jcb_payments",
)

Status

Response from Capabilities API

Approved

status: "active"

Rejected

status: "inactive"

Not requested

status: "unrequested"

Pending decision

status: "pending"

Legacy JCB support

For older platforms, you need to request the jcb_payments capability manually when creating the account. If your platform account was created before Oct 17, 2024, or if you didn’t receive our email notification (subject: Simplified JCB acceptance for your connected accounts) in February 2025, your platform uses the legacy JCB process. If you encounter an error when requesting the capability, please reach out to japan-jcb-payments@stripe.com.

Your connected accounts can start to accept JCB cards after JCB approves them. In some cases, JCB requests additional information or actions to be taken from you, or your connected account. If so, Stripe notifies you by email.

Example Python code: requesting the capability when creating new account

stripe.Account.create(
 country="JP",
 requested_capabilities=['jcb_payments', 'card_payments', 'transfers'],
)

Example Python code: requesting the capability on an existing connected account

stripe.Account.modify_capability(
 "acct_1CmEuvFjAq3Pk1RD",
 "jcb_payments",
 requested=True,
)

Non-Japanese platforms

After providing answers about your Stripe integration on your regional Connect settings, you are able to start using the capability for your connected accounts.

If your connected accounts are not in Japan, you do not need the jcb_payments capability to accept JCB cards.

Additional information

Did this answer your question?