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.