← Back to Home

📊 Level SDK Demo

Implement level-based payment functionality with PayChangu

Test Mode Active: Using PayChangu test credentials. No real charges will be made.
Public Key: pub-test-NBoy...gaH | Secret Key: sec-test-rTvJ...K32 | Environment: Test/Sandbox
API Credentials (Test)
Test Secret Key (for server-side operations)
Test Public Key (auto-filled)

Code Example

// Import the SDK
import { LevelSDK, generateTxRef } from 'paychangu-js';

// Build level configuration
const levelConfig = {
    amount: parseFloat(document.getElementById('levelAmount').value),
    currency: document.getElementById('levelCurrency').value,
    email: document.getElementById('levelEmail').value,
    first_name: document.getElementById('levelFirstName').value,
    last_name: document.getElementById('levelLastName').value,
    callback_url: document.getElementById('levelCallbackUrl').value,
    return_url: document.getElementById('levelReturnUrl').value,
    tx_ref: generateTxRef(), // Auto-generated unique reference
    customization: {
        title: document.getElementById('levelTitle').value,
        description: document.getElementById('levelDescription').value
    },
    meta: {
        payment_type: 'level',
        demo: true
    }
};

// Make the level-based payment
const response = await LevelSDK.makePayment(levelConfig);
console.log('Level Payment Response:', response);

Expected Response Structure

{
  "status": "success",
  "message": "Payment initiated successfully",
  "data": {
    "tx_ref": "PC-XXXXX-XXXXXXXXX",
    "amount": 1000,
    "currency": "MWK",
    "customer": {
      "email": "customer@example.com",
      "first_name": "John",
      "last_name": "Doe"
    },
    "payment_url": "https://pay.changu/pay/xxxxx",
    "status": "pending"
  }
}