· 5 years ago · Mar 21, 2020, 11:28 AM
1 var { URLSearchParams } = require('url');
2 var md5 = require('md5');
3 var fetch = require('node-fetch');
4 var express = require('express');
5 var app = express();
6
7 app.get('/payment', async function (req, res) {
8 a = {
9 pay_id: req.query.pay_id,
10 amount: Number(req.query.amount),
11 val: req.query.currency ? req.query.currency : 'RUB',
12 user_id: Number(req.query.field1),
13 donat: req.query.field2,
14 }
15 let $us = await User.findOne({ id: a.user_id });
16
17 if(a.donat == 'aaa') {
18
19 $us.status = Number (1);
20 await $us.save();
21
22 vk.api.messages.send({ user_id: $us.id, message: `${name}, благодарим за покупку!\n? Вам выдали привилегию «VIP»`, random_id: 0 })
23 vk.api.messages.send({ chat_id: 3, message: `Покупка VIP Привилегии\nID: ${$us.uid}\nСумма: ${utils.sp(a.amount)}\nURL: @id${$us.id}`, random_id: 0 })
24 }
25
26 console.log(JSON.stringify(a, null, "\t"))
27 res.end(JSON.stringify(a, null, "\t"))
28 })
29 app.listen(6291)
30
31 updates.hear(/^(?:donat)/i,
32 async (ctx) => {
33 let a = {
34 shop_id: ид площадки,
35 secret_key: 'секретный ключ',
36 desc: 'Описание',
37 amount: 15,
38 pay_id: Number(ctx.senderId + rand(11111111, 99999999)),
39 currency: 'RUB',
40 field: ctx.senderId,
41 field2: 'aaa',
42 }
43 let result = new URLSearchParams({
44 merchant_id: a.shop_id,
45 amount: a.amount,
46 pay_id: a.pay_id,
47 currency: a.currency,
48 desc: a.desc,
49 field1: a.field,
50 field2: a.field2,
51 sign: md5(`${a.currency}:${a.amount}:${a.secret_key}:${a.shop_id}:${a.pay_id}`)
52 })
53 let url = `https://anypay.io/merchant?${result}`
54 let link = await vk.api.utils.getShortLink({ url: url })
55
56 return ctx.send(`Ссылочка: ${link.short_url}`);
57 })