Braintree Python 透明重定向与保管箱选项
Braintree的透明重定向功能非常好用,我不需要通过我的服务器传递任何信用卡信息,我想保持这种方式。我的问题是,怎样才能让回头客使用他们之前保存的信用卡和账单信息?信用卡的令牌是一个受保护的字段,所以客户不能通过选项字段提交它。相反,我需要在生成交易数据之前指定信用卡令牌。这样做有两个问题,第一,如果我尝试用AJAX(异步JavaScript和XML)处理的话,可能会遇到禁用JavaScript的情况;第二,让回头客通过一个单独的页面来选择他们的信用卡和账单信息,几乎和重新输入信息一样麻烦。
2 个回答
我是一名Python开发者,刚刚成功把Django和Braintree结合在一起。
我用的方法几乎和BenMills描述的一样:使用S2S API来处理信用卡的切换,而不是使用TR,同时还能在同一页面上创建新的信用卡!
不过,我觉得可能有一种方法可以解决你的问题:在同一页面上生成多个TR表单,每个信用卡对应一个tr_data,这样你就不需要担心根据用户的选择来用AJAX生成tr_data了。
你说得对,使用信用卡令牌和透明重定向在当前的Braintree API中确实有点麻烦。
不过,如果你已经把用户的信用卡信息存储在安全的地方(叫做“保险库”),你可以通过服务器之间的请求来处理,因为这样就不需要获取任何敏感信息了。你只需要一个简单的HTML下拉框来选择信用卡令牌,然后你的HTML表单就可以提交到你自己的服务器。
为了让这个解决方案更全面,如果用户想要输入一张新卡,你可以在表单中加入tr_data字段,然后把表单作为TR请求提交给Braintree。
如果你还有其他问题,或者想一起看看这段代码,可以发邮件给Braintree的支持团队:support@getbraintree.com
我是Braintree的开发者,很乐意帮助你解决任何技术问题。