【问题标题】:I am using parse cloud module for stipe to retrieve customer information from stripe我正在使用 parse cloud 模块来从 stripe 中检索客户信息
【发布时间】:2014-09-05 05:38:13
【问题描述】:

我正在使用 parse cloud 模块来从 stripe 中检索客户信息

我正在使用的 api - Stripe.Customers.retrieve 有一个“扩展”选项来扩展内联属性以获取整个对象 - https://stripe.com/docs/api/node#expand

这是我的代码 -

Stripe.Customers.retrieve(customerId,{ 
                        expand: ["default_card"], 
                        success: function(stripeCustomer){

                            console.log("GetCreditCardInformationForCustomerStripe: Customer info received: "+JSON.stringify(stripeCustomer));
                            var creditCardResponse = {
                                    "id"                : stripeCustomer.id,
                                    "cardId"            : stripeCustomer.default_card.id,
                                    "cardHolderName"    : stripeCustomer.default_card.name,
                                    "cardBrand"         : stripeCustomer.default_card.brand,
                                    "cardExpMonth"      : stripeCustomer.default_card.exp_month,
                                    "cardExpYear"       : stripeCustomer.default_card.exp_year,
                                    "cardLast4Digits"   : stripeCustomer.default_card.last4,
                                    "cardFundingType"   : stripeCustomer.default_card.funding
                            };

                            response.success(creditCardResponse);

                        }, error: function(error){

                            console.log("getCreditCardInformationForCustomer: Fetch Stripe Customer failed for Stripe customerId: "+customerId);
                            console.log("error "+JSON.stringify(error));
                            var error = new Parse.Error(Parse.Error.OTHER_CAUSE, "FetchStipeCustomerFailed");
                            response.error(error);

                        }
                    });

这是回复

Customer info received: 
    {
      "object": "customer",
      "created": 1408129243,
      "id": "cus_4b20U8dcPZcQgb",
      "livemode": false,
      "description": null,
      "email": "a.gangal318@gmail.com",
      "delinquent": false,
      "metadata": {
        "name": "Ankit Gangal",
        "parseUserId": "undefined"
      },
      "subscriptions": {
        "object": "list",
        "total_count": 0,
        "has_more": false,
        "url": "/v1/customers/cus_4b20U8dcPZcQgb/subscriptions",
        "data": [

        ]
      },
      "discount": null,
      "account_balance": 0,
      "currency": null,
      "cards": {
        "object": "list",
        "total_count": 1,
        "has_more": false,
        "url": "/v1/customers/cus_4b20U8dcPZcQgb/cards",
        "data": [
          {
            "id": "card_14VqYZ28ck1ONXovNwtwPw0k",
            "object": "card",
            "last4": "4242",
            "brand": "Visa",
            "funding": "credit",
            "exp_month": 4,
            "exp_year": 2021,
            "fingerprint": "kQf99zmtHwo0T0P2",
            "country": "US",
            "name": null,
            "address_line1": null,
            "address_line2": null,
            "address_city": null,
            "address_state": null,
            "address_zip": null,
            "address_country": null,
            "cvc_check": "pass",
            "address_line1_check": null,
            "address_zip_check": null,
            "customer": "cus_4b20U8dcPZcQgb"
          }
        ]
      },
      "default_card": "card_14VqYZ28ck1ONXovNwtwPw0k"
    }

你可以看到 default_card 没有展开,

我尝试了其他组合,例如 {"expand":["customer.default_card"]} 等,但没有任何效果, 有人知道怎么做吗?

谢谢

【问题讨论】:

  • 对此有何更新?

标签: parse-platform


【解决方案1】:

作为一种解决方法,我很幸运地直接从 CloudCode 使用 API 调用,在 URL 中传递了“expand”。 在“data.source”上带有“expand”的帐户余额 GET 请求如下所示:

Parse.Cloud.httpRequest({
    url: 'https://MY_SECRET_KEY:@api.stripe.com/v1/balance/history?expand[]=data.source',
    method: "GET",
    headers: {
        'Stripe-Account': THE_ACCOUNT_ID,
      },
    body:{}

}).then(function(httpResponse) {

    response.success( httpResponse.data );

},function( error ) {

    response.error( error );

}); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-21
    • 2015-01-27
    • 2016-04-17
    • 1970-01-01
    • 2015-12-08
    • 2020-03-28
    • 2019-10-29
    • 1970-01-01
    相关资源
    最近更新 更多