我有一些设置在线支付系统的经验,接受信用卡号码,然后将它们传递到网关进行一次性付款.
但是,我现在需要设置一个可以处理自动重复计费的系统 - 用户提供其信用卡号码,并且从那时起每月自动计费.
我想知道接近这样的事情的最佳方法是什么?(我注意到Paypal Payflow Pro确实有定期计费功能,但我对它的工作原理有点不清楚.)
有关实施定期计费的最佳方法/服务/网关的建议吗?如果可能的话,我更希望避免保留信用卡号码的本地记录以便重复处理.
在此先感谢您的帮助.
paypal credit-card payment-gateway e-commerce recurring-billing
我有一个jqXHR对象,我从骨干集合中获取:
var xhr = this.collection.fetch({
error: function() { alert("oh noes!"); }
});
Run Code Online (Sandbox Code Playgroud)
有时我需要调用xhr.abort().但这也是触发错误回调.
如何在不触发错误的情况下调用xhr.abort()?
我正在学习Backbone.
我想知道Backbone View是否总是需要Backbone Model.
例如,假设我有一个包含两个子面板的面板.我构建它的方式是使用主面板的父视图,然后是子面板的两个子视图......
var OuterPanel = Backbone.View.extend({
initialize: function() {
this.innerPanelA = new InnerPanelA(innerPanelAModel);
this.innerPanelB = new InnerPanelB(innerPanelBModel);
},
});
var outerPanel = new OuterPanel();
Run Code Online (Sandbox Code Playgroud)
父视图实际上只是一个容器.它可能有一些控件,但没有需要持久化的数据.这是正确的方法吗?或者这是不好的做法?
Thnx(提前)为您提供帮助
我正在考虑从永远切换到PM2以保持我的节点应用程序正常运行.
我对以下推荐的启动流程的方法感到困惑:
$ pm2 start app.js -i 4 # Daemonize pm2 and Start 4 clustered instances of app.js
# You can also pass the 'max' params to start
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释什么是app.js的集群实例?我应该开多少个实例?1?马克斯?
在 iOS 中,以下代码在 hide() 和 scrollBy() 之间有明显的闪烁:
element.hide();
window.scrollBy(0, -elementHeight);
Run Code Online (Sandbox Code Playgroud)
这是因为在 iOS 上的 display: none 和 display: block 之间切换是一项繁重的任务,就好像元素被添加到 DOM 和从 DOM 中删除一样。
我需要一种方法来执行 window.scrollBy() 作为回调,一旦 hide() 成功完成并且 DOM 已更新。有没有办法在 jQuery 中做到这一点?
我在php中有一个if语句:
if ( $isTrue && db_record_exists($id)) { ... }
else { ... };
Run Code Online (Sandbox Code Playgroud)
第一个条件是真/假布尔检查.
第二个条件调用一个函数来查看数据库表中是否存在行并返回true或false.
我想在Node JS中重写这个条件,以便它是非阻塞的.
我已经重写了db_record_exists,如下所示......
function db_record_exists(id, callback) {
db.do( "SELECT 1", function(result) {
if (result) { callback(true); }
else { callback(false); }
);
}
Run Code Online (Sandbox Code Playgroud)
...但我无法看到如何将其合并到一个更大的if语句中,并使用布尔检查.例如,以下语句没有意义:
if (isTrue and db_record_exists(id, callback)) {
...
}
Run Code Online (Sandbox Code Playgroud)
写"节点"的方式是什么?
任何建议将不胜感激.
在此先感谢您的帮助.
我已经安装了PM2以保持我的节点应用程序运行.(https://github.com/Unitech/pm2)
它很棒但是......
自从用它安装和运行我的应用程序
pm2启动app.js pm2停止app
我无法再使用我的应用程序了
节点app.js
相反,我收到以下错误:
domain.js:66
throw er;
^
Error: listen EADDRINUSE
at errnoException (net.js:770:11)
at Server._listen2 (net.js:910:14)
at listen (net.js:932:10)
at Server.listen (net.js:998:5)
at Function.app.listen (/home/ssp/node_modules/express/lib/application.js:535:24)
at Object.<anonymous> (/home/ssp/app.dev.js:22:5)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
Run Code Online (Sandbox Code Playgroud)
当您尝试两次运行相同的操作时,通常会发生此错误.
但是app.js没有运行.我已经在PM2中停止了它.当我打字的时候
ps aux | grep node
Run Code Online (Sandbox Code Playgroud)
要检查它是否仍在那里,它不是.
卸载PM2似乎无法解决此问题.有什么想法发生了什么?
在节点中,我习惯于使用回调来处理错误.
我试图跳转到异步...等待,它使用我不习惯的错误处理方法.
我想知道,当调用throw时,是刚执行的throw语句下面的代码吗?换句话说,我需要这样做吗......
async fetch() {
if (somethingBad) {
throw new Error('Cannot fetch')
} else {
let result = await this.read(this.get('id'))
return result
}
}
Run Code Online (Sandbox Code Playgroud)
......或者仅仅这样做是否足够:
async fetch() {
if (somethingBad) throw new Error('Cannot fetch')
let result = await this.read(this.get('id'))
return result
}
Run Code Online (Sandbox Code Playgroud) javascript ×7
node.js ×3
backbone.js ×2
jquery ×2
blocking ×1
credit-card ×1
e-commerce ×1
ecmascript-6 ×1
jqxhr ×1
nonblocking ×1
paypal ×1
pm2 ×1