StableOps
SDK

钱包 SDK

主流去中心化钱包支付集成。

安装

pnpm add @stableops/wallet-sdk

钱包 SDK 仅用于浏览器端,面向支持 fetch API 和 EIP-1193 / TronLink / Solana 钱包适配器的运行环境。

去中心化钱包支付(EVM / TRON / Solana)

浏览器端可以把后端创建出来的 paymentInstructions 候选列表交给主流去中心化钱包发起链上转账。 StableOps 仍然负责订单幂等、收款地址分配、链上扫描、确认数与 webhook;钱包 SDK 只负责让用户把钱转到该订单的指定地址。

import {
  getInjectedWalletProviders,
  sendOrderWalletPayment,
} from '@stableops/wallet-sdk'

const sent = await sendOrderWalletPayment({
  order,
  providers: getInjectedWalletProviders(),
})

console.log(sent.txHash)

也可以先自行选中一条候选指令,再调用底层发送函数:

import {
  getInjectedWalletProviders,
  selectWalletPaymentInstruction,
  sendWalletPayment,
} from '@stableops/wallet-sdk'

const { instruction, provider } = selectWalletPaymentInstruction(
  order.paymentInstructions,
  getInjectedWalletProviders(),
)

await sendWalletPayment({
  provider,
  amount: order.amount,
  instruction,
})

当前钱包支付助手覆盖系统支持的全部链:

  • ethereumethereum-sepoliabasebase-sepoliaarbitrumarbitrum-sepoliapolygonpolygon-amoy:调用 EIP-1193 钱包,必要时切链 / 添加网络,并发送 ERC-20 transfer
  • trontron-nile:调用 TronLink / TronWeb,构造、签名并广播 TRC-20 transfer
  • solanasolana-devnet:调用 Solana wallet adapter,自动创建收款地址的关联 token account(幂等),并发送 SPL Token TransferChecked。使用 solana-devnet 时请传入 solanaRpcUrl: 'https://api.devnet.solana.com' 或等价 devnet RPC。

注意:不要在浏览器暴露 STABLEOPS_API_KEY。订单创建仍应在你的后端完成,前端只接收订单 id、金额和 paymentInstructions,并用当前已有的钱包选择一条候选链发起链上转账。

本页内容