JSPM

@lavapayments/checkout

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 64
  • Score
    100M100P100Q79562F
  • License MIT

Lava Checkout

Package Exports

  • @lavapayments/checkout
  • @lavapayments/checkout/dist/index.js
  • @lavapayments/checkout/dist/index.mjs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@lavapayments/checkout) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Lava Checkout

A React package that provides hooks for integrating Lava's wallet-based checkout experience into your AI application.

Installation

npm install --save @lavapayments/checkout
# or
yarn add @lavapayments/checkout

Usage

Basic Implementation

import { useLavaCheckout } from '@lavapayments/checkout';
import { useState } from 'react';

function CheckoutButton() {
  const [connectionId, setConnectionId] = useState(null);
  
  const { open } = useLavaCheckout({
    onSuccess: ({ connectionId }) => {
      console.log('Checkout successful!');
      setConnectionId(connectionId);
      // Store the connectionId for your application
      saveConnectionIdToDatabase(userId, connectionId);
    },
    onCancel: ({ checkoutSessionId }) => {
      console.log('Checkout cancelled:', checkoutSessionId);
    }
  });

  return (
    <button
      onClick={() => {
        // Request a checkout session token from your backend
        fetch('/api/create-checkout-session')
          .then(res => res.json())
          .then(data => {
            // Open the checkout modal with the session token
            open(data.checkout_session_token);
          });
      }}
    >
      Connect Wallet
    </button>
  );
}

Top-up Implementation

To allow users to add funds to an existing wallet:

import { useLavaCheckout } from '@lavapayments/checkout';

function TopUpButton({ connectionId }) {
  const { open } = useLavaCheckout({
    onSuccess: () => {
      console.log('Top-up successful!');
      // Refresh balance display
    },
    onCancel: () => {
      console.log('Top-up cancelled');
    }
  });

  return (
    <button
      onClick={() => {
        // Request a top-up checkout session token from your backend
        fetch('/api/create-topup-session', {
          method: 'POST',
          headers: { 'Content-Type': 'application/json' },
          body: JSON.stringify({ connectionId })
        })
          .then(res => res.json())
          .then(data => {
            // Open the checkout modal with the session token
            open(data.checkout_session_token);
          });
      }}
    >
      Add Funds
    </button>
  );
}

For complete documentation on Lava's usage-based billing system and backend integration, visit lavapayments.com.