Монетизируйте свой API с помощью библиотеки API Stripe Mongoose
14 марта 2022 г.Мы живем в мире, настолько погруженном в технологии, что веб-API может создать бизнес на миллион долларов. В этой статье я покажу вам, как монетизировать ваш API с помощью библиотеки под названием Stripe Mongoose Api.
Настройте свой проект
требования
- MongoDB установлена на вашем компьютере или в онлайн-кластере MongoDB.
- Полосатый аккаунт
Сначала нам нужно установить все зависимости:
npm install stripe-mongoose-api stripe mongoose crypto express ejs colors
Теперь мы можем приступить к созданию нашего собственного проекта, я буду вести вас шаг за шагом:
- Создайте app.js и userModel.js
- Создайте модель в userModel.js
- Добавлено соединение с мангустом
- Экспресс-установка
- Базовая маршрутизация
- Добавление функций Stripe Mongoose API
- Исходный код вы найдете [здесь] (https://github.com/MoscatelliMarco/stripe-mongoose-api/tree/master/test)*
mkdir <имя_папки>
Создайте новые файлы в папке: app.js и userModel.js (вы можете назвать этот файл как хотите, но принято называть этот файл так)
2. Создайте модель в userModel.js
Мы создадим очень простую схему без полей схемы, чтобы упростить нашу работу, но вы можете просто добавить любое поле, которое хотите.
```javascript
const mongoose = require('мангуст');
const apiSystem = require('stripe-mongoose-api');
const userSchema = новый mongoose.Schema({})
userSchema.plugin(apiSystem,
module.exports = mongoose.model('Пользователь', userSchema)
В поле <options>
вы должны указать объект, который содержит:
```javascript
stripeSecret: 'ваш секретный ключ полосы',
webhookSign: 'ваш полосатый ключ подписи вебхука',
priceId: 'идентификатор цены вашего продукта'
Это обязательные параметры, но вы можете просто проверить [документацию] (https://github.com/MoscatelliMarco/stripe-mongoose-api) и выбрать, какие другие параметры добавить.
3. Добавьте подключение мангуста
Перейдем к app.js, добавим в файл этот код:
```javascript
const mongoose = require('мангуст');
const MONGO_URI = 'Ваш uri MongoDB'
mongoose.connect (MONGO_URI, {
useNewUrlParser: правда,
useUnifiedTopology: правда,
const db = mongoose.connection;
db.on("ошибка", console.error.bind(консоль, "ошибка подключения:"));
db.once("открыть", () => {
console.log("БД подключена");
const User = require('./userModel');
И теперь, если вы попытаетесь запустить файл и все пройдет успешно, вы увидите в консоли: «База данных подключена».
4. Экспресс-настройка
Требовать и запускать экспресс:
```javascript
константный экспресс = требуется ('экспресс');
константное приложение = экспресс();
app.use(express.json({verify: (req, res, buffer) => (req['rawBody'] = buffer)}));
Промежуточное ПО для этого проекта обязательно должно быть у express.json, потому что без этого Stripe Mongoose API не может понимать запросы веб-перехватчиков.
Добавьте виды:
```javascript
постоянный путь = требуется ('путь');
const ejs = требуется ('ejs');
app.set('движок просмотра', 'ejs');
app.set('представления', path.join(__dirname, 'представления'));
Создайте папку представлений и назовите ее представлениями, используя:
просмотры mkdir
Скопируйте этот файл .ejs в папку, это простая HTML-страница, которая даст вам все функции, предоставляемые Stripe Mongoose API.
5. Базовая маршрутизация
Маршрутизаторы необходимы для функционирования API, поскольку они смогут получать и обрабатывать запросы, сделанные пользователями.
```javascript
// Просто визуализируем домашнюю страницу
app.get ( '/', (REQ, разреш) => {
res.render('дом');
// Этот маршрут перенаправит пользователя на кассу с полосой
// страница, если вы не передадите пользователя в качестве первого параметра,
// метод создаст новый для вас
app.get('/checkout', async (req, res) => {
User.subscribeUser({}, разрешение)
// Этот маршрут прослушивает все запросы, отправленные полосой, это
// прослушивает завершенную проверку и отмену
// Подписки
app.post('/webhook', async (req, res) => {
постоянный пользователь = ожидание User.findOne({})
User.webhook(req, res)
// Этот маршрут будет прослушивать все запросы, отправленные пользователями,
// он проверяет, действителен ли предоставленный APIKey, и если да,
// создаем запись об использовании и затем отправляем данные во второй
// аргумент
app.get('/api', (req, res) => {
User.api(res, {italy: 'привет из Италии'}, req.query.apiKey)
// Этот маршрут отправит обратно записи о клиентах
app.get('/использование', async (req, res) =>{
const user = await User.findById(req.query.customer);
user.customerRecords(рез)
// Этот маршрут создает новый ключ API для пользователя и
// уничтожаем старый
app.get('/changeapikey', async(req, res) => {
const user = await User.findById(req.query.id);
постоянный ключ = ожидание User.changeApiKey (пользователь);
res.send(ключ)
const PORT = process.env.PORT || 3000;
app.listen(ПОРТ, () => {
console.log(Обслуживание через порт ${PORT}
);
И теперь вы готовы запустить node app.js
и увидеть, как ваше приложение работает правильно, теперь вы знаете, как просто создать API и монетизировать его с помощью Stripe Mongoose API.
Заключение
Stripe Mongoose API — это проект, созданный мной, и я проделал много тяжелой работы, Stripe Mongoose Api будет получать постоянные обновления, поэтому проверьте [репозиторий github] (https://github.com/MoscatelliMarco/stripe-mongoose-api) в случае появления нового контента, я надеюсь, вам понравился этот урок, если да, пожалуйста, оставьте мне [звезду] (https://github.com/MoscatelliMarco/stripe-mongoose-api) и почему бы не [подписаться] (https:/ /github.com/MoscatelliMarco) на GitHub.
Увидимся в следующий раз!
Оригинал