Ruby on rails Braintree交易失败时返回参数/信用卡信息

Ruby on rails Braintree交易失败时返回参数/信用卡信息,ruby-on-rails,paypal,braintree,Ruby On Rails,Paypal,Braintree,当我提交braintree事务时,它不成功,它返回我可以使用的result.params。但是,由于PCI合规性原因,它无法返回CC或CVV信息 因为它是一个不成功的txn,所以该页面呈现当前页面。我想自动填充付款信息,无论是CC还是paypal交易,因此用户无需重新输入付款。我认为这是糟糕的用户体验 如果无法重新填充付款信息,我是否可以重新使用生成的付款方法并将其发送到braintree。翻阅这些文件,我似乎找不到任何可以用来解决这个问题的东西 只需将其发布到设置为的您自己的控制器/操作。从那

当我提交braintree事务时,它不成功,它返回我可以使用的result.params。但是,由于PCI合规性原因,它无法返回CC或CVV信息

因为它是一个不成功的txn,所以该页面呈现当前页面。我想自动填充付款信息,无论是CC还是paypal交易,因此用户无需重新输入付款。我认为这是糟糕的用户体验

如果无法重新填充付款信息,我是否可以重新使用生成的付款方法并将其发送到braintree。翻阅这些文件,我似乎找不到任何可以用来解决这个问题的东西


只需将其发布到设置为的您自己的控制器/操作。从那里,您可以检查事务的成功并做出相应的响应。您还可以根据自己的意愿完全访问参数。你可能想。我在Braintree工作。如果您希望在集成方面获得更多帮助,您可以随时提供帮助

使用nonce创建交易,而不是使用支付方法nonce创建交易。这将为您提供一个可重用的令牌,然后您可以使用它创建事务

从:

创建事务 从中获得,支付方法nonce可在任何地方使用信用卡信息,或在Braintree中使用支付方法令牌


因此,既然您可以从信用卡参数创建支付方式令牌,您也可以从支付方式立即创建它。

通过Braintree(以及其他一些网关),信用卡参数永远不会发布到他的页面——其优点之一是您不必存储信用卡信息,这会带来一系列麻烦。所以这个解决方案不起作用。@agf:谢谢你的反馈,但是你不能简单地用必要的字段创建一个表单,提交给你自己的控制器,并使用类似的视图,然后“手动”将这些值发布到Braintree::TransparentRedirect.url吗?我承认我没有专门用Braintree来做这件事,但我在许多其他服务中使用了类似的方法,在这个例子中它似乎也能很好地工作。如果我偏离了底线,我会删除这个答案。不是你做不到,而是你不想做。对你的服务器来说,看到/处理信用卡参数是不好的,使用Braintree这样的服务的一部分目的是为了避免这种情况。我对你的方法进行了改进,认为这是一种更合适的官方方法。但是这里介绍的技术肯定可以改进某些工作流,并且在某些情况下是一种有价值的替代方法。我相信这是有可能做到的安全机制,你已经描述。。。我认为Braintree的一个更大的优势是它是一个非常好的支付处理器,拥有非常好的开发人员资源。无论如何,现在向OP展示了两种截然不同的方法,它们应该涵盖所有可能的用例。我建议您在建议(或使用)这种方法之前先阅读PCI DSS。这不仅仅是一个安全问题——处理信用卡号码会造成严重的合规负担。谢谢。我联系了Braintree,我想做的唯一方法似乎是在Braintree中创建一个客户,并从支付信息(nonce)生成一个支付令牌,然后使用该信息。我总是可以创建自己的表单,或者添加一个隐藏的输入/jquery黑客,但这似乎不安全,我想将他们的支付ui与paypal集成。我建议你在建议(或使用)这种方法之前先阅读PCI DSS。这不仅仅是一个安全问题——处理信用卡号码会造成严重的合规负担。