skipify-mcp-server

nick-suess-skipify/skipify-mcp-server

3.1

If you are the rightful owner of skipify-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Skipify MCP (Merchant Control Panel) Server is a comprehensive development and testing environment designed for integrating Skipify Checkout embedded components.

๐Ÿš€ Skipify MCP (Merchant Control Panel) Server

A comprehensive development server and testing environment for integrating Skipify Checkout embedded components. This MCP helps customers install, configure, and test Skipify's checkout solution in a staging environment.

๐Ÿ“‹ Table of Contents

๐ŸŽฏ Overview

This MCP server provides:

  • Step-by-step guidance for Skipify embedded components integration
  • Local development environment with CORS and SSL handling
  • Interactive test page for complete integration flow testing
  • Secure credential management with environment variables
  • Direct API communication with Skipify's staging environment

Integration Flow Supported

  1. Configuration Setup - API keys and merchant ID
  2. SDK Loading - Dynamic Skipify SDK initialization
  3. Shopper Lookup - Customer authentication check
  4. Authentication Component - Identity verification UI
  5. Payment Carousel - Payment method selection
  6. Payment Processing - Transaction submission to Skipify

โšก Quick Start

1. Start the Server

cd /path/to/demo-project
node direct-server.js

2. Open Test Page

In your browser, navigate to:

http://localhost:3000/skipify-test.html

3. Test Integration

Follow the 6-step process in the test page to validate your Skipify integration.

๐Ÿ“ File Structure

demo-project/
โ”œโ”€โ”€ README.md                  # This documentation
โ”œโ”€โ”€ direct-server.js          # โœ… RECOMMENDED: Direct API server (working)
โ”œโ”€โ”€ simple-proxy.js           # Alternative: Simple proxy server
โ”œโ”€โ”€ skipify-proxy.js          # Alternative: Full-featured proxy with security
โ”œโ”€โ”€ skipify-test.html         # Interactive test page for integration
โ”œโ”€โ”€ package.json              # Node.js dependencies and scripts
โ”œโ”€โ”€ package-lock.json         # Dependency lock file
โ”œโ”€โ”€ .gitignore                # Git ignore rules for security
โ”œโ”€โ”€ SECURITY.md               # Comprehensive security guide
โ”œโ”€โ”€ setup-secure-env.js       # Interactive credential setup script
โ”œโ”€โ”€ env-example.txt           # Environment variable template
โ”œโ”€โ”€ .env.local                # โš ๏ธ YOUR SECURE CREDENTIALS (gitignored)
โ””โ”€โ”€ config/
    โ””โ”€โ”€ skipify.js            # Configuration with environment variable support

Key Files Explained

๐ŸŽฏ direct-server.js (RECOMMENDED)
  • Primary server file that works reliably
  • Makes direct HTTPS requests to Skipify API
  • Bypasses proxy middleware complexity
  • Includes comprehensive error handling and logging
  • Serves static files and test page
๐Ÿงช skipify-test.html
  • Interactive test interface for the complete integration flow
  • Guides users through all 6 steps of Skipify integration
  • Real-time status updates and error reporting
  • Persists configuration in localStorage
๐Ÿ”’ Security Files
  • .env.local: Your actual API credentials (never committed)
  • SECURITY.md: Comprehensive security best practices
  • .gitignore: Protects sensitive files from version control
  • setup-secure-env.js: Interactive secure credential setup
โš™๏ธ Configuration
  • config/skipify.js: Environment-aware configuration
  • package.json: Dependencies and useful npm scripts

๐Ÿ› ๏ธ Setup Methods

Method 1: Quick Setup (Recommended)

  1. Install Dependencies

    npm install
    
  2. Update Credentials in direct-server.js Edit lines 9-13 with your actual credentials:

    const config = {
      apiUrl: 'https://services.staging.skipify.com',
      merchantId: 'your-merchant-id-here',
      apiKey: 'your-api-key-here'
    };
    
  3. Start Server

    node direct-server.js
    

Method 2: Secure Environment Setup

  1. Install Dependencies

    npm install
    
  2. Run Secure Setup

    npm run setup
    

    This will interactively prompt for your credentials and create a secure .env.local file.

  3. Start Secure Server

    npm start  # Uses skipify-proxy.js with environment variables
    

๐Ÿงช Testing the Integration

Access the Test Page

  1. Start the server using either method above
  2. Open your browser to: http://localhost:3000/skipify-test.html
  3. Follow the 6-step process:
Step 1: Save Configuration
  • Enter your API credentials
  • Select staging environment
  • Configuration persists in browser localStorage
Step 2: Load SDK
  • Dynamically loads Skipify's JavaScript SDK
  • Initializes with your merchant ID and environment
Step 3: Perform Lookup
  • Tests customer authentication/lookup
  • Validates API connectivity
Step 4: Initialize Authentication
  • Renders Skipify's authentication component
  • Handles identity verification flow
Step 5: Initialize Payment Carousel
  • Displays available payment methods
  • Allows payment method selection
Step 6: Process Payment
  • Submits transaction to Skipify API
  • Shows real-time processing results

Expected Results

  • โœ… Steps 1-5: Should complete successfully with proper configuration
  • โœ… Step 6: Should show API communication (may show validation errors with test data, which is normal)

๐Ÿ”’ Security

Credential Protection

  • Never commit API keys to version control
  • Use environment variables for production
  • Enable .gitignore to protect sensitive files
  • Rotate API keys regularly

Files to Protect

  • .env.local - Your actual credentials
  • .env.* - Any environment files
  • **/credentials/* - Credential directories

Security Best Practices

See SECURITY.md for comprehensive security guidelines including:

  • Environment variable setup
  • Production deployment security
  • Emergency response procedures
  • Credential rotation practices

๐Ÿ› Troubleshooting

Common Issues

"Socket hang up" errors

Solution: Use direct-server.js instead of proxy-based servers

node direct-server.js  # โœ… Recommended approach
404 errors accessing test page

Solution: Ensure you're accessing the correct URL

โœ… http://localhost:3000/skipify-test.html
โŒ http://localhost:8080/skipify-test.html
"Missing script: start" errors

Solution: Run commands from the correct directory

cd /path/to/demo-project  # Must be in demo-project directory
node direct-server.js
API authentication errors (401/403)

Solution: Verify your credentials in the configuration

  1. Check API key format: SKIP_...
  2. Verify merchant ID is correct
  3. Ensure you're using staging environment credentials
SSL/Certificate errors

Solution: The direct-server.js handles this with rejectUnauthorized: false

Debug Logs

The server provides detailed logging:

  • โœ… Request/Response logging for API calls
  • โœ… Credential masking for security (shows SKIP_***We5%)
  • โœ… Error details with stack traces
  • โœ… Step-by-step flow tracking

๐ŸŒ Production Deployment

Environment Variables

For production deployment, set these environment variables:

SKIPIFY_ENVIRONMENT=production
SKIPIFY_MERCHANT_ID=your_production_merchant_id
SKIPIFY_API_KEY=your_production_api_key
SKIPIFY_API_URL=https://services.skipify.com
SKIPIFY_SDK_URL=https://cdn.skipify.com/sdk/components-sdk.js

Production Checklist

  • Use production API endpoints
  • Set production credentials
  • Enable SSL certificate verification (secure: true)
  • Set up proper error monitoring
  • Configure rate limiting
  • Set up health check monitoring
  • Enable access logging
  • Configure firewall rules

Docker Deployment

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "direct-server.js"]

๐Ÿ“š API Reference

Health Check

GET /health
Response: {
  "status": "OK",
  "environment": "staging",
  "apiUrl": "https://services.staging.skipify.com",
  "timestamp": "2025-09-03T21:14:46.935Z"
}

Payment Processing

POST /api/payments
Headers:
  Content-Type: application/json
Body: {
  "paymentId": "string",
  "sessionId": "string",
  "amount": number,
  "currencyCode": "string",
  "merchantReference": "string"
}

Static Files

GET /skipify-test.html    # Main test interface
GET /config/skipify.js    # Configuration file
GET /*                    # All static files served

๐Ÿ“ž Support

Getting Help

  1. Check troubleshooting section above for common issues
  2. Review server logs for detailed error information
  3. Test with curl to isolate API vs. UI issues:
    curl -v http://localhost:3000/health
    
  4. Verify credentials in Skipify merchant portal

Development Tools

  • Browser DevTools: Check console for JavaScript errors
  • Network Tab: Monitor API requests and responses
  • Server Logs: Real-time debugging information
  • Test Page: Built-in status indicators and error reporting

๐ŸŽ‰ Success Indicators

Your integration is working when:

  • โœ… Health check returns 200 OK
  • โœ… SDK loads without errors
  • โœ… Authentication component renders
  • โœ… Payment carousel displays
  • โœ… API requests return valid responses (even validation errors are good!)

๐Ÿ“ Notes

  • Staging Environment: Uses https://services.staging.skipify.com
  • SSL Handling: Configured for staging environment certificates
  • CORS: Enabled for localhost development
  • Idempotency: Automatic UUID generation for payment requests

Built with โค๏ธ for seamless Skipify integration testing