常见问题

接口有频率限制吗?

针对key限制每秒钟请求10次。

有没有接入示例 Demo?

每个接口文档下都有相应的代码示例,如果没有请联系我们更新。

技术对接时遇到问题怎么办?

首先请优先阅读我们的接入文档。如果问题刁钻无法解决💀,可通过客服渠道和我们取得联系。

下单后如何判断能量是否发送

下单后能量充足的情况下,大约1-3秒能量即可发送到接收钱包,status等于4表示已下单成功,等于6表示能量已经发送,等于14 能量不足已退款,其他的状态可以尝试轮训请求查询订单详情 接口进行判断。感谢网友@miya0v0open in new window提供Golang代码的处理思路。可酌情参考。

// 创建一个通道,用于接收结果,设置一个缓冲区
resultCh := make(chan *utils.OrderQueryResponse, 1)
var wg sync.WaitGroup
wg.Add(1)
// 创建一个上下文和取消函数
ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
defer cancel()
// 启动协程
go func() {
  defer wg.Done() // 减少等待的协程数量
  for {
    select {
    case <-ctx.Done():
      // 如果超时,结束循环
      log.Println("Timeout, stopping to fetch order details.")
      return
    default:
      result, err := utils.GetOrderDetail(sendRentEnergy.OrderNo)
      if err != nil {
        log.Println("Error getting order detail:", err)
        return
      }
      // 如果 result.FrozenTxID 不为空,将结果发送到通道并结束循环
      if result.Status == 6 && result.FrozenTxID != "" {
        resultCh <- result
        return
      } else {
        log.Println(result.Status, result.FrozenTxID)
      }
      time.Sleep(1 * time.Second)
    }
  }
}()
// 等待所有协程完成
wg.Wait()
// 接收协程的结果
select {
case result := <-resultCh:
  cancel() // 取消主协程的超时
case <-ctx.Done():
  log.Println("Timeout: Failed to receive result from the goroutine.")
  // 可选择在超时情况下进行相应处理
}
上次更新: