从后端到页面的Stripe API返回响应



我正在尝试在使用NPM创建订阅后从条纹中返回响应对象。

import Stripe from 'stripe';
const key = require("stripe")("XXXXXXXXXXXXXXXXX");
export function subscribe(cus, items) {
key.subscriptions.create({
  customer: cus,
  items: items
});
}

当我使用fetch(post)时,我曾经这样做:

 if (response.status >= 200 && response.status < 300) {
    // transaction successful - get charge ID
    const ret = await response.json();
    let subId = ret.id
    return {"subId": subId};
}
  // transaction failed - return error messages and codes
    let res = await response.json();
    let err = res.error.message;
    let code = res.error.code;
    let type = res.error.type;
    return {"error": err, "code": code, "type": type};
}

但是在节点中,我不明白。我需要返回整个响应,以便可以存储订阅ID,客户ID等。

我尝试使用它,但即使订阅成功

,也行不通
key.subscriptions.create({
  customer: cus,
  items: items
}, function(err, subscription) {
    if (err) {
            let response = err;
            return{response};
        }
            let response = subscription;
            return{response};
        }
  }
);

这是Stripe API文档中的一个示例内部回电功能您将获得所需的输出

var stripe = require("stripe")("sk_test_4eC39HqLyjWDarjtT1zdp7dc");
app.post('/stripe/sub', (req, res) => {
  stripe.subscriptions.create({
  customer: "cus_EcmCu9HT7EZWEH",
  items: [
    {
      plan: "emerald-company-234",
    },
  ]
}, function(err, subscription) {
    if(subscription){
        res.send(subscription)
      }
  }
);
});

最新更新