노드 js와의 지불 트랜잭션을 처리 할 간단한 서버를 작성하고 있습니다. 나는 heroku 프로젝트 템플릿을 시작하고 "checkout"라우트 로직을 추가했습니다. 내가 localhost에 배포했을 때 그것은 나에게 잘 돌아갔다. 하지만 heroku 서버에 배포 한 후에 "POST/체크 아웃 할 수 없음"오류가 발생합니다. 내하는 index.js 코드는 다음과 같다 :노드 js : heroku에 POST 오류가 없습니다.
const express = require('express'), bodyParser = require('body-parser');
const path = require('path')
const PORT = process.env.PORT || 5000
var router = express.Router();
var checkout = require('./routes/checkout');
var braintree = require('braintree');
const app = express()
.use(express.static(path.join(__dirname, 'public')))
.set('views', path.join(__dirname, 'views'))
.set('view engine', 'ejs')
.get('/', (req, res) => res.render('pages/index'))
.use(bodyParser.urlencoded({extended: true}))
.post('/checkout', (req, res) => {
console.log(req.body.paymentMethodNonce);
//res.send(req.body);
var gateway = braintree.connect({
environment: braintree.Environment.Sandbox,
merchantId: "merchantId",
publicKey: "publicKey",
privateKey: "privateKey"
});
// Use the payment method nonce here
//console.log(req.body);
var nonceFromTheClient = req.body.paymentMethodNonce;
var amount = req.body.amount;
//Create a new transaction for $10
var newTransaction = gateway.transaction.sale({
//amount:'10.00',
amount: amount,
//paymentMethodNonce: "fake-valid-nonce",
paymentMethodNonce: nonceFromTheClient,
options: {
// This option requests the funds from the transaction
// once it has been authorized successfully
submitForSettlement: true
}
}, function(error, result) {
if (result) {
res.send(result);
} else {
res.status(500).send(error);
}
});
})
.listen(PORT,() => console.log(`Listening on ${ PORT }`))
어떤 종류의 오류가 있습니까? –
체크 아웃 경로 (https://radiant-journey-93290.herokuapp.com/checkout)에 대해 @AkimBenchiha 404가 있지만 루트에 대해이 오류가 표시되지 않습니다. https://radiant-journey-93290.herokuapp.com –
'.get ('/ checkout', (req, res) => {...})'가 없습니까? 보여 주실 수 있어요 ? –