D
Digmarket. Preview
Navigation
Home Free

Fintech Checkout – Emerald Neumorphism

<div class="fp-banking-checkout-payment-processing-ui">
    <div class="fp-banking-checkout-payment-processing-ui-stage" id="fp-banking-checkout-payment-processing-ui-stage">
        
        <div class="fp-banking-checkout-payment-processing-ui-grid"></div>
        <div class="fp-banking-checkout-payment-processing-ui-ambient"></div>

        <div class="fp-banking-checkout-payment-processing-ui-card">
            
            <div class="fp-banking-checkout-payment-processing-ui-header">
                <div class="fp-banking-checkout-payment-processing-ui-avatar-wrap">
                    <div class="fp-banking-checkout-payment-processing-ui-avatar-ring"></div>
                    <div class="fp-banking-checkout-payment-processing-ui-avatar">GW</div>
                </div>
                <div class="fp-banking-checkout-payment-processing-ui-payee">
                    <span class="fp-banking-checkout-payment-processing-ui-payee-name">Global Wealth Inc.</span>
                    <span class="fp-banking-checkout-payment-processing-ui-payee-acc">ID: 4892-XXXX-1102</span>
                </div>
            </div>

            <div class="fp-banking-checkout-payment-processing-ui-amount-sec">
                <span class="fp-banking-checkout-payment-processing-ui-amount-lbl">Transfer Amount</span>
                <div class="fp-banking-checkout-payment-processing-ui-amount-val">
                    <span class="fp-banking-checkout-payment-processing-ui-amount-sym">$</span>
                    12,500.00
                </div>
            </div>

            <div class="fp-banking-checkout-payment-processing-ui-details">
                <div class="fp-banking-checkout-payment-processing-ui-row">
                    <span>Transaction Fee</span>
                    <span class="fp-banking-checkout-payment-processing-ui-row-val">$0.00</span>
                </div>
                <div class="fp-banking-checkout-payment-processing-ui-row">
                    <span>Network</span>
                    <span class="fp-banking-checkout-payment-processing-ui-row-val" style="color: var(--fp-accent-color);">Emerald-Net</span>
                </div>
            </div>

            <button class="fp-banking-checkout-payment-processing-ui-btn" id="fp-banking-checkout-payment-processing-ui-btn">
                
                <div class="fp-banking-checkout-payment-processing-ui-liquid-wrap">
                    <div class="fp-banking-checkout-payment-processing-ui-liquid">
                        <div class="fp-banking-checkout-payment-processing-ui-wave fp-banking-checkout-payment-processing-ui-wave-bg"></div>
                        <div class="fp-banking-checkout-payment-processing-ui-wave"></div>
                    </div>
                </div>

                <span class="fp-banking-checkout-payment-processing-ui-btn-text" id="fp-banking-checkout-payment-processing-ui-btn-text">Confirm Transfer</span>
                <svg class="fp-banking-checkout-payment-processing-ui-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
                    <polyline points="20 6 9 17 4 12"></polyline>
                </svg>
            </button>

        </div>

        <div class="fp-banking-checkout-payment-processing-ui-footer">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                <rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect>
                <path d="M7 11V7a5 5 0 0 1 10 0v4"></path>
            </svg>
            End-to-End Encrypted
        </div>

    </div>
</div>
.fp-banking-checkout-payment-processing-ui {
    --fp-container-width: 100%;
    --fp-max-width: 500px;
    --fp-aspect-ratio: 1 / 1;

    --fp-primary-color: #f0f3f5; 
    --fp-secondary-color: #e4e9f0; 
    --fp-muted-color: #6b7280; 
    --fp-soft-color: #ffffff; 
    --fp-background-color: transparent;

    --fp-info-color: #a7f3d0; 
    --fp-warning-color: #34d399; 
    --fp-danger-color: #065f46; 
    --fp-accent-color: #10b981; 
    --fp-text-color: #1f2937; 

    --fp-shadow-outer: 12px 12px 24px #d1d9e6, -12px -12px 24px #ffffff;
    --fp-shadow-inner: inset 6px 6px 12px #d1d9e6, inset -6px -6px 12px #ffffff;
    --fp-shadow-btn: 6px 6px 12px #d1d9e6, -6px -6px 12px #ffffff;

    width: var(--fp-container-width);
    max-width: var(--fp-max-width);
    margin: 0 auto;
    background: var(--fp-background-color);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    box-sizing: border-box;
    position: relative;
}

.fp-banking-checkout-payment-processing-ui * {
    box-sizing: inherit;
}

.fp-banking-checkout-payment-processing-ui-stage {
    aspect-ratio: var(--fp-aspect-ratio);
    background: var(--fp-primary-color);
    border-radius: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.fp-banking-checkout-payment-processing-ui-grid {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: 24px 24px;
    background-image: 
        linear-gradient(to right, rgba(16, 185, 129, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(16, 185, 129, 0.03) 1px, transparent 1px);
    z-index: 0;
}

.fp-banking-checkout-payment-processing-ui-ambient {
    position: absolute;
    width: 130%;
    height: 130%;
    background: radial-gradient(circle at center, rgba(16, 185, 129, 0.08) 0%, transparent 65%);
    animation: fp-banking-checkout-payment-processing-ui-breathe 5s ease-in-out infinite alternate;
    z-index: 1;
    pointer-events: none;
}

@keyframes fp-banking-checkout-payment-processing-ui-breathe {
    0% { transform: scale(0.9); opacity: 0.6; }
    100% { transform: scale(1.1); opacity: 1; }
}

.fp-banking-checkout-payment-processing-ui-card {
    position: relative;
    z-index: 10;
    width: 82%;
    height: 82%;
    background: var(--fp-primary-color);
    border-radius: 28px;
    box-shadow: var(--fp-shadow-outer);
    display: flex;
    flex-direction: column;
    padding: 32px 28px;
    justify-content: space-between;
}

.fp-banking-checkout-payment-processing-ui-header {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fp-banking-checkout-payment-processing-ui-avatar-wrap {
    position: relative;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fp-banking-checkout-payment-processing-ui-avatar-ring {
    position: absolute;
    top: -4px; left: -4px; right: -4px; bottom: -4px;
    border-radius: 50%;
    border: 2px dashed var(--fp-accent-color);
    opacity: 0.4;
    animation: fp-banking-checkout-payment-processing-ui-spin 12s linear infinite;
}

@keyframes fp-banking-checkout-payment-processing-ui-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.fp-banking-checkout-payment-processing-ui-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--fp-primary-color);
    box-shadow: var(--fp-shadow-btn);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fp-accent-color);
    font-weight: 800;
    font-size: 1.2rem;
    letter-spacing: -0.05em;
}

.fp-banking-checkout-payment-processing-ui-payee {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fp-banking-checkout-payment-processing-ui-payee-name {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--fp-text-color);
    line-height: 1.1;
}

.fp-banking-checkout-payment-processing-ui-payee-acc {
    font-family: ui-monospace, monospace;
    font-size: 0.7rem;
    color: var(--fp-muted-color);
    font-weight: 600;
}

.fp-banking-checkout-payment-processing-ui-amount-sec {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 0;
}

.fp-banking-checkout-payment-processing-ui-amount-lbl {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--fp-muted-color);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 8px;
}

.fp-banking-checkout-payment-processing-ui-amount-val {
    font-size: 2.8rem;
    font-weight: 900;
    color: var(--fp-text-color);
    letter-spacing: -0.03em;
    line-height: 1;
    display: flex;
    align-items: flex-start;
}

.fp-banking-checkout-payment-processing-ui-amount-sym {
    font-size: 1.4rem;
    color: var(--fp-accent-color);
    margin-top: 4px;
    margin-right: 4px;
}

.fp-banking-checkout-payment-processing-ui-details {
    background: var(--fp-primary-color);
    box-shadow: var(--fp-shadow-inner);
    border-radius: 16px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.fp-banking-checkout-payment-processing-ui-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--fp-muted-color);
}

.fp-banking-checkout-payment-processing-ui-row-val {
    color: var(--fp-text-color);
    font-weight: 700;
}

.fp-banking-checkout-payment-processing-ui-btn {
    position: relative;
    width: 100%;
    height: 64px;
    border: none;
    outline: none;
    background: var(--fp-primary-color);
    border-radius: 20px;
    box-shadow: var(--fp-shadow-btn);
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    -webkit-tap-highlight-color: transparent;
}

.fp-banking-checkout-payment-processing-ui-btn:active {
    box-shadow: var(--fp-shadow-inner);
}

.fp-banking-checkout-payment-processing-ui-liquid-wrap {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.fp-banking-checkout-payment-processing-ui-liquid {
    position: absolute;
    width: 200%;
    height: 200px; 
    left: -50%;
    top: calc(100% - (var(--fp-fill-level, 0) * 1%));
    transition: top 0.1s linear;
}

.fp-banking-checkout-payment-processing-ui-wave {
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--fp-accent-color);
    border-radius: 40%;
    animation: fp-banking-checkout-payment-processing-ui-wave-spin 3s linear infinite;
}

.fp-banking-checkout-payment-processing-ui-wave-bg {
    background: var(--fp-warning-color);
    border-radius: 45%;
    animation: fp-banking-checkout-payment-processing-ui-wave-spin 4s linear infinite reverse;
    opacity: 0.6;
    top: -10px;
}

@keyframes fp-banking-checkout-payment-processing-ui-wave-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.fp-banking-checkout-payment-processing-ui-btn-text {
    position: relative;
    z-index: 5;
    font-size: 1rem;
    font-weight: 800;
    color: var(--fp-text-color);
    letter-spacing: 0.02em;
    transition: color 0.3s ease, transform 0.3s ease;
}

.fp-banking-checkout-payment-processing-ui-btn-icon {
    position: absolute;
    z-index: 5;
    width: 24px;
    height: 24px;
    color: var(--fp-primary-color);
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.fp-banking-checkout-payment-processing-ui-stage.is-processing .fp-banking-checkout-payment-processing-ui-btn {
    box-shadow: var(--fp-shadow-inner);
    transform: scale(0.98);
}

.fp-banking-checkout-payment-processing-ui-stage.is-processing .fp-banking-checkout-payment-processing-ui-liquid-wrap {
    opacity: 1;
}

.fp-banking-checkout-payment-processing-ui-stage.is-processing .fp-banking-checkout-payment-processing-ui-btn-text {
    color: var(--fp-primary-color);
}

.fp-banking-checkout-payment-processing-ui-stage.is-success .fp-banking-checkout-payment-processing-ui-btn {
    background: var(--fp-accent-color);
    box-shadow: 0 10px 20px rgba(16, 185, 129, 0.3), var(--fp-shadow-inner);
}

.fp-banking-checkout-payment-processing-ui-stage.is-success .fp-banking-checkout-payment-processing-ui-liquid-wrap {
    opacity: 0; 
}

.fp-banking-checkout-payment-processing-ui-stage.is-success .fp-banking-checkout-payment-processing-ui-btn-text {
    opacity: 0;
    transform: translateY(10px);
}

.fp-banking-checkout-payment-processing-ui-stage.is-success .fp-banking-checkout-payment-processing-ui-btn-icon {
    opacity: 1;
    transform: scale(1);
}

.fp-banking-checkout-payment-processing-ui-stage.is-success .fp-banking-checkout-payment-processing-ui-avatar-ring {
    border-color: var(--fp-accent-color);
    border-style: solid;
    animation-play-state: paused;
    opacity: 1;
}

.fp-banking-checkout-payment-processing-ui-footer {
    position: absolute;
    bottom: 16px;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--fp-muted-color);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    opacity: 0.7;
}

.fp-banking-checkout-payment-processing-ui-footer svg {
    width: 12px; height: 12px;
}

@media (max-width: 480px) {
    .fp-banking-checkout-payment-processing-ui-card { width: 90%; height: 90%; padding: 24px 20px; }
    .fp-banking-checkout-payment-processing-ui-amount-val { font-size: 2.2rem; }
    .fp-banking-checkout-payment-processing-ui-avatar-wrap { width: 48px; height: 48px; }
}
(function() {
    document.querySelectorAll('.fp-banking-checkout-payment-processing-ui').forEach(root => {
        const stage = root.querySelector('#fp-banking-checkout-payment-processing-ui-stage');
        const btn = root.querySelector('#fp-banking-checkout-payment-processing-ui-btn');
        const btnText = root.querySelector('#fp-banking-checkout-payment-processing-ui-btn-text');

        if (!stage || !btn || !btnText) return;

        let animationFrameId;
        let lastTick = 0;
        let state = 'IDLE'; 
        let progress = 0;
        let holdTimer = 0;

        function fp_banking_checkout_payment_processing_ui_loop(timestamp) {
            if (!document.body.contains(root)) {
                cancelAnimationFrame(animationFrameId);
                if (typeof observer !== 'undefined') observer.disconnect();
                document.removeEventListener('visibilitychange', fp_banking_checkout_payment_processing_ui_handleVisibilityChange);
                return;
            }

            if (document.visibilityState === 'visible') {
                if (!lastTick) lastTick = timestamp;
                const delta = timestamp - lastTick;
                lastTick = timestamp;

                if (state === 'PROCESSING') {
                    progress += delta * 0.04;
                    if (progress >= 100) progress = 100;

                    let displayProgress = progress * 1.2; 
                    btn.style.setProperty('--fp-fill-level', displayProgress);

                    if (progress >= 100) {
                        state = 'SUCCESS';
                        holdTimer = timestamp;
                        stage.classList.remove('is-processing');
                        stage.classList.add('is-success');
                    }
                } else if (state === 'SUCCESS') {
                    if (timestamp - holdTimer > 3000) {
                        state = 'IDLE';
                        progress = 0;
                        btn.style.setProperty('--fp-fill-level', 0);
                        stage.classList.remove('is-success');
                        if (btnText) btnText.textContent = "Confirm Transfer";
                    }
                }
            }

            animationFrameId = requestAnimationFrame(fp_banking_checkout_payment_processing_ui_loop);
        }

        btn.addEventListener('click', () => {
            if (state !== 'IDLE') return;
            
            state = 'PROCESSING';
            progress = 0;
            btn.style.setProperty('--fp-fill-level', 0);
            stage.classList.add('is-processing');
            if (btnText) btnText.textContent = "Processing...";
        });

        function fp_banking_checkout_payment_processing_ui_handleVisibilityChange() {
            if (document.visibilityState === 'hidden') {
                if (animationFrameId) {
                    cancelAnimationFrame(animationFrameId);
                    animationFrameId = null;
                    lastTick = 0;
                }
            } else {
                if (!animationFrameId) {
                    lastTick = performance.now();
                    animationFrameId = requestAnimationFrame(fp_banking_checkout_payment_processing_ui_loop);
                }
            }
        }

        document.addEventListener('visibilitychange', fp_banking_checkout_payment_processing_ui_handleVisibilityChange);

        const observer = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    if (!animationFrameId && document.visibilityState === 'visible') {
                        lastTick = performance.now();
                        animationFrameId = requestAnimationFrame(fp_banking_checkout_payment_processing_ui_loop);
                    }
                } else {
                    if (animationFrameId) {
                        cancelAnimationFrame(animationFrameId);
                        animationFrameId = null;
                    }
                }
            });
        }, { threshold: 0.1 });

        observer.observe(root);
    });
})();
Created by Digital Market Created: Apr 27, 2026 • Updated: Apr 27, 2026

Description

Let us look at the Fintech Checkout Emerald Neumorphism component. This free UI asset offers a modular card system specifically engineered for the financial technology and banking sector. We built this entirely from scratch to handle secure payment gateways without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing banking application architecture.

Financial platforms often process complex transaction flows and require absolute reliability during user checkout. Massive client side payloads completely ruin performance metrics when immediate confirmation is needed for a secure transfer. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for retail banking customers and wealth managers who need to finalize transactions on varying mobile networks.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your banking software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction pairs rich Emerald Wealth tones with a modern neumorphic design to establish trust and financial authority. This extruded soft UI approach ensures visual clarity for users interacting with sensitive checkout forms and payment gateways. For the interaction layer, we implemented custom liquid fill and level rise animations. These fluid vertical transitions provide clear visual feedback for transaction progress and loading states without requiring heavy javascript animation scripts. The final result is a clean user interface that looks premium and functions perfectly for strict banking environments.

Enterprise Use Cases

  • Mobile banking payment gateways: Display secure checkout forms and card details using the card grid so retail users can process their transfers quickly.

  • Corporate invoice payment portals: Build a fast rendering billing page where financial officers can organize and authorize large vendor payments within a lightweight interface.

  • Fiat exchange platforms: Create a responsive control layout for traders to track active deposit statuses and withdrawal processing steps across multiple user accounts.

Technical Details

  • ElementCards
  • IndustryBanking, FinTech
  • AnimationLevel Rise
  • ColorWhite
Report Issue

Highlights & Benefits

Copy-Paste Ready

Drop the code straight into your project without configuration.

Zero Dependencies

Built strictly with pure CSS & Vanilla JS for maximum speed.

ADA & WCAG Ready

Constructed with strict adherence to WCAG accessibility standards for perfect contrast and screen-reader support.

Sterile DOM Structure

Utilizes a highly optimized, clean DOM architecture ensuring lightning-fast render and maximum PageSpeed scores.

You need an active subscription or purchase to leave a review for this premium component.

Fintech Checkout – Emerald Neumorphism

Category:

Description

Let us look at the Fintech Checkout Emerald Neumorphism component. This free UI asset offers a modular card system specifically engineered for the financial technology and banking sector. We built this entirely from scratch to handle secure payment gateways without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing banking application architecture.

Financial platforms often process complex transaction flows and require absolute reliability during user checkout. Massive client side payloads completely ruin performance metrics when immediate confirmation is needed for a secure transfer. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for retail banking customers and wealth managers who need to finalize transactions on varying mobile networks.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your banking software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction pairs rich Emerald Wealth tones with a modern neumorphic design to establish trust and financial authority. This extruded soft UI approach ensures visual clarity for users interacting with sensitive checkout forms and payment gateways. For the interaction layer, we implemented custom liquid fill and level rise animations. These fluid vertical transitions provide clear visual feedback for transaction progress and loading states without requiring heavy javascript animation scripts. The final result is a clean user interface that looks premium and functions perfectly for strict banking environments.

Enterprise Use Cases

  • Mobile banking payment gateways: Display secure checkout forms and card details using the card grid so retail users can process their transfers quickly.

  • Corporate invoice payment portals: Build a fast rendering billing page where financial officers can organize and authorize large vendor payments within a lightweight interface.

  • Fiat exchange platforms: Create a responsive control layout for traders to track active deposit statuses and withdrawal processing steps across multiple user accounts.