Repository navigation
Биллинг: отдельный токен Crypto Pay для testnet - #372
Merged
Merged
Conversation
Переключатель testnet выбирает CRYPTO_PAY_TESTNET_TOKEN и testnet-хост. Без этого токена счет не создается, боевой токен на testnet не уходит. Вебхук другого режима отвечает 200 и не продлевает подписку. Co-authored-by: ANDY BUM <spacesarmat@users.noreply.github.com>
Старая ссылка другого режима больше не выдается. У каждого режима своя, повтор того же режима переиспользует ее. Без токена режима счет disabled. Co-authored-by: ANDY BUM <spacesarmat@users.noreply.github.com>
Смена режима больше не подменяет invoiceId так, чтобы уже выданная ссылка этого режима отклонялась как bad_label. Co-authored-by: ANDY BUM <spacesarmat@users.noreply.github.com>
Смена testnet между чтением и записью не превращает уже принятый счет в постоянный bad_label. Co-authored-by: ANDY BUM <spacesarmat@users.noreply.github.com>
Co-authored-by: ANDY BUM <spacesarmat@users.noreply.github.com> # Conflicts: # CHANGELOG.en.md # CHANGELOG.md
Ссылка без метки режима считается боевой и переиспользуется. Если потом создается testnet-счет, старый invoice id остается в проверке оплаты. Co-authored-by: ANDY BUM <spacesarmat@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Зачем
Переключатель
cryptoTestnetменял только хост и продолжал слатьCRYPTO_PAY_TOKEN. Теперь боевой и testnet-токены живут рядом, а счет и вебхук используют только активный режим.Что сделано
CRYPTO_PAY_TESTNET_TOKENвenvSecrets.mjs(подпись «Токен Crypto Pay (testnet)»), маска в админке как у остальных секретов, проброс вops/vps/docker-compose.ymlи.env.example.cryptoPayCredentials(settings)возвращает{ testnet, host, token, ready }. Эту функцию можно переиспользовать для донатов.cryptoTestnet=true: хостtestnet-pay.crypt.botи testnet-токен.false:pay.crypt.botиCRYPTO_PAY_TOKEN.disabledи боевой токен на testnet не уходит.POST /v1/crypto-payпринимает подпись только активного режима. Подпись другого режима отвечает200, пишется в журнал какignored(«игнорирован») и подписку не продлевает.invoiceId. Режим берется из той же проверки подписи, чтобы смена настройки между чтением и записью не оставлялаbad_label.[tech], «Не выпущено»). Образ не выкатывался.Проверка
ops/billingvitest на последнем коммите: 641 passed, 1 skipped (Postgres 16 локально).tscадминки и сборкаops/billing/publicна первом коммите.npm run check:changelog.build,android,billing) зеленый на первом коммите663812fb. Повторные push этим токеном не запускают Actions (workflow_dispatchотвечает 403). Greptile Review на последнем коммите зеленый, новых замечаний нет.Не вливать и не деплоить. На NUC
.envнужно будет добавитьCRYPTO_PAY_TESTNET_TOKENотдельно, когда дойдет до выкладки.

Confidence Score: 5/5
No new blocking issue was found; the PR’s stated hold on merging and deployment should still be respected.Summary
Adds a separate Crypto Pay testnet token and selects it together with the payment host.
No new actionable findings were identified. The previous live-link, invoice-matching, and webhook mode-switch findings are addressed. The legacy-link fix preserves old live invoices; old testnet links remain outside that migration.
Diagram
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Selected payment mode] --> B[Choose matching token and host] B --> C{Token present?} C -->|No| D[Return disabled] C -->|Yes| E[Reuse or create link for that mode] F[Payment webhook] --> G{Signature matches selected mode?} G -->|Yes| H[Match saved invoice using signed mode] H --> I[Apply payment once] G -->|Other mode| J[Log ignored and return 200] G -->|Neither| K[Return 400]Reviews (7) · Last reviewed commit: "Merge branch 'main' into cursor/crypto-p..." · Reviewed by Greptile