微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将BTC Pay Server发票到期时间设置为永不?

如何解决将BTC Pay Server发票到期时间设置为永不?

这是this post的后续问题,但是我的问题与编程有关,所以我希望这是发布它的正确位置。

我也试图将BTC Pay Server用作钱包。 Thera是两个问题:

  1. 文章中所述,创建发票时必须指定金额。
  2. It has a security feature that basically results in you not being able to re-use deposit addresses

问题1的解决方法是将发票金额设置为0.000001 BTC。太低了,客户总是会多付钱。这对我有用。

但是我的问题是地址永远不能过期。我检查了代码

  1. Here,您可以看到“发票”对象。
  2. Here,您可以看到正在使用的代码

看来我可以使用此功能

public function setExpirationTime($expirationTime)
{
    if (is_a($expirationTime,'DateTime')) {
        $this->expirationTime = $expirationTime;
    } else if (is_numeric($expirationTime)) {
        $expirationDateTime = new \DateTime('',new \DateTimeZone("UTC"));
        $expirationDateTime->setTimestamp($expirationTime);
        $this->expirationTime = $expirationDateTime;
    }
    return $this;
}

并将到期时间设置为3000年。所以我的问题是:

  1. 如果我尝试使用BTC Pay服务器使其地址永不过期,我会否抛弃我的地址?
  2. 如果用户发送到过期地址/
  3. ,我仍会收到资金
  4. 或者也许有更好的方法让BTC Pay服务器充当我想要的钱包?

谢谢!

解决方法

  1. 如果我尝试使用BTC Pay服务器放弃我的地址, 使其永不过期?

实际上,如果expirationTime的类型为DateTime,则可能会遇到year 2038 problem。如果真是这样,当您尝试传递大于2038的值时,它将被设置为负值。目前尚不清楚下一步将发生什么。

如果运行代码的系统是64位,则Y2038问题不适用。

  1. 如果用户发送,我仍会收到资金 到过期的地址

https://docs.btcpayserver.org/FAQ/FAQ-Stores/#payment-invalid-if-transactions-fails-to-confirm-minutes-after-invoice-expiration

如果客户支付发票,但无法获取已定义的发票 在设定时间内的确认次数,标记为 “无效。”然后,商家可以决定是否接受发票 之后手动或拒绝,并要求从 客户。这是针对 波动性

所以不完全正确-如果过期,您需要做一些工作才能接受。

  1. 或者也许有更好的方法来获取BTC 付费服务器充当我想要的钱包?

为什么不将发票设置为3000年,而不是将其设置为3000年?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。