2016-04-06 47 views
0

我对web开发相当陌生,主要使用VB和WinForms。我已经为客户建立了一个小型电子商务网站,并决定使用Braintree来处理交易。但是,我无法将服务器生成的客户端令牌获取到客户端Braintree UI插入表单。我建立了一个默认的处理程序。如何将客户端令牌处理程序从Braintree .NET sdk插值到客户端

public class ClientTokenHandler : IHttpHandler 
{ 
    public string pubClientToken; 
    public void ProcessRequest(HttpContext context) 
    { 
     var gateway = new BraintreeGateway 
     { 
      Environment = Braintree.Environment.SANDBOX, 
      MerchantId = "MerchantID", 
      PublicKey = "Public_Key", 
      PrivateKey = "Private_Key" 
     }; 
     pubClientToken = gateway.ClientToken.generate(); 
     HttpContext.Current.Response.Write(pubClientToken); 
    } 

    public bool IsReusable 
    { 
     get 
     { 
      return false; 
     } 
    } 
} 

我在处理程序的开头设置断点,这样,当我把处理程序从客户端获取客户端的令牌,我可以确保所生成的令牌。然而,断点永远不会被击中,并且插入式UI永不加载(我假设它没有有效的标记)。这是我的AJAX调用处理程序的代码。

<div class="container"> 
    <form id="checkout" method="post" action="/checkout"> 
    <div id="payment-form"></div> 
    <input type="submit" value="Pay $10"> 
    </form> 

    <script src="https://js.braintreegateway.com/js/braintree-2.22.2.min.js"></script> 

    <script> 
     var clientToken; 
     function CallHandler() { 
      $.ajax({ 
       url: "ClientTokenHandler.ashx.cs", 
       type: "GET", 
       contentType: "application/json; charset=utf-8", 
       success: OnComplete, 
       error: OnFail 
      }); 
      return result; 

      function OnComplete(result) { 
       clientToken = data; 
      } 
      function OnFail(result) { 
       alert('Request failed'); 

      } 
     } 

    // We generated a client token for you so you can test out this code 
    // immediately. In a production-ready integration, you will need to 
     // generate a client token on your server (see section below). 
     //var clientToken = "eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJjOWU2ZDgwNDI3YWEyMjQ5YjMwMmQzNjdjZTJhOTljODNiMWNjYTljOGNlMjcwMzBlZDIxYmM2NjYxZDhjMzBlfGNyZWF0ZWRfYXQ9MjAxNi0wNC0wNlQxNjo0OToxOS45NDEyNTQ3MzcrMDAwMFx1MDAyNm1lcmNoYW50X2lkPTM0OHBrOWNnZjNiZ3l3MmJcdTAwMjZwdWJsaWNfa2V5PTJuMjQ3ZHY4OWJxOXZtcHIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvMzQ4cGs5Y2dmM2JneXcyYi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzLzM0OHBrOWNnZjNiZ3l3MmIvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vY2xpZW50LWFuYWx5dGljcy5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tLzM0OHBrOWNnZjNiZ3l3MmIifSwidGhyZWVEU2VjdXJlRW5hYmxlZCI6dHJ1ZSwicGF5cGFsRW5hYmxlZCI6dHJ1ZSwicGF5cGFsIjp7ImRpc3BsYXlOYW1lIjoiQWNtZSBXaWRnZXRzLCBMdGQuIChTYW5kYm94KSIsImNsaWVudElkIjpudWxsLCJwcml2YWN5VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3BwIiwidXNlckFncmVlbWVudFVybCI6Imh0dHA6Ly9leGFtcGxlLmNvbS90b3MiLCJiYXNlVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhc3NldHNVcmwiOiJodHRwczovL2NoZWNrb3V0LnBheXBhbC5jb20iLCJkaXJlY3RCYXNlVXJsIjpudWxsLCJhbGxvd0h0dHAiOnRydWUsImVudmlyb25tZW50Tm9OZXR3b3JrIjp0cnVlLCJlbnZpcm9ubWVudCI6Im9mZmxpbmUiLCJ1bnZldHRlZE1lcmNoYW50IjpmYWxzZSwiYnJhaW50cmVlQ2xpZW50SWQiOiJtYXN0ZXJjbGllbnQzIiwiYmlsbGluZ0FncmVlbWVudHNFbmFibGVkIjp0cnVlLCJtZXJjaGFudEFjY291bnRJZCI6ImFjbWV3aWRnZXRzbHRkc2FuZGJveCIsImN1cnJlbmN5SXNvQ29kZSI6IlVTRCJ9LCJjb2luYmFzZUVuYWJsZWQiOmZhbHNlLCJtZXJjaGFudElkIjoiMzQ4cGs5Y2dmM2JneXcyYiIsInZlbm1vIjoib2ZmIn0="; 


    braintree.setup(clientToken, "dropin", { 
    container: "payment-form" 
    }); 
    </script> 
</div> 

有没有人有他们将如何/做到这一点的例子?这是我的第一篇文章,请不要扔太多石头。 ;)TIA!

+0

我包含一个

相关问题