android - 从 Stripe Android API 获取卡资金参数

标签 android stripe-payments

我正在使用 the Stripe Android API在移动应用程序中处理付款。当用户注册该应用程序时,会根据他们的信用卡信息生成一个 Stripe token 。根据项目要求,应用需要拒绝预付信用卡的使用。遗憾的是,Android API 不允许访问从 strip token 返回的 Card 对象的 funding 参数。此参数说明卡是预付的、借记卡还是贷记卡。

有谁知道如何在 Android 上访问此信息?如果使用 Stripe Android API 无法做到这一点,我是否可以直接访问从 Stripe API 返回的 JSON 对象?

最佳答案

Stripe Android bindings不要直接公开 card object来自 API(它具有您感兴趣的 funding 属性),但您可以使用 Java bindings 通过 token ID 检索它.这样的事情应该有效:

public void onSuccess(Token token) {
    com.stripe.model.Token stripeToken = com.stripe.model.Token.retrieve(token.getId(), publishableKey);
    com.stripe.model.Card stripeCard = stripeToken.getCard();
    if (stripeCard.getFunding().equals("prepaid") {
        // Reject card
    }
}

请注意,这基本上是 Android 绑定(bind)首先在创建 token 时所做的(请参阅 here)。

编辑:在进一步调查之后,我不太确定上面的方法是否有效。虽然在调用 retrieve token 的 Android 绑定(bind)中有一个 requestToken() 方法带有可发布 key 的 API(请参阅 here ),我认为它实际上不起作用。使用可发布 key 调用此端点会导致错误,指示应使用 secret key 。 (我猜这是一个未记录的行为,在某个时候被删除了。)

如果是这种情况,那么我想您有两个选择:

  • 修补 Android 绑定(bind),使 API 对象中的 funding 属性在 Android 对象中可用(在创建时),或者
  • 在服务器端进行检查。

关于android - 从 Stripe Android API 获取卡资金参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32426395/

相关文章:

android httppost mysql 没有双重输入

android - 在 gdb 中看不到任何函数

android - 负填充的影响

安卓 GridView : Animation for grids when add or remove programmatically

php - 如果连接的帐户已完成,我如何通过 Stripe API 判断?

php - Stripe Standard 和 Express 帐户注册有什么区别

android - 如何使用 adb 命令在 android 设备中启用鼠标指针

ios - Stripe 在 Swift 中创建用户函数

stripe-payments - 在 Stripe Connect oauth/authorize 注册上预填充字段的正确语法

python - 尝试更新现有订阅时 Trial_end 无效