summaryrefslogtreecommitdiff
path: root/content/ru
diff options
context:
space:
mode:
Diffstat (limited to 'content/ru')
-rw-r--r--content/ru/blog/monero_payment_gateway.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/content/ru/blog/monero_payment_gateway.md b/content/ru/blog/monero_payment_gateway.md
new file mode 100644
index 0000000..a4b4abf
--- /dev/null
+++ b/content/ru/blog/monero_payment_gateway.md
@@ -0,0 +1,22 @@
++++
+title = "Своя платёжка Monero"
+description = "Создание собственной анонимной платёжки"
+date = 2025-03-19
+tags = [
+ "tech",
+ "guide",
+ "monero"
+]
++++
+
+Создать собственную платёжную систему Monero очень легко, вот основные шаги:
+
+1. Запускайте `monero-wallet-rpc --tx-notify "script.sh %s"`, где **%s** — это **txid**, который автоматически будет передаваться вашему скрипту в качестве первого аргумента. Ваш скрипт будет отрабатывать с каждой полученной транзакцией.
+
+2. Когда покупатель, например в вашем интернет-магазине, хочет оплатить товар, сайт ему должен выдать адрес на который будут переводиться деньги. Для этого ваше веб-приложение должно выполнить RPC запрос [make_integrated_address](https://docs.getmonero.org/rpc-library/wallet-rpc/#make_integrated_address) к демону которого вы запустили для получения такого адреса **integrated_address** и **payment_id**. Адрес отдаётся покупателю, а идентификатор платежа сохраняется для будущей верификации.
+
+3. После того как деньги будут переведены, ваш скрипт из первого пункта получит **txid** который нужно передать вашему веб-приложению. Оно с помощью RPC метода [get_transfer_by_txid](https://docs.getmonero.org/rpc-library/wallet-rpc/#get_transfer_by_txid) получит **payment_id** и **amount** — идентификатор и сумму платежа.
+
+4. Приложение сверяет идентификатор платежа и полученную сумму, которая измеряется в атомных единицах 1 XMR = 1e12 (atomic-units). Имейте это ввиду при сравнении суммы, об этом написано в начале [документации](https://docs.getmonero.org/rpc-library/wallet-rpc).
+
+Делать одноразовые платежи без внутреннего баланса очень не удобно, поэтому на сайте лучше всего сделать пользовательский баланс в базе данных, который можно будет пополнить в любое время.