我使用Paypal tutorial中的论坛来测试IPN listener,当我点击submit时,一个新的标签被打开,它说:
Error: Cannot find module 'paypal-ipn' at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17) at Object.Npm.require (/Users/mazinalmaskari/Desktop/code/.meteor/local/build/programs/server/boot.js:150:18)
at Object.Meteor.npmRequire (packages/npm-container/index.js:2:1) at [object Object].route.action (server/routing.js:6:30) at boundNext (packages/iron_middleware-stack/lib/middleware_stack.js:251:1) at runWithEnvironment (packages/meteor/dynamics_nodejs.js:110:1)我不确定问题具体在哪里,当我单击提交时,我在ngrok中得到了500 Internal Server Error。
这是位于服务器中的我的IPN监听器
Router.map(function () {
this.route('ipn', {
path: '/ipn',
where: 'server',
action: function() {
var ipn = Meteor.npmRequire("paypal-ipn");
var wrappedVerify = Async.wrap(ipn, "verify");
var request = this.request;
var verified;
if (request.method !== 'POST') {
this.next();
} else {
try {
verified = wrappedVerify(request.body, {"allow_sandbox" : true});
} catch (error) {
//do something with error
}
if (verified === "VERIFIED") {
var payment = request.body;
//do something with payment
Router.go('/upload');
}
this.next();
}
}
});
});这是我使用的表单(来自Paypal教程):
<form target="_new" method="post" action="https://ba13954b.ngrok.io/ipn">
<input type="hidden" name="SomePayPalVar" value="SomeValue1"/>
<input type="hidden" name="SomeOtherPPVar" value="SomeValue2"/>
<input type="submit"/>你知道是什么导致了这个问题吗?
发布于 2016-03-17 02:51:16
查看错误消息所指示的模块。但是..。试着这样做:
var ipn = Meteor.npmRequire('paypal-ipn');https://stackoverflow.com/questions/36043368
复制相似问题