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

时间:2019-03-02 12:29:23

标签: javascript node.js npm stripe-payments wixcode

使用npm创建订阅后,我试图返回从条带获得的响应对象。

import Stripe from 'stripe';

const key = require("stripe")("XXXXXXXXXXXXXXXXX");

export function subscribe(cus, items) {

key.subscriptions.create({
  customer: cus,
  items: items
});
}

当我使用提取(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};
        }
  }
);

1 个答案:

答案 0 :(得分:0)

这是Stripe API文档中的example 在回调函数中,您将获得所需的输出

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)
      }
  }
);

});