【问题标题】:Stripe API Update Customer Credit Card Details - JavaStripe API 更新客户信用卡详细信息 - Java
【发布时间】:2016-08-08 15:09:44
【问题描述】:

我一生都无法弄清楚如何做到这一点。我已经测试了以下不起作用;

String stripeCustomerID = "123";
Customer cu = Customer.retrieve(stripeCustomerID);
cu.setDefaultSource(token);
Map<String, Object> updateParams = new HashMap<String, Object>();
updateParams.put("default_source", token);
enter code here`cu.update(updateParams);

这是 Stripe API 文档唯一没有答案的地方。

以前有没有人实现过这个?

问候, 迈克尔

【问题讨论】:

    标签: java stripe-payments


    【解决方案1】:

    default_source 需要的是卡 ID,而不是令牌 ID。因此,您需要:

    1) 将卡添加到客户,然后更新default_source 属性

    2)您可以将客户的source属性设置为令牌。通过设置source,您将添加新卡,删除旧的 default_source,然后将新卡设置为默认值,所有这些都在同一个 API 调用中。

    【讨论】:

    • 选项 2 听起来最好,因为它可以一次完成所有操作。但是,客户没有“来源”属性,只有“来源”,它是一个 ExternalAccountCollection,我想它本质上是所有卡片的列表。我已经检查过是否可以向其中任何一个添加令牌,但我什么都看不到?只需发送一个令牌就很理想了。
    • 源可通过 customer.update 方法获得。 stripe.com/docs/api#update_customer-source
    • 完美,谢谢马修。现在工作。我之前使用的是“default_source”而不是“source”。
    【解决方案2】:

    感谢马修回答;

    Customer cu = Customer.retrieve(stripeCustomerID);
    Map<String, Object> updateParams = new HashMap<String, Object>();
    updateParams.put("source", token);
    cu.update(updateParams);
    

    【讨论】:

    • cu.update(updateParams); // 在 Customer 中找不到更新方法。
    猜你喜欢
    • 2019-06-24
    • 2014-02-20
    • 2018-05-21
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2017-02-08
    • 1970-01-01
    相关资源
    最近更新 更多