You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Javascript实现Metamask支付按钮并指定发送BSC链上BNB等特定加密货币

实现BSC网络指定BNB支付的代码修改方案

要实现强制用户在BSC网络用BNB支付,你需要新增「BSC网络检测/切换」逻辑,原生BNB是BSC网络的底层Gas代币,切换到BSC网络后发起的原生转账就是BNB转账,修改后的完整逻辑如下:

1. 新增BSC网络配置和切换函数

在原有JS代码中添加如下内容:

// BSC主网配置参数
const BSC_MAINNET_PARAMS = {
  chainId: '0x38', // 对应十进制56,为BSC主网的唯一链ID
  chainName: 'Binance Smart Chain Mainnet',
  nativeCurrency: {
    name: 'Binance Coin',
    symbol: 'BNB',
    decimals: 18
  },
  rpcUrls: ['https://bsc-dataseed1.binance.org/'],
  blockExplorerUrls: ['https://bscscan.com/']
}

// 切换/添加BSC主网的方法
async function switchToBSC() {
  try {
    // 优先尝试切换到用户已添加的BSC主网
    await ethereum.request({
      method: 'wallet_switchEthereumChain',
      params: [{ chainId: BSC_MAINNET_PARAMS.chainId }],
    });
  } catch (switchError) {
    // 错误码4902代表用户未添加BSC主网,触发添加流程
    if (switchError.code === 4902) {
      try {
        await ethereum.request({
          method: 'wallet_addEthereumChain',
          params: [BSC_MAINNET_PARAMS],
        });
      } catch (addError) {
        alert('请允许添加BSC主网以完成支付');
        console.error(addError)
        return false
      }
    } else {
      console.error(switchError)
      return false
    }
  }
  return true
}

2. 修改原有支付按钮的点击逻辑

在发起转账前先校验网络状态,确认切换到BSC主网后再发起转账:

sendEthButton.addEventListener('click', async () => {
  // 先执行BSC网络切换,切换失败直接终止支付流程
  const isBSCSwitchSuccess = await switchToBSC()
  if(!isBSCSwitchSuccess) return

  // BSC网络下的原生转账就是BNB转账,逻辑和以太坊上转ETH完全一致
  ethereum
    .request({
      method: 'eth_sendTransaction',
      params: [
        {
          from: accounts[0],
          to: '替换为你的BSC收款钱包地址',
          // 示例值0x38d7ea4c68000对应0.001 BNB,可根据需求调整转账金额
          value: '0x38d7ea4c68000'
        },
      ],
    })
    .then((txHash) => console.log('交易哈希:', txHash))
    .catch((error) => console.error('交易失败:', error));
});

补充说明

如果你需要让用户支付BSC上的其他BEP20代币(比如BEP20格式的USDT、BUSD等),不需要修改网络切换逻辑,只需要把原生转账的代码替换为对应代币合约的transfer方法调用即可,需要传入对应代币的合约地址、方法ABI、收款地址、转账数量参数。


内容的提问来源于stack exchange,提问作者Jasar Orion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:57:03