在Java中,我如何判断 Stripe 中的卡是否是默认支付选项?例如:
for ( ExternalAccount source : customer.getSources().getData() ){
Card card = (Card) source;
if ( card.???? // how do I know if it's the default payment option
}
或者,我可以查询默认付款来源吗?
我问这个问题的原因是因为我想向客户显示一张卡的最后4位数字,以向他们显示他们当前默认的支付选项。但如果有多张卡,我怎么知道?
使用最新的Stripe SDK,我无法使用< code > 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;
}
}
}
根据我现在所能知道的(查看文档等),通过检查卡不可能判断它是否是默认付款来源。但我错过了一个客户的选项,该选项允许您直接检索默认付款选项(如果有),例如。
ExternalAccount defaultSource = customer.getDefaultSourceObject();
Card defaultCard = (Card) defaultSource; // if it's a card
您可以通过比较指纹
属性来查看是否已经存档了卡。它将永远是一样的。
您还可以通过利用客户对象上的获取默认来源对象()
方法直接获取默认付款源。
https://github.com/stripe/stripe-java/blob/master/src/main/java/com/stripe/model/Customer.java#L92
换句话说,将您的< code >指纹与默认源的< code >指纹进行比较,您就会得到答案。
希望有所帮助!
我在Stripe中创建了一个带有客户/信用卡的POC,我在Stripe中登录了我的仪表板,并且能够看到该客户有一个正确关联的默认来源(我添加的测试信用卡)。它显示这张卡是默认来源。 当我运行这个。网络代码: 为了得到该客户,它会正确地返回除其来源之外的所有内容。我希望能从中找到它的所有字段都是空的!我想知道他的默认付款来源,这样我就可以在前端显示它,并用一个小图标表示它是默认的。 DefaultS
问题内容: 我希望我的python应用程序能够知道另一侧的套接字何时被删除。有办法吗? 问题答案: 这取决于您所说的“丢弃”。对于TCP套接字,如果另一端通过close()或进程终止来关闭连接,则可以通过读取文件结尾或读取错误来找出错误,通常将errno设置为“对等”由您的操作系统决定。对于python,您将读取长度为零的字符串,否则将导致套接字。尝试从套接字读取或写入时将引发错误。
我使用的是Laravel5.8版和出纳10.7版。1. 我想开始并收取用户注册时的每月订阅费。 所以我写进了RegisterController。php 此外,我还将其添加到注册表中。刀身php文件: 以及: Stripe\Exception\InvalidRequestException此客户没有附加的付款来源或默认付款方式。 有什么问题?我怎么能修好它?
是否可以从Stripe中删除付款方式?我似乎找不到文档中描述的功能。您可以创建一种付款方式,将其附加到客户,并将其与该客户分离,但如何从Stripe的系统中完全删除该付款方式? 如果你不能,那就意味着一旦你把你的信用卡信息发给Stripe,你就再也收不回来了…
问题内容: 我有这段代码,用于检查从我的应用程序中许多地方调用的Activity的Intent中是否有多余的值: 如果未设置isNewItem,我的代码会崩溃吗?在我调用它之前,有什么方法可以告诉它是否已设置吗? 处理此问题的正确方法是什么? 问题答案: 正如其他人所说,两者和都可能返回null。因此,您不想将调用链接在一起,否则您可能最终会调用,这将引发并导致应用程序崩溃。 这就是我要完成的方法
问题内容: 在Linux中使用屏幕时,如何确定我是否在屏幕中?如果可以,我可以退出屏幕,但是如果没有,那么我将关闭终端。 在执行操作时,我可以查看是否还连接了其他屏幕,但是如何知道我的当前终端是否是这些已连接屏幕之一? 问题答案: 检查。如果为空,则您位于“真实”终端上。如果包含任何内容,则为您所在屏幕的名称。 如果您不在屏幕上: 如果您在屏幕上: