Buy a WhatsApp Number
WhatsApp Business専用番号を購入する
仮想番号でWhatsAppメッセージを即座に送受信できます。設定不要 . 企業でも個人でも、当社のシステムは簡単にコミュニケーションをとるために必要なすべてを提供します。
✅ 送信先あなたの既知の連絡先 またはこれまでメッセージを送ったことのない新しい連絡先 !
✅ 強力なAPIまたは使いやすいダッシュボードを使用して、すべての会話を管理します
✅ ID確認なし — 数回クリックするだけで開始できます
✅ 表示可能な設定が可能アカウント名 WhatsAppで ✅ 可能性アバターを選択 WhatsAppアカウント用 ✅ 完全に専用の安全な番号 —あなただけの
✅ WhatsAppメッセージを送信するには無制限の数の仮想ビジネス番号
マーケティング、サポート、自動化、個人メッセージングに最適で、完全な制御とプライバシーを維持しながらコミュニケーションを拡大します。
0$ 送信されたメッセージごと
無制限 メッセージ
隠れた手数料なし
今すぐ購入!国を選択して開始
オーストラリア $29 / 月
カナダ $29 / 月
チェコ共和国 $29 / 月
フィンランド $29 / 月
インドネシア $29 / 月
イスラエル $29 / 月
メキシコ $29 / 月
オランダ $29 / 月
ポーランド $29 / 月
スウェーデン $29 / 月
タイ $29 / 月
ウクライナ $29 / 月
イギリス $29 / 月
アメリカ合衆国 $29 / 月
まず国を選択してください: 注文した電話番号は SMSMobileAPI 経由でのみ使用できます。API とダッシュボードを使用して WhatsApp メッセージを送受信できます。
オーストラリア $29 / 月
カナダ $29 / 月
チェコ共和国 $29 / 月
フィンランド $29 / 月
インドネシア $29 / 月
イスラエル $29 / 月
メキシコ $29 / 月
オランダ $29 / 月
ポーランド $29 / 月
スウェーデン $29 / 月
タイ $29 / 月
ウクライナ $29 / 月
イギリス $29 / 月
アメリカ合衆国 $29 / 月
Type of payment:
Pay in US dollars: $0.00
Pay in USDT (crypto)
Pay in BTC (crypto)
`;
document.getElementById("modalBody").innerHTML = summaryHTML;
document.getElementById("confirmationModal").style.display = "flex";
// Charger les prix depuis PHP
// Créer l'overlay au moment du chargement
const loadingOverlay = document.createElement("div");
loadingOverlay.id = "priceLoadingOverlay";
loadingOverlay.style.position = "fixed";
loadingOverlay.style.top = 0;
loadingOverlay.style.left = 0;
loadingOverlay.style.width = "100%";
loadingOverlay.style.height = "100%";
loadingOverlay.style.backgroundColor = "rgba(0, 0, 0, 0.5)";
loadingOverlay.style.zIndex = "9999";
loadingOverlay.style.display = "flex";
loadingOverlay.style.alignItems = "center";
loadingOverlay.style.justifyContent = "center";
loadingOverlay.style.color = "#fff";
loadingOverlay.style.fontSize = "24px";
loadingOverlay.style.fontWeight = "bold";
loadingOverlay.textContent = "Please wait...";
document.body.appendChild(loadingOverlay);
// Charger les prix depuis PHP
fetch("https://dashboard.smsmobileapi.com/get_number_prices.php?country=" + country)
.then(response => response.json())
.then(data => {
document.getElementById("numberMonthly").textContent = `$${data.monthly}`;
document.getElementById("numberAnnual").textContent = `$${data.annual}`;
document.getElementById("numberMonthly").setAttribute("data-price", data.monthly);
document.getElementById("numberAnnual").setAttribute("data-price", data.annual);
updateSummaryPrice(); // Mise à jour initiale
})
.catch(error => {
console.error("Price loading error:", error);
})
.finally(() => {
// Retirer l'overlay à la fin, qu’il y ait eu erreur ou succès
const overlay = document.getElementById("priceLoadingOverlay");
if (overlay) overlay.remove();
});
}
function updateSummaryPrice() {
const setupFee = parseFloat(document.getElementById("setup_fee").value);
const extraKeyMonth = parseFloat(document.getElementById("smsmobile_extr_api_key_month").value);
const extraKeyYear = parseFloat(document.getElementById("smsmobile_extr_api_key_year").value);
const numberMonth = parseFloat(document.getElementById("numberMonthly").getAttribute("data-price"));
const numberYear = parseFloat(document.getElementById("numberAnnual").getAttribute("data-price"));
const billingMode = document.querySelector('input[name="billing_mode"]:checked').value;
let number_quantity = parseFloat(document.getElementById("number_quantity").value);
if (isNaN(number_quantity) || number_quantity <= 0) {
number_quantity = 1;
document.getElementById("number_quantity").value = 1
}
// Limite maximale
if (number_quantity > 500) {
alert("Maximum allowed is 500 numbers per order.");
number_quantity = 500;
document.getElementById("number_quantity").value = 500; // mettre à jour le champ visuellement
}
let total = setupFee;
let recurringAmount = 0;
let explanation = "";
if (billingMode === "monthly") {
recurringAmount = extraKeyMonth + numberMonth;
total += recurringAmount;
explanation = `Then in one month, you will be charged $${recurringAmount.toFixed(2)} per month / per number for your subscription.`;
} else {
recurringAmount = extraKeyYear + numberYear;
total += recurringAmount;
explanation = `Then in one year, you will be charged $${recurringAmount.toFixed(2)} per year / per number for your subscription.`;
}
/*
total_annuel = total * 10;
document.getElementById("numberMonthly_total").textContent = `$${total.toFixed(2)}`;
document.getElementById("numberAnnual_total").textContent = `$${total_annuel.toFixed(2)}`;
*/
total = total * number_quantity;
document.getElementById("totalAmount").textContent = `$${total.toFixed(2)}`;
document.getElementById("billingExplanation").textContent = explanation;
// ✅ Conversion USD -> USDT & BTC via CoinGecko
/*
fetch("https://api.coingecko.com/api/v3/simple/price?ids=tether,bitcoin&vs_currencies=usd")
.then(response => response.json())
.then(data => {
//const tetherPrice = data.tether.usd; // en théorie 1
const tetherPrice = 1 ;// en théorie 1
const bitcoinPrice = data.bitcoin.usd;
const totalUsdt = total / tetherPrice;
const totalBtc = total / bitcoinPrice;
document.getElementById("convertedUSDT").textContent = `≈ ${totalUsdt.toFixed(2)} USDT`;
document.getElementById("convertedBTC").textContent = `≈ ${totalBtc.toFixed(8)} BTC`;
})
.catch(error => {
console.error("Erreur CoinGecko :", error);
});
*/
//const tetherPrice = data.tether.usd; // en théorie 1
const tetherPrice = 1 ;// en théorie 1
const bitcoinPrice = 1
const totalUsdt = total / tetherPrice;
const totalBtc = total / bitcoinPrice;
document.getElementById("convertedUSDT").textContent = `≈ ${totalUsdt.toFixed(2)} USDT`;
document.getElementById("convertedBTC").textContent = `≈ ${totalBtc.toFixed(8)} BTC`;
// Lire le crédit disponible depuis l'input
var availableCredit = parseFloat(document.getElementById('money_disponible').value);
// Lire le montant depuis le span (nettoyer pour garder seulement les chiffres)
var totalAmountText = document.getElementById('totalAmount').textContent.trim();
var totalAmount = parseFloat(totalAmountText.replace(/[^0-9.]/g, ''));
// Sélectionner le bouton radio
var creditRadio = document.querySelector('input[type="radio"][id="type_of_payment"][value="credit"]');
var usdRadio = document.querySelector('input[type="radio"][id="type_of_payment"][value="usd"]');
// Vérifier et désactiver si nécessaire
if (availableCredit < totalAmount) {
creditRadio.disabled = true;
creditRadio.checked = false;
usdRadio.checked=true;
}else{
creditRadio.disabled = false;
}
}
function finalizePurchase() {
var button = document.getElementById("bouton_payment");
var spinner = document.getElementById("spinner");
// Grise le bouton + désactive
button.disabled = true;
button.style.opacity = 0.6;
button.style.cursor = "not-allowed";
// Affiche le spinner
spinner.style.display = "inline-block";
const country = document.getElementById("selected_country").value;
const area_id = document.getElementById("selected_area_id").value;
const city = document.getElementById("selected_city").value;
const paymentType = document.querySelector('input[name="type_of_payment"]:checked').value;
const country_name = document.getElementById("selected_country_name").value;
let number_quantity = parseFloat(document.getElementById("number_quantity").value);
const setup_fee = document.getElementById("setup_fee").value;
const smsmobile_extr_api_key_month = document.getElementById("smsmobile_extr_api_key_month").value;
const smsmobile_extr_api_key_year = document.getElementById("smsmobile_extr_api_key_year").value;
const country_code = document.getElementById("selected_country_code").value;
const billingMode = document.querySelector('input[name="billing_mode"]:checked').value;
const numberMonthly = document.getElementById("numberMonthly").textContent.replace(/[^\d.]/g, '');
const numberAnnual = document.getElementById("numberAnnual").textContent.replace(/[^\d.]/g, '');
const apiMonthly = 0;
const apiAnnual = 0;
const setupFee = 0;
const apikey = '' ;
const total = billingMode === 'monthly'
? setupFee + apiMonthly + parseFloat(numberMonthly)
: setupFee + apiAnnual + parseFloat(numberAnnual);
fetch("/insert_cart_order.php", {
method: "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: `country=${encodeURIComponent(country)}&country_name=${country_name}&email_client=&paymentType=${paymentType}&setup_fee=${setup_fee}&number_quantity=${number_quantity}&smsmobile_extr_api_key_month=${smsmobile_extr_api_key_month}&smsmobile_extr_api_key_year=${smsmobile_extr_api_key_year}&area_id=${area_id}&city=${city}&country_code=${country_code}&billing=${billingMode}&number_monthly=${numberMonthly}&number_annual=${numberAnnual}&total=${total}&apikey=${apikey}`
})
.then(response => response.text())
.then(data => {
//alert("✅ Order saved successfully!\n" + data);
//alert(data);
const cleanData = data.replace(/<\/?[^>]+(>|$)/g, "").trim();
const totalText = document.getElementById("totalAmount").textContent;
const total_from_getElementById = parseFloat(totalText.replace(/[^0-9.]/g, ''));
if(paymentType == "")
{
alert("Please select a payment method");
}else{
launchStripePayment(total_from_getElementById,cleanData,paymentType);
}
closeModal();
})
.catch(err => {
console.error("Error:", err);
alert("❌ Error saving the order.");
});
}
function closeModal() {
document.getElementById("confirmationModal").style.display = "none";
}
使いやすいダッシュボードはこちらです:
ワンクリックで番号を購入して確認し、カードまたは USDT でオンラインで支払います。
購入した番号を管理し、配送をリアルタイムで追跡します。
配信された番号を使用して WhatsApp メッセージを送信します。