我正在用 Rails 开发一个应用程序,希望用户能够在一个表单上注册并提供他们的银行卡详细信息。我正在使用 Braintree API 及其透明重定向,这意味着表单数据直接发布到 Braintree。
我如何存储并在以后检索用户从该表单提供的非付款相关信息,例如账户名,用户名?这些值不会在 Braintree 提供的响应中返回。
如果您查看 Basecamp 注册过程,这就是我想要实现的结果。
谢谢
罗宾
最佳答案
好的,这是关闭 JavaScript 时会发生的情况。看起来 BaseCamp 选择通过 AJAX 发送信用卡,但也处理禁用 JavaScript 并且整个表单被传输给他们的情况 - 包括非支付字段。
谢谢 Fiddler , 和 BaseCamp。
用户在 HTML 表单上填写包含付款数据和您可能需要的任何其他内容的表单,用于注册、运输、购物车等。
表格提交至https://secure.braintreepaymentgateway.com/api/transact.php
BrainTree 施展魔法,将信用卡添加到保险库,并将所有信息传回您的页面。它
它通过实际调用一个 URL 来做到这一点,然后您必须以任何方式处理该 URL。
https://signup.37signals.com/basecamp/plus/signup?transparent_redirect_complete=1
&signup[page]=
&signup[source]=basecamphq.com
&signup[data][first_name]=FRED
&signup[data][last_name]=FLINTSTONE
&signup[data][email_address]=FRED@BEDROCK.COM
&signup[data][name]=FRED
&signup[data][time_zone_id]=Eastern%20Time%20%28US%20%26%20Canada%29
&signup[data][identity_url]=
&signup[data][user_name]=BAMBAM
&signup[data][password]=pebbles123
&signup[data][confirm_password]=pebbles123
&signup[data][subdomain]=bedrock.com
&signup[referrer_code]=
&signup[coupon_code]=
&signup[accepts_eula]=1
&response=1
&responsetext=Customer+Added
&authcode=
&transactionid=
&avsresponse=
&cvvresponse=
&orderid=
&type=
&response_code=100
&customer_vault_id=1253608313
&username=865251
&time=20091129014038
&amount=
&hash=63209ad25560f9a961525d65b63e31be
大概响应代码 100 表示“不良信用卡”,因为我输入了假的 CC 号码进行测试。
4) 您可以随意重新显示页面。
悬而未决的问题:如果交易成功,希望卡的最后 4 位能返回。
关于ruby-on-rails - 使用 Braintree 透明重定向的注册表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1776338/