Implement level-based payment functionality with PayChangu
// 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);
{
"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"
}
}