Kann ich Braintree.js mit einer .NET-Webanwendung verwenden?

Ich beschäftige mich also seit ein paar Tagen mit Braintree Payments. Ich liebe die Architektur, das Konzept usw. Nachdem ich die Dokumentation und die .NET-Anleitungen durchgesehen habe, ist mir aufgefallen, dass sich alle Beispiele für .NET in MVC3 befinden. Ich versuche, Braintree mit normalen Webformularen in meine aktuelle .NET-Webanwendung zu integrieren.

Mein Ziel ist es, ein normales Webformular mit Kundendaten und Kartendaten auf die Zahlungsseite zurückzusenden. Die Kartendaten sollten mit ihren Braintree.js verschlüsselt werden. Auf diese Weise kann ich alles zur Verarbeitung an Braintree senden, einschließlich der verschlüsselten Kartendaten.

Das Formular würde ungefähr so ​​aussehen:

<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>

Im Code-Behind würde ich dann Form.Action, Form.Method und Form.ID wie folgt einstellen:

protected void Page_Load(object sender, EventArgs e)
{
  Form.Action = "CreateTransaction()";
  Form.Method = "POST";
  Form.ID = "braintree-payment-form";  
}

Wenn der Benutzer das Formular sendet, trifft er hoffentlich das Mitglied "CreateTransaction ()" zusammen mit den verschlüsselten Kartendaten im Parameter "collection" wie folgt:

[HttpPost]
public ActionResult CreateTransaction(FormCollection collection)
{
  TransactionRequest request = new TransactionRequest
  {
    Amount = 1000.0M,
    CreditCard = new TransactionCreditCardRequest
  {
  Number = collection["number"],
  CVV = collection["cvv"],
  ExpirationMonth = collection["month"],
  ExpirationYear = collection["year"]
  },
  Options = new TransactionOptionsRequest
  {
    SubmitForSettlement = true
  }
};

Result<Transaction> result = Constants.Gateway.Transaction.Sale(request);

return null;
}

Wenn ich diesen Ansatz verfolge, wird das Formular niemals an das Mitglied "CreateTransaction ()" zurückgesendet. Was vermisse ich? Kann dies mit normalen alten Webformularen durchgeführt werden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage