小编FGR*_*eau的帖子

条纹 - 如何使用免费计划处理订阅,并且在注册时不需要信用卡

我们开始在Redsmin(我们的项目之一)上实现Stripe ,我想我们可能错过了一些东西.下面是它的工作原理:

  1. 要使用我们的产品,用户必须选择一个计划(免费,s,m,xl,xxl ...),然后输入其登录名/密码,然后可以免费试用30天.当用户提交表单时,我们的服务器使用指定的计划调用Stripe create_customer而不使用信用卡(因为我们希望免费提供30天而不需要信用卡)并且我们使用返回的customer_id和更新我们这边的用户模型subscription_id.

  2. 我们设置了一个webhook接收条带事件,所以30天后我们的webhook 应该收到一个customer.subscription.updated带有的事件object.status == active.我对吗?

  3. 但是,由于我们没有在注册时为用户指定相关卡,我们应该在另一个customer.subscription.updated事件之后快速收到,object.status == unpaid对吗?然后在我们这边,我们停用用户帐户并强制它转到我们的计划选择页面.

  4. 从那时起,用户可以选择免费计划或我们的高级计划之一:

  5. #Scenario 1如果用户选择免费计划,我们只需重新激活其帐户,不做任何其他事情,因为我们将条带上的免费计划配置为成本0 $.我们是否通过免费计划实施了正确的流程?还有更好的方法吗?

  6. #Scenario 2如果用户选择了高级计划,我们会将他重定向到信用卡表单,然后将其发送到Stripe,我们会使用临时卡令牌更新条带客户帐户.接下来我们该怎么办?:

    • 我们应该等条纹向我们发送活动吗?如果是这样,什么事件?customer.subscription.updatedcharge.succeeded?那么它的价值是object.status什么?
    • 我们应该直接重新激活我们这边的用户帐户并等待条带确认吗?如果是这样,我们应该等待的事件名称和数据是什么?

credit-card saas payment-gateway payment-processing stripe-payments

73
推荐指数
1
解决办法
2万
查看次数

为什么NodeJS KeepAlive似乎没有按预期工作?

引自TCP keepalive HowTo:

为了理解什么是TCP keepalive(我们将调用keepalive),你只需要读取名称:保持TCP活着.这意味着您将能够检查连接的套接字(也称为TCP套接字),并确定连接是否仍在运行或是否已断开.

那么,为什么以下代码在互联网连接断开时不会抛出某些东西

var tls = require('tls');

var socket = tls.connect(443, "google.com", function connected() {
  console.log('connected');
});

socket.setNoDelay(true);
socket.setKeepAlive(true, 0);
socket.setTimeout(0, function(){
  console.log('timeout');
});
socket.on('data', function(data) {
  console.log(data);
});
socket.on('close', function() {
  console.error("close");
});
socket.on('error', function(err) {
  console.error("error", err);
});
Run Code Online (Sandbox Code Playgroud)

使用NodeJS v0.10.17在MacOS/Debian上测试

sockets tcp node.js

5
推荐指数
1
解决办法
6689
查看次数

如何在Scala的循环中对限制函数调用进行评级

以下代码对外部API执行了大量调用.此API 每秒不允许超过3个查询.syncCallToApi是由api客户端库提供的函数,它执行同步请求并返回结果.

callToApi在保持以下语义的同时,Scala同时调用每秒不超过3次的最佳方法是什么:

val ids = Seq(12980,2932,3441,42334,980,32,4531,7234)
val results: Seq[Item] = ids.map(id => syncCallToApi(id)) 
println(results)
Run Code Online (Sandbox Code Playgroud)

scala

3
推荐指数
1
解决办法
2345
查看次数