TrustVerify logo
INTEGRATION EXAMPLES

Integration Examples

Real-world examples and implementation patterns for TrustVerify SDK

Quick Start Templates

E-commerce Store

Secure online store transactions with fraud protection

Payment Processing
Fraud Detection
Order Tracking
Buyer Protection

Freelance Platform

Milestone-based payments for service providers

KYC Verification
Milestone Payments
Dispute Resolution
Trust Scores

Fintech Application

Financial services with compliance and security

AML Compliance
Identity Verification
Risk Assessment
Regulatory Reporting

Enterprise B2B

Large-scale business transaction management

Bulk Processing
Custom Workflows
Advanced Analytics
White-label Solution

Implementation Examples

E-commerce Checkout

E-commerce Checkout
// E-commerce Transaction Flow
import { TrustVerify } from '@trustverify/sdk';

class EcommerceCheckout {
  constructor() {
    this.trustVerify = new TrustVerify({
      apiKey: process.env.TRUSTVERIFY_API_KEY,
      environment: 'production'
    });
  }

  async processOrder(orderData) {
    // Step 1: Create secure transaction
    const transaction = await this.trustVerify.transactions.create({
      title: `Order #${orderData.orderId}`,
      amount: orderData.total,
      currency: orderData.currency,
      buyerEmail: orderData.customer.email,
      sellerEmail: orderData.merchant.email,
      category: 'e_commerce',
      deliveryTimeframe: '7_days'
    });

    // Step 2: Run fraud detection
    const fraudCheck = await this.trustVerify.fraud.analyze({
      transactionId: transaction.id,
      ipAddress: orderData.ipAddress,
      deviceFingerprint: orderData.deviceId,
    });

    if (fraudCheck.riskScore > 0.7) {
      return { status: 'review_required', transaction, fraudCheck };
    }

    return { status: 'success', transaction };
  }

  async confirmDelivery(transactionId, deliveryProof) {
    return await this.trustVerify.transactions.complete({
      transactionId,
      deliveryProof,
      completedBy: 'buyer'
    });
  }
}

Freelance Platform

Freelance Platform
// Freelance Marketplace Integration
import { TrustVerify } from '@trustverify/sdk';

class FreelanceMarketplace {
  async createProject(projectData) {
    const trustVerify = new TrustVerify({ apiKey: process.env.TRUSTVERIFY_API_KEY });

    // Verify KYC status for both parties
    const [freelancerKyc, clientKyc] = await Promise.all([
      trustVerify.kyc.getStatus(projectData.freelancerId),
      trustVerify.kyc.getStatus(projectData.clientId)
    ]);

    if (freelancerKyc.level < 'basic' || clientKyc.level < 'basic') {
      return { status: 'kyc_required', freelancerKyc, clientKyc };
    }

    const transaction = await trustVerify.transactions.create({
      title: projectData.title,
      amount: projectData.totalAmount,
      currency: 'USD',
      buyerEmail: projectData.client.email,
      sellerEmail: projectData.freelancer.email,
      category: 'digital_services',
      milestones: projectData.milestones
    });

    return { status: 'created', transaction };
  }

  async approveMilestone(transactionId, milestoneId, feedback) {
    const trustVerify = new TrustVerify({ apiKey: process.env.TRUSTVERIFY_API_KEY });
    return await trustVerify.transactions.approveMilestone({
      transactionId, milestoneId, feedback, releasePayment: true
    });
  }
}

Fintech Platform

Fintech Platform
// Fintech Application Integration
import { TrustVerify } from '@trustverify/sdk';

class FintechApplication {
  async processPayment(paymentData) {
    const trustVerify = new TrustVerify({ apiKey: process.env.TRUSTVERIFY_API_KEY });

    // AML/KYC compliance check
    const complianceCheck = await trustVerify.compliance.verify({
      userId: paymentData.userId,
      amount: paymentData.amount,
      currency: paymentData.currency,
      sourceOfFunds: paymentData.sourceOfFunds,
    });

    if (complianceCheck.status === 'requires_review') {
      return { status: 'compliance_review_required', complianceCheck };
    }

    const transaction = await trustVerify.transactions.create({
      title: `Payment to ${paymentData.beneficiary.name}`,
      amount: paymentData.amount,
      currency: paymentData.currency,
      buyerEmail: paymentData.sender.email,
      sellerEmail: paymentData.beneficiary.email,
      category: 'financial_services',
    });

    // Regulatory reporting for large transactions
    if (paymentData.amount >= 10000) {
      await trustVerify.compliance.generateReport({
        transactionId: transaction.id,
        reportType: 'suspicious_activity',
        regulatoryBody: 'FinCEN',
      });
    }

    return { status: 'success', transaction };
  }
}

Enterprise Platform

Enterprise Platform
// Enterprise B2B Integration
import { TrustVerify } from '@trustverify/sdk';

class EnterpriseB2BPlatform {
  async processBulkTransactions(transactions) {
    const trustVerify = new TrustVerify({
      apiKey: process.env.TRUSTVERIFY_API_KEY,
      environment: 'production',
      webhookSecret: process.env.WEBHOOK_SECRET
    });

    const batchSize = 100;
    const results = [];

    for (let i = 0; i < transactions.length; i += batchSize) {
      const batch = transactions.slice(i, i + batchSize);
      const batchResults = await Promise.all(
        batch.map(async (txnData) => {
          const kybVerification = await trustVerify.kyb.verify({
            businessId: txnData.businessId,
            registrationNumber: txnData.registrationNumber,
            beneficialOwners: txnData.beneficialOwners
          });

          if (kybVerification.status !== 'approved') {
            throw new Error(`KYB failed: ${kybVerification.reason}`);
          }

          return await trustVerify.transactions.create({
            title: txnData.contractTitle,
            amount: txnData.contractValue,
            currency: txnData.currency,
            buyerEmail: txnData.buyer.email,
            sellerEmail: txnData.seller.email,
            category: 'enterprise_b2b',
            customWorkflow: { approvalLevels: txnData.approvalLevels }
          });
        })
      );
      results.push(...batchResults);
    }

    return results;
  }
}

Webhook Handler

Webhook Handler
// Webhook Handler for Real-time Updates
import express from 'express';
import crypto from 'crypto';

const app = express();

app.post('/webhooks/trustverify', express.raw({type: 'application/json'}), (req, res) => {
  const signature = req.headers['x-trustverify-signature'];
  const expectedSignature = crypto
    .createHmac('sha256', process.env.TRUSTVERIFY_WEBHOOK_SECRET)
    .update(req.body)
    .digest('hex');

  if (signature !== `sha256=${expectedSignature}`) {
    return res.status(401).send('Invalid signature');
  }

  const event = JSON.parse(req.body);

  switch (event.type) {
    case 'transaction.created':
      handleTransactionCreated(event.data);
      break;
    case 'transaction.completed':
      handleTransactionCompleted(event.data);
      break;
    case 'kyc.approved':
      handleKycApproved(event.data);
      break;
    case 'fraud.high_risk_detected':
      handleHighRiskFraud(event.data);
      break;
  }

  res.status(200).send('OK');
});

Sample Projects & Repositories

Complete starter projects and reference implementations

Next.js E-commerce

Complete e-commerce store with TrustVerify integration

React Marketplace

Freelance marketplace with milestone payments

Python Flask API

Backend API integration with webhook handling

Need Custom Integration Help?

Our integration team can help you implement TrustVerify for your specific use case.