Dynamic Circle PayTo Code
const express = require("@runkit/tonic/express-endpoint/1.0.0");
const app = express(module.exports);
const bodyParser = require('body-parser');
const crypto = require('crypto');
function generateLink(sender, message) {
const paymentURL = `circle:${sender}?message=${message}`;
return `https://www.circle.com/send?paymentURL=${encodeURIComponent(paymentURL)}`;
}
const TX_ID_LENGTH = 7;
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/generate', (req, res) => {
const email = req.query.email;
let message = req.query.message;
if (!message) {
const randomTxId = crypto.randomBytes(Math.ceil(TX_ID_LENGTH/2))
.toString('hex')
.slice(0, TX_ID_LENGTH);
message = `Thanks for supporting ${email}!
txid: ${randomTxId}`;
}
const link = generateLink(email, message);
res.send(`
<html>
<body style="padding: 40px">
<a href="${link}">
${link}
</a>
</body>
</html>
`);
});
0;
no comments