rebtel 1 美元充值 50 元话费

1 、首先打开 AFF 网站: https://reb.tel/Ya3tZV 2 、使用实体卡进行注册 3 、使用 Paypal 或者 bybit 虚拟卡进行支付。 4 、点击 Mobile Top Up 进行给国内手机号码充值,并选择第一个($8.49) 5 、跳转到订单确认界面勾选( Use Rebtel Credits )一定要选择上,否则会扣款之前支付方式的余额。 6 、第五步骤会经常失败,我提供了 油猴的脚本,代码粘贴进去就可以使用。 7 、在 Account activity ( https://my.rebtel.com/en/my/activity/) 中看到 China Mobile China 50 CNY 就成功,等待手机话费到账。 油猴脚本 // ==UserScript== // @name Rebtel 自动支付脚本 (循环等待版) // @namespace http://tampermonkey.net/ // @version 1.2 // @description 自动处理 Rebtel 支付页面,持续等待按钮出现并执行点击操作 // @author 奥巴马 // @match https://www.rebtel.com/en/checkout // @grant none // ==/UserScript==

(function() { 'use strict';

// 定义自动化流程,包括点击两个按钮
function runAutomation() {
    console.log('--- 找到 rebtel-credits 按钮,开始执行流程 ---');

    // --- 步骤 1: 点击 id="rebtel-credits" 按钮 ---
    const creditsButton = document.getElementById('rebtel-credits');
    if (creditsButton) {
        creditsButton.click();
        console.log('已点击 "rebtel-credits" 按钮。');
    } else {
        console.log('未找到 "rebtel-credits" 按钮,流程中止。');
        return;
    }

    // --- 步骤 2: 等待 2 秒后点击 Pay $0 按钮 ---
    setTimeout(function() {
        const payButton = document.querySelector('button[type="submit"]');
        if (payButton && payButton.textContent.trim() === 'Pay $0') {
            payButton.click();
            console.log('已点击 "Pay $0" 按钮。');
        } else {
            console.log('未找到 "Pay $0" 按钮或按钮内容不匹配,流程中止。');
        }
    }, 2000); // 延迟 2 秒
}

// --- 主流程:持续检查按钮是否加载完成 ---
function initScript() {
    const checkButtonExistence = setInterval(function() {
        const creditsButton = document.getElementById('rebtel-credits');
        if (creditsButton) {
            // 如果按钮找到了,清除检查定时器
            clearInterval(checkButtonExistence);
            // 运行自动化流程
            runAutomation();
        }
    }, 500); // 每 500 毫秒检查一次
}

// --- 步骤 3: 持续检查并点击 "Try Again" 按钮,并重新启动主流程 ---
function watchForTryAgain() {
    setInterval(function() {
        const tryAgainButton = document.querySelector('button[data-sentry-component="Button"][data-sentry-source-file="Button.tsx"]');
        if (tryAgainButton && tryAgainButton.textContent.trim() === 'Try Again') {
            console.log('已找到 "Try Again" 按钮,正在点击以重试...');
            tryAgainButton.click();

            // 点击后等待片刻,确保页面更新,然后重新启动主流程
            setTimeout(initScript, 1500); // 1.5 秒后重新执行
        }
    }, 1000); // 每秒检查一次
}

// 页面加载完成后,启动两个独立的检查流程
window.addEventListener('load', function() {
    initScript();
    watchForTryAgain();
}, false);

})();