Это мой первый раз для интеграции платежного шлюза на мой веб-сайт с использованием официального пакета SDK Paystack-Node в моем приложении Node.js, но после выполнения документации я столкнулся с этой ошибкой: PaystackapierRor: заголовок авторизации носителя не был установлен | Несанкционированный (401). < /P>
Это моя кодовая последовательность на стороне сервера: < /p>
const Paystack = require('paystack-node');
const {PaystackPaymentSetupValidator,throwValidationError} = require('../utils/schemas');
const router = require('express').Router();
const ExpressError = require('../utils/express_error');
const paystack = new Paystack(process.env.PAYSTACK_SECRET_KEY, process.env.NODE_ENV);
const _isDevt = (process.env.NODE_ENV !== 'production');
const callback_url = process.env.PAYSTACK_CALLBACK_URL;
// Middleware to validate Paystack requests
const _validateRequest = async (req, resp, next) => {
try{
const {req_typ} = req.body;
const {error} = await req_typ=='paystack-payment-setup-req'? PaystackPaymentSetupValidator.validate(req.body,{abortEarly:false}) : throwValidationError(req.body);
if (error) {
let msg = error? error.details.map(el => el.message).join('\n# ') : 'Invalid Session Data!';
if(_isDevt){
console.log('validation err:',error,msg);
msg = `\n# ${msg}.`;
} else {
msg = '';
} // end if
req.app.locals.appfx.log(new ExpressError('Validation Error',msg,0,req.body));
return resp.send({error: {text: msg||'Invalid Request format.'}});
} // end if
return next();
} catch(err) {
if(_isDevt){
console.log('catch err:',error);
} // end if
req.app.locals.appfx.log(error);
return resp.send({error: {text:`Request Error!${_isDevt?`\n${error}`:''}`}});
} // end catch
} // end fx
// Middleware to initialize Paystack
const _initiatePayment = async (req, resp) => {
try {
const {email, amount, metadata} = req.body;
const response = await paystack.initializeTransaction({
email: email,
amount: amount * 100, // Amount in kobo
metadata: metadata || {},
callback_url: callback_url
});
console.log('resp:',response);
if(response.status) {
return resp.send({success: {text: 'Paystack initialized successfully.', data: response.data}});
} else {
return resp.status(400).send({error: {text: 'Failed to initialize Paystack transaction.'}});
} // end if
} catch (error) {
if(_isDevt){
console.log('catch err:',error);
} // end if
req.app.locals.appfx.log(error);
return resp.status(500).send({error: {text:`Request Error!${_isDevt?`\n${error}`:''}`}});
} // end catch
} // end fx
// Middleware to verify Paystack transaction
const _verifyPayment = async (req, resp, next) => {
const {reference} = req.body||req.query;
if(!reference) {
return resp.status(400).send({error: {text: 'Transaction reference is required.'}});
} // end if
try {
const response = await paystack.verifyTransaction({reference});
// Handle successful verification (e.g., update order status)
if(response.data.status && response.data.data.status === 'success') {
req.transaction = response.data.data;
return next();
} else {
return resp.status(400).send({error: {text: 'Transaction verification failed.'}});
} // end if
} catch (error) {
if(_isDevt){
console.log('catch err:',error);
} // end if
req.app.locals.appfx.log(error);
return resp.status(500).send({error: {text: 'An error occurred while verifying the transaction.'}});
} // end catch
} // end fx
// Define routes
router.get('/', (req, resp) => {
return resp.render('paystack', { title: 'Paystack Payment Gateway Handler', user: req.user, _csrf: req.app.locals._csrf, payment_setup_url:'payment_setup/initiate' });
});
router.route('/initiate').post(_validateRequest, _initiatePayment);
router.route('/verify').post(_validateRequest, _verifyPayment, (req, resp) => {
return resp.send({success: {text: 'Transaction verified successfully.', data: req.transaction}});
});
module.exports = router;
< /code>
После запуска я получаю эту ошибку:
paystackapierror: заголовок авторизации носителя не был установлен | Несанкционированный (401).
Я надеялся на бесперебойную работу, может кто -нибудь помочь мне в этом ...
Подробнее здесь: https://stackoverflow.com/questions/797 ... unauthoriz
PaystackapierRor: заголовок авторизации носителя не был установлен | Несанкционированный (401) ⇐ Javascript
Форум по Javascript
1759593069
Anonymous
Это мой первый раз для интеграции платежного шлюза на мой веб-сайт с использованием официального пакета SDK Paystack-Node в моем приложении Node.js, но после выполнения документации я столкнулся с этой ошибкой: PaystackapierRor: заголовок авторизации носителя не был установлен | Несанкционированный (401). < /P>
Это моя кодовая последовательность на стороне сервера: < /p>
const Paystack = require('paystack-node');
const {PaystackPaymentSetupValidator,throwValidationError} = require('../utils/schemas');
const router = require('express').Router();
const ExpressError = require('../utils/express_error');
const paystack = new Paystack(process.env.PAYSTACK_SECRET_KEY, process.env.NODE_ENV);
const _isDevt = (process.env.NODE_ENV !== 'production');
const callback_url = process.env.PAYSTACK_CALLBACK_URL;
// Middleware to validate Paystack requests
const _validateRequest = async (req, resp, next) => {
try{
const {req_typ} = req.body;
const {error} = await req_typ=='paystack-payment-setup-req'? PaystackPaymentSetupValidator.validate(req.body,{abortEarly:false}) : throwValidationError(req.body);
if (error) {
let msg = error? error.details.map(el => el.message).join('\n# ') : 'Invalid Session Data!';
if(_isDevt){
console.log('validation err:',error,msg);
msg = `\n# ${msg}.`;
} else {
msg = '';
} // end if
req.app.locals.appfx.log(new ExpressError('Validation Error',msg,0,req.body));
return resp.send({error: {text: msg||'Invalid Request format.'}});
} // end if
return next();
} catch(err) {
if(_isDevt){
console.log('catch err:',error);
} // end if
req.app.locals.appfx.log(error);
return resp.send({error: {text:`Request Error!${_isDevt?`\n${error}`:''}`}});
} // end catch
} // end fx
// Middleware to initialize Paystack
const _initiatePayment = async (req, resp) => {
try {
const {email, amount, metadata} = req.body;
const response = await paystack.initializeTransaction({
email: email,
amount: amount * 100, // Amount in kobo
metadata: metadata || {},
callback_url: callback_url
});
console.log('resp:',response);
if(response.status) {
return resp.send({success: {text: 'Paystack initialized successfully.', data: response.data}});
} else {
return resp.status(400).send({error: {text: 'Failed to initialize Paystack transaction.'}});
} // end if
} catch (error) {
if(_isDevt){
console.log('catch err:',error);
} // end if
req.app.locals.appfx.log(error);
return resp.status(500).send({error: {text:`Request Error!${_isDevt?`\n${error}`:''}`}});
} // end catch
} // end fx
// Middleware to verify Paystack transaction
const _verifyPayment = async (req, resp, next) => {
const {reference} = req.body||req.query;
if(!reference) {
return resp.status(400).send({error: {text: 'Transaction reference is required.'}});
} // end if
try {
const response = await paystack.verifyTransaction({reference});
// Handle successful verification (e.g., update order status)
if(response.data.status && response.data.data.status === 'success') {
req.transaction = response.data.data;
return next();
} else {
return resp.status(400).send({error: {text: 'Transaction verification failed.'}});
} // end if
} catch (error) {
if(_isDevt){
console.log('catch err:',error);
} // end if
req.app.locals.appfx.log(error);
return resp.status(500).send({error: {text: 'An error occurred while verifying the transaction.'}});
} // end catch
} // end fx
// Define routes
router.get('/', (req, resp) => {
return resp.render('paystack', { title: 'Paystack Payment Gateway Handler', user: req.user, _csrf: req.app.locals._csrf, payment_setup_url:'payment_setup/initiate' });
});
router.route('/initiate').post(_validateRequest, _initiatePayment);
router.route('/verify').post(_validateRequest, _verifyPayment, (req, resp) => {
return resp.send({success: {text: 'Transaction verified successfully.', data: req.transaction}});
});
module.exports = router;
< /code>
После запуска я получаю эту ошибку:
paystackapierror: заголовок авторизации носителя не был установлен | Несанкционированный (401).
Я надеялся на бесперебойную работу, может кто -нибудь помочь мне в этом ...
Подробнее здесь: [url]https://stackoverflow.com/questions/79782556/paystackapierror-bearer-authorization-header-may-not-have-been-set-unauthoriz[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия