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