有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何判断一张卡是否是Stripe中的默认支付源?

在Java中,如何判断条纹卡是否是默认的支付选项?例如:

for ( ExternalAccount source : customer.getSources().getData() ){
    Card card = (Card) source;
    if ( card.???? // how do I know if it's the default payment option
}

或者,我可以查询默认付款来源吗

我询问的原因是,我想向客户显示卡的最后4位数字,以向他们显示当前默认的付款选项。但是如果有多张卡,我怎么知道


共 (3) 个答案

  1. # 1 楼答案

    从我现在所知道的(查看文档等),不可能通过检查来判断信用卡是否是默认的支付来源。但是我错过了一个客户的选项,该选项允许您直接检索默认付款选项(如果有)

    ExternalAccount defaultSource = customer.getDefaultSourceObject();
    Card defaultCard = (Card) defaultSource; // if it's a card
    
  2. # 3 楼答案

    使用最新的Stripe SDK,我无法使用customer.getDefaultSourceObject()。这是我的代码

        String defaultSource = customer.getDefaultSource();
        if (defaultSource != null) {
            List<ExternalAccount> sources = customer.getSources().getData();
            for (ExternalAccount source: sources) {
                if (source instanceof Card && source.getId().equals(defaultSource)) {
                    Card card = (Card)source;
                    LOG.info("Last-4=" + card.getLast4()...);
                    return card;
                }
            }
        }