Braintree Dropin UI,如何删除付款方式

时间:2015-01-13 19:31:15

标签: braintree

我们正在使用braintree的dropin UI来帮助节省创建自定义付款条目页面的时间。有什么难以理解的是为什么你只能添加新的付款方式而不是删除。我知道能够添加,但如果给定的付款方式存在问题(稍后)。它永远存在,因为客户无法删除付款方式。我想删除付款方式的唯一方法是为我们编写一个自定义UI(因此无法使用dropin UI开始的目的)。客户是否无法使用dropin UI删除付款方式?

2 个答案:

答案 0 :(得分:8)

Braintree的DropIn UI不允许用户删除或更新已保存的付款方式。 但有一种方法可以做到这一点。例如,如果您有一个可以管理其设置的客户资料页面,您只需添加一个菜单,其中显示与客户关联的所有付款方式。

为此,您可以简单地使用一些Braintree函数,这些函数在此处说明:https://developers.braintreepayments.com/guides/payment-methods/php

我们的想法是使用以下内容获取与客户相关的所有付款方式:

$customer = Braintree_Customer::find('a_customer_id');
$customer->paymentMethods // array of Braintree_PaymentMethod instances

它将返回所有付款方式的对象。然后,您可以通过点击特定付款方式类型here(信用卡,PayPal ...)来检查该对象在同一页面中的响应。

获得这些值后,您可以在表格中显示这些值,然后添加一个简单的按钮或任何您要删除该付款方式的按钮。 为此,您可以使用以下函数将TOKEN作为参数传递

 $result = Braintree_PaymentMethod::delete('the_token');
 /*(token is a value of the object that comes from $customer->paymentMethods*/

最后,您可以检查控制$ result(true或false)

值的响应

希望这有帮助。

答案 1 :(得分:4)

August 7, 2018左右添加了使用Braintree嵌入式UI删除拱形付款方式的功能,并且在Braintree-Web-drop-in 1.12.0+中可用。 This feature is now listed in their documentation:

名称vaultManager

类型boolean

属性optional

默认false

说明

  

与带有客户ID的客户令牌一起使用时,是否允许客户删除保存的付款方式。注意:从Drop-in中删除付款方式将永久删除付款方式,因此对于使用Braintree定期计费系统的商户,不建议使用此选项。 Internet Explorer 9不支持此功能。

要启用“保险柜管理器”(删除保管的付款方式的功能),请在创建该插件时设置vaultManager: true

braintree.dropin.create({
  authorization: 'CLIENT_AUTHORIZATION',
  vaultManager: true,
  /* your other braintree options */
})