PaystackapierRor: заголовок авторизации носителя не был установлен | Несанкционированный (401)Javascript

Форум по Javascript
Ответить
Anonymous
 PaystackapierRor: заголовок авторизации носителя не был установлен | Несанкционированный (401)

Сообщение 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).
Я надеялся на бесперебойную работу, может кто -нибудь помочь мне в этом ...

Подробнее здесь: https://stackoverflow.com/questions/797 ... unauthoriz
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»