2016-04-06 24 views
0

Web geliştirmede oldukça yeniyim ve çoğunlukla VB ve WinForms ile çalıştım. Bir müşteri için küçük bir e-ticaret sitesi oluşturmaya başladım ve işlemleri yürütmek için Braintree'yi kullanmaya karar verdim. Ancak, istemci Braintree UI drop-in formuna bir sunucu tarafından oluşturulan istemci belirteci alma konusunda sorun yaşıyorum. Önerdikleri gibi bir varsayılan işleyici oluşturdum. İstemci jetonu almak üzere müşteriden işleyici çağırdığınızda, ben jetonu oluşturulur emin olun, böylece NASıL YAPıLıR: İstemci Simge İşleyicisi'ni Braintree .NET sdk'den İstemciye Dönüştürme

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

Ben işleyicisi başında kesme noktası ayarlamak. Yine de, kesme noktası hiçbir zaman vurulmuyor ve açılan UI asla yüklenmiyor (çünkü geçerli bir belirteci olmadığı için farz ediyorum). İşte işleyiciye AJAX çağrısı için kodum.

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

Herkesin nasıl yapacağı/yaptıklarıyla ilgili bir örneği var mı? Bu benim ilk mesajım, lütfen çok fazla taş atmayın. ;) TIA!

+0

Bir

İlgili konular