RazCrypto RazCrypto Docs
Dashboard Get API Keys
Docs JavaScript SDK

JavaScript SDK

The official RazCrypto JavaScript SDK for frontend integration. Works in any browser.

Installation

HTML
<script src="https://razcryptogateway.com/sdk/razcrypto-v2.js"></script>

Initialize

JavaScript
RazCrypto.init({
    public_key_id: "rz_pub_your_public_key_here",
    api_base: "https://razcryptogateway.com", // Optional
    auto_redirect: true,      // Auto redirect to payment page
    request_timeout: 15000,   // 15 seconds
    show_messages: true       // Show alert messages
});

auto_redirect: true → User redirected to hosted page automatically.
auto_redirect: false → You get raw JSON to build custom UI.

Method A — Frontend Only (No Backend)

JavaScript
RazCrypto.init({ public_key_id: "rz_pub_your_public_key_here" });

RazCrypto.checkout({
    amount: 10.00,
    currency: "USDT",
    chain: "BSC",
    email: "[email protected]",
    mobile: "9876543210",
    callback_url: "https://yourwebsite.com/success",
    custom_data: { order_id: "ORD_001" },
    handler: function(response) {
        console.log("Payment ID:", response.payment_id);
        window.location.href = "/thank-you?payment_id=" + response.payment_id;
    },
    onError: function(error) {
        alert("Payment failed: " + error.message);
    }
});

Method B — Backend First

JavaScript
async function startPayment() {
    // Your backend creates payment, returns checkout_page
    const response = await fetch('/api/create-payment', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ amount: 10.00, currency: "USDT", chain: "BSC" })
    });
    const data = await response.json();

    // Open RazCrypto payment window
    RazCrypto.openPaymentWindow(data.checkout_page, function(result) {
        console.log("Payment completed:", result.payment_id);
        window.location.href = "/order-success?payment_id=" + result.payment_id;
    });
}

Event Listeners

JavaScript
// SDK events (client-side only — different from server webhooks)
window.addEventListener('razcrypto.payment.success', function(e) {
    console.log('Payment created:', e.detail);
});

window.addEventListener('razcrypto.payment.error', function(e) {
    console.error('Payment error:', e.detail?.message);
});
SDK events vs Webhooks: razcrypto.payment.success fires when payment is created. payment.completed webhook fires when blockchain confirms the payment.