【问题标题】:Braintree - Android SDK: new credit card or existing one?Braintree - Android SDK:新信用卡还是现有信用卡?
【发布时间】:2015-09-04 15:22:02
【问题描述】:

我是 Android+Braintree 世界的新手。目前我正在使用 Drop-In 界面。 我想要做的是以下

"如果用户正在创建/添加新卡,请询问他是否要保存 信用卡信息”。

我需要此信息,因为稍后我将在交易的参数中相应地设置storeInVaultOnSuccess 选项。 现在,似乎没有办法在插入式 GUI 中插入元素来了解用户是否想要保存这些数据。

好的,所以我将在插入界面之后添加一个额外的步骤,我只会询问用户是否要保存信用卡数据。

但问题是,如果他选择了一张已经存在的信用卡,我不想问这个问题,所以我需要知道他是否创建了一张新卡,或者他是否选择了一张现有的信用卡。

有没有办法执行这个任务(或者有更好的选择)?

我已经尝试过的方法: 我试图查看onActivityResult 方法中给出的所有信息,更具体地说,是作为第三个参数给出的 Intent 的内容。 我所拥有的当然是EXTRA_PAYMENT_METHOD_NONCE,然后是EXTRA_PAYMENT_METHOD(类型com.braintreepayments.api.models.Card),但是查看Card.java 的代码我无法理解如何检索(如果可能)这个类型的信息。

提前致谢。

【问题讨论】:

  • 真的可以在应用中存储借记卡/信用卡信息吗??

标签: java android braintree


【解决方案1】:

全面披露:我在 Braintree 工作。如果您还有任何问题,请随时联系support。

Drop-In UI 不支持该工作流程,因为在进入时,Drop-In 会自动保管信用卡并仅提供随机数(由于 PCI 原因,它不包含有关卡的任何信息给客户)。换句话说,storeInVaultOnSuccess 将不适用,因为它已经存在。

正如您所说,解决此问题的方法 - 在仍然使用 Drop-In 的同时 - 将保留对交易中使用的付款方式的引用,并在交易完成后询问。您可以通过检查响应对象来获得:

String payment_method_token = "";

TransactionRequest request = new TransactionRequest()
  .amount(new BigDecimal("100.00"));
  .paymentMethodNonce(nonceFromTheClient);
Result<Transaction> result = gateway.transaction().sale(request);
Transaction transaction = result.getTarget();

if (transaction.getPaymentInstrumentType().equals(PaymentInstrumentType.CREDIT_CARD){
  payment_method_token = transaction.getCreditCard.getToken();
}
// ... other payment method types that you support 

但是,正如您所说,这更复杂。您必须根据以下条件进行一些选择: a) 创建付款方式时(使用 createdAt),或 a) 比较结账体验前后的支付方式数组

这种流程确实突破了 Drop-In 的限制,而这些限制常常促使开发人员切换到 custom integration。在这种情况下,您将收集他们的偏好——无论他们是否希望存储它——就像他们enter their credit card information。

【讨论】:

  • 非常感谢杰西卡,但这让我很伤心.. :) 复制 Drop-In 的良好体验和所有翻译也非常困难。分析您的回复,拥有payment_method_token 变量,我可以删除信用卡信息(不删除相关的付款),对吧?在这种情况下,我可以根据the delete method 在服务器端进行操作。当然,我必须小心我会发现这是一种新的付款方式。
  • 是的,您可以在不删除关联交易的情况下删除付款方式。
  • 我正在使用 Braintree sdk 进行自定义 UI。如何保存和检索信用卡信息?
猜你喜欢
  • 2016-10-16
  • 2015-09-25
  • 2017-05-07
  • 2019-06-07
  • 1970-01-01
  • 1970-01-01
  • 2021-06-14
  • 2018-01-13
  • 1970-01-01
相关资源
最近更新 更多