所以我现在一直在调查Braintree Payments几天.我喜欢这个架构,概念等.在浏览了文档和.NET演练之后,我注意到.NET的所有示例都在MVC3中.我正在尝试使用常规Web表单将Braintree集成到我当前的.NET Web应用程序中.
我的目标是将正常的Web表单发回到支付页面,同时包含客户数据和卡数据.卡数据应使用他们的Braintree.js加密.这样我就可以将所有内容发送到Braintree进行处理,包括加密的卡片数据.
表单看起来像这样:
<p>
<label>Card Number</label>
<asp:TextBox ID="number" AutoCompleteType="Disabled" MaxLength="20" Width="150" data-encrypted-name="number" runat="server" />
</p>
<p>
<label>CVV</label>
<asp:TextBox ID="cvv" AutoCompleteType="Disabled" MaxLength="4" Width="50" data-encrypted-name="cvv" runat="server" />
</p>
<p>
<label>Expiration (MM/YYYY)</label>
<asp:TextBox ID="month" AutoCompleteType="Disabled" MaxLength="2" data-encrypted-name="month" runat="server" />
/
<asp:TextBox ID="year" AutoCompleteType="Disabled" MaxLength="4" data-encrypted-name="year" runat="server" />
</p>
<asp:Button ID="btnSubmit" Text="SUBMIT" runat="server" />
<script type="text/javascript" src="https://js.braintreegateway.com/v1/braintree.js"></script>
<script type="text/javascript">
var braintree = Braintree.create("MyClientSideKey");
braintree.onSubmitEncryptForm('braintree-payment-form');
</script>
Run Code Online (Sandbox Code Playgroud)
然后在代码隐藏中,我将设置Form.Action,Form.Method和Form.ID,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
Form.Action = "CreateTransaction()";
Form.Method = "POST";
Form.ID = "braintree-payment-form"; …
Run Code Online (Sandbox Code Playgroud)