Skip to main content

Welcome to Easy SDK

The Easy SDK provides a comprehensive, type-safe solution for integrating payment processing, customer management, and e-commerce functionality into your applications.

Available SDKs

@easylabs/react

The React SDK provides a seamless integration for React applications with:

  • 🔐 PCI/PII Compliance with secure form elements
  • ⚛️ React Hooks for easy integration
  • 🎨 Customizable Form Elements for secure payment data collection
  • 📱 TypeScript Support with comprehensive type definitions

Get Started with React SDK →

@easylabs/react-native

The React Native SDK brings payment processing to mobile applications with:

  • 📱 iOS & Android support with Expo or bare React Native
  • 🔐 PCI/PII Compliance with secure mobile form elements
  • ⚛️ React Native Components for seamless integration
  • 🎨 Native Styling with React Native StyleSheet

Get Started with React Native SDK →

@easylabs/node

The Node.js SDK is designed for server-side applications with:

  • 🚀 Express & Next.js integration
  • 🔒 Secure API for payment processing
  • 💼 Complete E-commerce functionality
  • 📊 Order & Settlement management

Get Started with Node.js SDK →

Key Features

Payment Processing

  • Credit/Debit card payments
  • Bank account (ACH) transfers
  • Payment instrument tokenization
  • PCI-compliant data handling

Customer Management

  • Create and update customer profiles
  • Manage payment instruments
  • Track customer orders
  • Customer lifetime value analytics

Product & Pricing

  • Flexible product catalog
  • One-time and recurring pricing
  • Subscription management
  • Multiple currency support

E-commerce

  • Complete checkout flows
  • Order management
  • Settlement tracking
  • Dispute handling

Quick Example

React

import { EasyProvider, useEasy, CardElement } from "@easylabs/react";

function PaymentForm() {
const { checkout } = useEasy();
const cardRef = useRef(null);

const handleSubmit = async (e) => {
e.preventDefault();

const result = await checkout({
customer_creation: true,
customer_details: {
first_name: "John",
last_name: "Doe",
email: "[email protected]",
},
source: {
type: "PAYMENT_CARD",
cardElement: cardRef,
name: "Primary Card",
},
line_items: [{ price_id: "price_123", quantity: 1 }],
});
};

return (
<form onSubmit={handleSubmit}>
<CardElement ref={cardRef} />
<button type="submit">Pay Now</button>
</form>
);
}

React Native

import {
EasyProvider,
useEasy,
CardNumberElement,
} from "@easylabs/react-native";
import { View, Button } from "react-native";

function PaymentForm() {
const { checkout } = useEasy();
const cardNumberRef = useRef(null);
const expiryRef = useRef(null);
const cvcRef = useRef(null);

const handleSubmit = async () => {
const result = await checkout({
customer_creation: true,
customer_details: {
first_name: "John",
last_name: "Doe",
email: "[email protected]",
},
source: {
type: "PAYMENT_CARD",
cardNumberElement: cardNumberRef,
cardExpirationDateElement: expiryRef,
cardVerificationCodeElement: cvcRef,
name: "Primary Card",
},
line_items: [{ price_id: "price_123", quantity: 1 }],
});
};

return (
<View>
<CardNumberElement btRef={cardNumberRef} />
<Button title="Pay Now" onPress={handleSubmit} />
</View>
);
}

Node.js

import { createClient } from "@easylabs/node";

const easy = await createClient({
apiKey: process.env.EASY_API_KEY,
});

// Process a checkout
const result = await easy.checkout({
customer_creation: true,
customer_details: {
first_name: "John",
last_name: "Doe",
email: "[email protected]",
},
source: {
type: "PAYMENT_CARD",
tokenId: "tok_abc123",
name: "Primary Card",
},
line_items: [{ price_id: "price_123", quantity: 1 }],
});

Next Steps

Support

For questions, issues, or feature requests: