PayPay is Japan's dominant QR-code mobile wallet — the app that, almost single-handedly, dragged a famously cash-loving country into cashless payments.
Needs work: freshness conflict · token source unverified · verification v2 missing
PayPay is Japan's dominant QR-code mobile wallet — the app that, almost single-handedly, dragged a famously cash-loving country into cashless payments. Its visual language is loud where Japanese fintech is traditionally quiet: a single, screaming PayPay Red (#FF0033) sits at the center of everything, and the entire interface orbits it. Where a legacy Japanese bank app whispers in navy and gray, PayPay shouts in pure, saturated red. That red is the brand; remove it and nothing is left.
The atmosphere is bright, confident, and aggressively friendly. Surfaces are white (#ffffff) and very-light-gray (#f5f5f5); text is near-black (#222222); and the red functions as both the brand mark and the universal "tap here / this is money" signal. The aesthetic is closer to a consumer retail app — think convenience-store energy, point campaigns, lottery-style "あたり" (you won!) moments — than to the austere, trust-through-restraint posture of a private bank. PayPay's thesis is the opposite of restraint: payments should feel fun, rewarding, and instant, and the design celebrates every transaction with motion, sound, and color.
Typography is unapologetically system-native Japanese: Hiragino Kaku Gothic on iOS, Noto Sans / Yu Gothic on Android and web, with rounded, friendly weights for headlines. There is no proprietary typeface — PayPay's identity lives in color and the wordmark, not in custom type. Numerals get heavy weight because balances and point totals are the emotional payload of the app.
What defines PayPay visually is the balance/point hero: a large red or white number, the cheerful payment-complete screen, and the omnipresence of the red round "PayPay" wordmark badge. The brand is mobile-first to the bone — designed for one-handed use at a checkout counter in under two seconds.
Key Characteristics:
#FF0033) as the singular brand and primary interactive color — bold, saturated, impossible to miss#FF0033): The brand. Primary CTAs, the wordmark badge, active states, key balances, selection highlights. Every tappable money-action is this red.#E0002E): Darker red for hover/pressed state on red CTAs.#CC0029): Strongest red — used sparingly for emphasis on red-on-red layering and gradients.#FFEBEF): Very light red wash — informational backgrounds, selected-row tint, subtle brand-tinted surfaces.#ffffff): Page background, card surfaces, text on red.#222222): Primary heading and body text. Warm-neutral near-black, never pure #000.#FF0033): Official brand red — the wordmark, app icon background, and all marketing key art. The single non-negotiable brand asset.#00B900): Payment success, positive confirmations, "完了" states. (Echoes the LINE-green of the parent LY group ecosystem.)#E0002E): Errors, destructive actions. Distinguished from brand red by being slightly deeper and paired with an alert icon (brand red alone never means "error").#FF8800): Pending states, expiring-points warnings, attention banners.#0088FF): Informational links, neutral system notices, KYC/verification flows.#FFB200): PayPayポイント (points) accent — coins, point totals in campaign contexts, "もらえる" moments.#f5f5f5): Lightest gray — page section background, grouped-list backdrop.#eeeeee): Card fills on white, disabled surfaces.#e0e0e0): Default border, dividers, input outlines.#cccccc): Strong border, disabled icon fills.#999999): Placeholder text, inactive icons.#767676): Caption text, secondary labels, metadata.#555555): Body text, descriptions.#222222): Headings, strong labels, primary text.#e0e0e0 (gray200). Card borders, input borders, dividers.#cccccc (gray300). Emphasized borders, active input outline base.#ffffff. Tooltips, dropdowns, floating panels.rgba(0,0,0,0.5). Modal and bottom-sheet backdrop — neutral black, not red-tinted."Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serifNoto Sans JP Bold and system bold for balances and point totals. No proprietary typeface."SF Mono", Menlo, Consolas, monospace — rare, used only in developer/merchant dashboards.| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Display Hero | Noto Sans JP | 32px | 700 | 44px (1.38) | normal | Splash, campaign hero, big point moments |
| Balance Display | Noto Sans JP | 28px | 700 | 36px (1.29) | normal | Wallet balance — the emotional center |
| Display Large | Noto Sans JP | 24px | 700 | 34px (1.42) | normal | Section headers, key metrics |
| Heading Large | Noto Sans JP | 20px | 700 | 28px (1.40) | normal | Feature titles, modal headers |
| Heading | Noto Sans JP | 18px | 700 | 26px (1.44) | normal | Card headings, sub-sections |
| Subtitle | Noto Sans JP | 16px | 700 | 24px (1.50) | normal | List headers, nav titles |
| Body Large | Noto Sans JP | 16px | 400 | 26px (1.63) | normal | Descriptions, explanations |
| Body | Noto Sans JP | 14px | 400 | 22px (1.57) | normal | Standard reading text |
| Body Small | Noto Sans JP | 13px | 400 | 20px (1.54) | normal | Secondary information |
| Caption | Noto Sans JP | 12px | 400 | 18px (1.50) | normal | Timestamps, fine print, legal |
| Amount Hero | Noto Sans JP | 36px+ | 700 | tight | normal | Payment amount on checkout/complete |
¥ / P (ポイント) unit at a smaller weight.Note: PayPay publishes no public design-system documentation. The values below are reconstructed from the live PayPay app and paypay.ne.jp marketing surfaces, expressed as a coherent, agent-usable token set in PayPay's idiom. Treat geometry as representative rather than spec-exact.
PayPay buttons are pill or large-radius rectangles, full-width on mobile, with the brand red as the default primary. Friendly, tappable, thumb-sized.
Primary (Fill / Red)
#FF0033#ffffff#E0002E#FFB3C1 (red at reduced saturation), text #ffffffSecondary (Outline / Red)
#ffffff#FF0033#FF0033#FFEBEFNeutral (Fill / Gray)
#f5f5f5#555555Text Button
#FF0033Size scale (height · font · radius): small 36px · 14px / 700 · 18px; medium 44px · 15px / 700 · 22px; large (default CTA) 52px · 16px / 700 · 24px. CTAs are full-width with 16px horizontal screen margin; inline buttons auto-width.
PayPay text fields are clean boxed inputs with a red focus state. Amount entry uses an oversized variant.
Box (default)
#ffffff#222222#e0e0e0#999999#FF0033Filled
#f5f5f5#222222#ffffff + 2px #FF0033 borderAmount (Hero)
#222222#e0e0e0 (bottom only)¥ prefix at 24px / 700Error
#ffffff#222222#E0002E#E0002E, 12px, with alert iconPIN entry uses a 4-digit dot field with a randomized on-screen keypad for security; OTP uses 6 separate boxes (48px wide, 56px tall, 8px radius, red active border).
Standard
#ffffff0px 1px 4px rgba(0,0,0,0.08)Balance Card (Hero)
#FF0033 (or red gradient linear-gradient(135deg,#FF0033,#E0002E))#ffffff0px 2px 8px rgba(255,0,51,0.20) (red-tinted lift)Campaign / Promo
#FFEBEF or full-bleed promotional imageCompact (List Item)
#ffffff#eeeeee (bottom divider only)Fill / Red
#FF0033#ffffffFill / Gold (Point)
#FFB200#ffffffFill / Green
#00B900#ffffffWeak / Red
#FFEBEF#FF0033Weak / Gray
#f5f5f5#767676Bottom Tab (Active)
#ffffff#eeeeee (top only)#FF0033 icon + label#999999 icon + #767676 labelSegmented
#f5f5f5#767676#ffffff thumb + #FF0033 text + 0px 1px 3px rgba(0,0,0,0.10) shadowDefault
#222222#ffffff0px 4px 12px rgba(0,0,0,0.15)Centered Modal
#ffffff#2222220px 8px 24px rgba(0,0,0,0.18)Bottom Sheet
#ffffff#222222#e0e0e0 pill, centered top0px -4px 16px rgba(0,0,0,0.10)Default
#FF0033 (on) / #cccccc (off)#ffffff 22px circle, 0px 1px 3px rgba(0,0,0,0.20) shadow#FF0033 (or red gradient) background#ffffff bg, #FF0033 text, 24px radius): "閉じる"Tier 1 sources: https://paypay.ne.jp (live production site, verified via live DOM getComputedStyle).
| Level | Treatment | Use |
|---|---|---|
| Flat (Level 0) | No shadow | Page background, inline elements, list rows |
| Subtle (Level 1) | 0px 1px 4px rgba(0,0,0,0.08) | Cards, content panels |
| Standard (Level 2) | 0px 2px 8px rgba(0,0,0,0.12) | Raised cards, sticky headers |
| Brand Lift (Level 2r) | 0px 2px 8px rgba(255,0,51,0.20) | Red balance card / red CTAs — red-tinted glow |
| Elevated (Level 3) | 0px 4px 12px rgba(0,0,0,0.15) | Dropdowns, popovers, floating buttons |
| Modal (Level 4) | 0px 8px 24px rgba(0,0,0,0.18) | Bottom sheets, dialogs |
Shadow Philosophy: PayPay's shadows are soft and neutral, with one signature exception — the red-tinted lift under the balance hero and primary red CTAs, which makes the brand red appear to glow. Elevation is gentle; the energy in PayPay comes from color and motion, not deep dramatic depth. The raised circular center "pay" button in the bottom nav uses a stronger neutral shadow to read as physically floating above the bar.
rgba(0,0,0,0.5), no blur, keeping the celebratory surfaces crisp#FF0033) for the primary money action on every screen — it is the brand and the CTA#FFB200) for points and green (#00B900) for success#FF0033) to mean "error"; errors use deeper #E0002E plus an alert icon#000) for text; use #222222| Name | Width | Key Changes |
|---|---|---|
| Mobile (Primary) | <600px | Full app fidelity, 375px baseline, single column |
| Tablet | 600–960px | Marketing web expands hero, optional two-column feature rows |
| Desktop (Web) | >960px | Marketing site centered, max-width ~960px; app mirrored as centered mobile column |
#FF0033)#E0002E)#ffffff)#f5f5f5)#222222)#555555)#767676)#999999)#e0e0e0)#00B900)#E0002E)#FFB200)#FF0033; deeper #E0002E for errors/pressed#f5f5f5; text #222222 / #555555, never pure black#FFB200) = points, green (#00B900) = success, orange (#FF8800) = warningPayPay speaks like an enthusiastic, helpful shop clerk: cheerful, casual-polite Japanese (です・ます with friendly energy), short, and benefit-led. It emphasizes speed ("最短1分"), ease ("かんたん"), and reward ("もらえる", "おトク"). Exclamation is welcome — this is a brand that celebrates. Japanese is the only first-class voice; English is incidental.
| Context | Tone |
|---|---|
| CTAs | Short imperative verbs (支払う, チャージする, 送る, 今すぐダウンロード) |
| Success | Bright, complete (お支払いが完了しました), often with an exclamation in campaign contexts |
| Errors | Polite, specific, actionable (残高が不足しています。チャージしてください). Apology is brief and not groveling. |
| Onboarding | Friendly second-person, one benefit per screen (スマホひとつで かんたんお支払い) |
| Amounts | ¥ prefix + comma separators, exact numerals (¥1,240), never rounded |
| Points | Celebratory (100ポイントもらえる!, おトク) — gold accent, enthusiastic |
| Empty states | Encouraging one-liner + one action (まだ取引履歴がありません) |
| Legal / disclosure | Formal ます/です financial-regulation tone — the one place the cheer drops |
Forbidden moves. Don't be cold or bank-formal on consumer surfaces. Don't over-apologize. Don't round monetary amounts on primary surfaces. Don't bury the reward — if there's a point benefit, it leads.
PayPay launched in October 2018 as a joint venture of SoftBank and Yahoo! Japan (with early technology ties to India's Paytm), into a country where cash still dominated — Japan's cashless ratio lagged far behind its neighbors. PayPay's founding bet was blunt: subsidize adoption aggressively and make paying fun. The now-legendary "100億円あげちゃうキャンペーン" (the ¥10-billion giveaway) of late 2018 — refunding a portion of every payment, with lottery-style full refunds — detonated awareness overnight and made the red PayPay badge ubiquitous at convenience stores, restaurants, and tiny neighborhood shops.
That campaign DNA defines the design. PayPay is not trying to feel like a private bank; it is trying to feel like the most rewarding way to pay. The screaming #FF0033 red, the celebratory payment-complete screen, the falling-coin point animations, the cheerful clerk-like voice — all of it descends from "make paying feel like winning." Where Toss (Korea) earns trust through restraint and Stripe through precision, PayPay earns loyalty through reward and delight.
Today PayPay is the dominant QR wallet in Japan with the largest user base among code-payment apps, now under LY Corporation (the merged LINE × Yahoo Japan entity within the SoftBank group). Its ecosystem spans payments, PayPayポイント, PayPay銀行 (bank), PayPayカード (card), and PayPay証券 (securities) — a super-app, but one whose center of gravity remains the in-store QR tap.
What PayPay refuses: the austere navy seriousness of legacy Japanese banking, the muted minimalism of Western fintech, and any design that makes paying feel like a chore. PayPay occupies the loud, bright, reward-forward end of fintech — closer to retail than to banking, by deliberate design.
#FF0033 is the brand, the CTA, and the energy. Never split primary emphasis across multiple accent colors — the single saturated red is the identity.Personas below are fictional archetypes informed by publicly described Japanese mobile-payment user segments, not individual people.
ゆうき (Yuki), 26, Tokyo. Office worker in Shibuya. Pays for everything with PayPay — convenience store lunch, izakaya splits, the vending machine. Opens the app a dozen times a day and lives for the point campaigns; checks "おトク" offers before deciding where to eat. Expects the QR/pay screen to be one tap from anywhere and the payment-complete animation to confirm in under a second. If a shop doesn't take PayPay, she's mildly annoyed.
田中さん (Mr. Tanaka), 58, Osaka. Runs a small ramen shop. Adopted PayPay during the ¥10-billion campaign because customers asked for it and the merchant QR sticker was free to set up. Uses the merchant side daily to confirm incoming payments; values the clear, loud confirmation sound and the big amount on screen — he needs to verify a payment landed without squinting. Reads Japanese only; trusts the red badge as shorthand for "this works."
あや (Aya), 34, Fukuoka. Working parent. Uses PayPay for groceries, kids' supplies, and 送る (sending money) to family. Relies on auto-charge (自動チャージ) so she never hits an empty balance at the register. Tracks points carefully — they offset real household spending. Wants the transaction history clean and searchable, and the balance always visible the instant she opens the app.
| State | Treatment |
|---|---|
| Empty (first use) | Friendly one-liner in #555555 body (まだ取引履歴がありません) + one suggested action as a red outline button. Light, encouraging, never an error tone. |
| Empty (filter cleared) | Single #767676 caption line (条件に合う結果がありません). User resets the filter. |
| Loading (first paint) | Skeleton blocks at #eeeeee matching final layout. Balance shows ¥-- until resolved, never a fake number. |
| Loading (refresh) | Pull-down spinner in #FF0033. Content stays visible with prior values; no blocking overlay. |
| Error (inline field) | 2px #E0002E border + error text below in #E0002E 12px with alert icon. One actionable sentence (残高が不足しています). |
| Error (toast) | #222222 bg, white 14px text, ~3s auto-dismiss, bottom inset 16px. One sentence, no celebration. |
| Error (screen-blocking) | Server outage only: white screen, centered #222222 16px weight 700 message, red retry button below. No illustration of failure as fun. |
| Success (routine) | Brief #FFEBEF flash behind the updated element, 300ms fade. For toggles/settings. |
| Success (payment) | Dedicated full-screen #FF0033 moment — white checkmark animation, amount 36px weight 700, merchant + timestamp, single 閉じる button. Optional gold point-grant animation. Never a toast. |
| Skeleton | #eeeeee blocks at final dimensions, 1.2s shimmer with white highlight, component-matched radius. Amounts show ¥--, never skeleton bars. |
| Disabled | Red CTA drops to #FFB3C1; neutral buttons to #f5f5f5 + #cccccc text. Geometry stable. |
| Loading inside button | White spinner replaces label, button width fixed, press committed — no double-submit. |
Durations:
| Token | Value | Use |
|---|---|---|
motion-instant | 0ms | Toggle flips, checkbox changes |
motion-fast | 150ms | Hover, focus, button-press, small reveals |
motion-standard | 250ms | Default — sheet open, card expand, tab switch |
motion-slow | 400ms | Emphasized — onboarding advance, balance update |
motion-celebrate | 700ms | Payment-complete checkmark + point animation |
motion-page | 300ms | Full-screen route transitions |
Easings:
| Token | Curve | Use |
|---|---|---|
ease-enter | cubic-bezier(0.0, 0.0, 0.2, 1) | Things appearing — sheets, toasts, screen pushes |
ease-exit | cubic-bezier(0.4, 0.0, 1, 1) | Things leaving — dismissals |
ease-standard | cubic-bezier(0.4, 0.0, 0.2, 1) | Two-way transitions — collapsible cards, tabs |
ease-bounce | cubic-bezier(0.34, 1.56, 0.64, 1) | The celebration — payment checkmark, point-coin drop. PayPay licenses overshoot freely here because delight is the brand. |
Signature motions.
ease-bounce over motion-celebrate, the amount scales up, and — if points were earned — gold coins fall and a "+◯◯ポイント" badge bounces in. This is PayPay's defining animation: paying feels like winning.motion-slow with ease-standard. Money is never cross-faded mid-value (looks like a bug).y+40px with motion-standard / ease-enter, backdrop fades to rgba(0,0,0,0.5). Dismissal uses motion-fast / ease-exit — lighter leaving than entering.motion-fast press-scale (0.94) before opening the scanner full-screen — a tactile, confident launch.prefers-reduced-motion: reduce, all tokens collapse to motion-instant and the celebration becomes a static red success screen (checkmark + amount, no coins). The app stays joyful in color; just not kinetic.PayPay is Japan's dominant QR-code mobile wallet — the app that, almost single-handedly, dragged a famously cash-loving country into cashless payments. Its visual language is loud where Japanese fintech is traditionally quiet: a single, screaming PayPay Red (#FF0033) sits at the center of everything, and the entire interface orbits it. Where a legacy Japanese bank app whispers in navy and gray, PayPay shouts in pure, saturated red. That red is the brand; remove it and nothing is left.
Do and Don't guidelines parsed from DESIGN.md.
Do
Don't