The fastest way to accept payments. No complexity. No fees. Just results.
Sign in to continue
Scan to complete registration
Scan this QR code with your mobile to verify your Aadhaar and PAN card. Your name will be extracted from the documents.
Waiting for verification...
Loading transactions...
Loading API details...
Implement instant delivery for your digital products
{
"event": "payment.verified",
"order_id": "abc123-uuid",
"item_name": "Premium Software License",
"price": 1999,
"customer_name": "John Doe",
"customer_phone": "9876543210",
"shipping_address": "123 Street, City",
"verified_at": "2026-01-31T13:00:00Z",
"status": "verified"
}
{
"delivery_url": "https://yourapp.com/download/license-ABC123XYZ"
}
Customer will be redirected to this URL to access their purchase
app.post('/api/lazylink-webhook', async (req, res) => {
const { order_id, customer_name, item_name } = req.body;
// Generate license key or download link
const licenseKey = generateLicense(order_id);
const deliveryUrl = \`https://yourapp.com/download/\${licenseKey}\`;
// Save to database
await db.orders.create({
orderId: order_id,
customer: customer_name,
licenseKey: licenseKey
});
// Return delivery URL
res.json({ delivery_url: deliveryUrl });
});
@app.route('/api/lazylink-webhook', methods=['POST'])
def handle_webhook():
data = request.get_json()
order_id = data['order_id']
customer = data['customer_name']
# Generate license
license_key = generate_license(order_id)
delivery_url = f'https://yourapp.com/download/{license_key}'
# Save to database
db.orders.insert({
'order_id': order_id,
'customer': customer,
'license_key': license_key
})
return jsonify({'delivery_url': delivery_url})
<?php
$data = json_decode(file_get_contents('php://input'), true);
$order_id = $data['order_id'];
$customer = $data['customer_name'];
// Generate license
$license_key = generate_license($order_id);
$delivery_url = "https://yourapp.com/download/$license_key";
// Save to database
$db->query("INSERT INTO orders (order_id, customer, license_key)
VALUES (?, ?, ?)", [$order_id, $customer, $license_key]);
header('Content-Type: application/json');
echo json_encode(['delivery_url' => $delivery_url]);
?>
💡 Pro Tip: Test your webhook using webhook.site - it provides a free temporary URL to inspect webhook requests
Add LazyLink payments to your website in 2 steps.
<!-- 1. Include Script -->
<script src="https://lazylink.matebricks.com/widget.js"></script>
<!-- 2. Initialize -->
<script>
LazyLink.createPayment({
apiKey: 'YOUR_KEY',
itemName: 'Product Name',
price: 999,
onSuccess: (orderId) => alert('Paid: ' + orderId)
});
</script>
Create branded UPI payment pages. Customers enter any amount and pay instantly.
Run the SQL in pay_pages_table.sql in your Supabase SQL Editor to enable Pay Pages.
CREATE TABLE IF NOT EXISTS public.pay_pages ( id TEXT PRIMARY KEY, user_id UUID NOT NULL REFERENCES public.users(id) ON DELETE CASCADE, business_name TEXT NOT NULL, upi_id TEXT NOT NULL, message TEXT, is_active BOOLEAN DEFAULT TRUE, created_at TIMESTAMPTZ DEFAULT NOW() ); ALTER TABLE public.pay_pages ENABLE ROW LEVEL SECURITY; CREATE POLICY "Public Access Pay Pages" ON public.pay_pages FOR ALL USING (true) WITH CHECK (true); CREATE INDEX IF NOT EXISTS idx_pay_pages_user_id ON public.pay_pages(user_id);
Loading your pay pages...
Customers can pay any amount via UPI
Shown to the customer on the payment page
Payments will go to this UPI ID
Max 120 characters. Shown at top of payment page.
Configure instant delivery for automated payments
LazyLink will POST payment details to this URL after instant verification. Your endpoint must
return {"delivery_url": "..."}
Used if webhook fails or doesn't return a delivery URL
Liability Disclaimer: OCR technology is not 100% perfect. By enabling this, you understand that LazyLink is NOT responsible for any false verifications, failed payments, or lost revenue. You accept full responsibility for this automated feature.
We sent a code to
Liability Disclaimer: OCR technology is not 100% perfect. By enabling this, you understand that LazyLink is NOT responsible for any false verifications, failed payments, or lost revenue. You accept full responsibility for using this automated feature.