2016-06-25 4 views
0

何らかの理由で、トークンを無効にする何らかの原因で、この問題を解決する方法があります。これは、これは印刷Braintree Swiftは、生成されたトークンにhtmlを印刷し続けます。

<html> 
<head> 
    <title>BraintreePHPExample</title> 
    <link rel=stylesheet type=text/css href="css/app.css"> 
    <link rel=stylesheet type=text/css href="css/overrides.css"> 
    <script src="javascript/vendor/jquery-2.1.4.min.js"></script> 
    <script src="javascript/vendor/jquery.lettering-0.6.1.min.js"></script> 
    <script src="javascript/demo.js"></script> 
</head> 
<body> 

    <header class="main"> 
    <div class="container wide"> 
     <div class="content slim"> 
      <div class="set"> 
       <div class="fill"> 
        <a class="pseudoshop" href="/">PSEUDO<strong>SHOP</strong></a> 
       </div> 

       <div class="fit"> 
        <a class="braintree" href="https://developers.braintreepayments.com/guides/drop-in" target="_blank">Braintree</a> 
       </div> 
      </div> 
     </div> 
    </div> 

    <div class="notice-wrapper"> 
      </div> 
</header> 

    <div class="wrapper"> 
     <div class="checkout container"> 

      <header> 
       <h1>Hi, <br>Let's test a transaction</h1> 
       <p> 
        Make a test payment with Braintree using PayPal or a card 
       </p> 
      </header> 

      <form method="post" id="payment-form" action="/braintree_php_api/public_html/checkout.php"> 
       <section> 
        <div class="bt-drop-in-wrapper"> 
         <div id="bt-dropin"></div> 
        </div> 

        <label for="amount"> 
         <span class="input-label">Amount</span> 
         <div class="input-wrapper amount-wrapper"> 
          <input id="amount" name="amount" type="tel" min="1" placeholder="Amount" value="10"> 
         </div> 
        </label> 
       </section> 

       <button class="button" type="submit"><span>Test Transaction</span></button> 
      </form> 
     </div> 
    </div> 

    <script src="https://js.braintreegateway.com/v2/braintree.js"></script> 
    <script> 
     var checkout = new Demo({ 
      formID: 'payment-form' 
     }) 
     var client_token = "eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJiNmZhMDYxN2IxZjU2MjQzZGE0NWY4Mjk5YjEzYmRhNGEzZDEyNzM4MmMyOGQxOWY5NGI0OTJkMjgwODlkMTllfGNyZWF0ZWRfYXQ9MjAxNi0wNi0yNVQwMDo0MDo1My4xODc0MTUyNzcrMDAwMFx1MDAyNm1lcmNoYW50X2lkPXdtdDJoZ25tYzdxcW1wcGZcdTAwMjZwdWJsaWNfa2V5PXZmZnBqY2t0a216cHhidnIiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tOjQ0My9tZXJjaGFudHMvd210Mmhnbm1jN3FxbXBwZi9jbGllbnRfYXBpL3YxL2NvbmZpZ3VyYXRpb24iLCJjaGFsbGVuZ2VzIjpbXSwiZW52aXJvbm1lbnQiOiJzYW5kYm94IiwiY2xpZW50QXBpVXJsIjoiaHR0cHM6Ly9hcGkuc2FuZGJveC5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzL3dtdDJoZ25tYzdxcW1wcGYvY2xpZW50X2FwaSIsImFzc2V0c1VybCI6Imh0dHBzOi8vYXNzZXRzLmJyYWludHJlZWdhdGV3YXkuY29tIiwiYXV0aFVybCI6Imh0dHBzOi8vYXV0aC52ZW5tby5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tIiwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vY2xpZW50LWFuYWx5dGljcy5zYW5kYm94LmJyYWludHJlZWdhdGV3YXkuY29tL3dtdDJoZ25tYzdxcW1wcGYifSwidGhyZWVEU2VjdXJlRW5hYmxlZCI6dHJ1ZSwicGF5cGFsRW5hYmxlZCI6dHJ1ZSwicGF5cGFsIjp7ImRpc3BsYXlOYW1lIjoiaWhlbHByIiwiY2xpZW50SWQiOm51bGwsInByaXZhY3lVcmwiOiJodHRwOi8vZXhhbXBsZS5jb20vcHAiLCJ1c2VyQWdyZWVtZW50VXJsIjoiaHR0cDovL2V4YW1wbGUuY29tL3RvcyIsImJhc2VVcmwiOiJodHRwczovL2Fzc2V0cy5icmFpbnRyZWVnYXRld2F5LmNvbSIsImFzc2V0c1VybCI6Imh0dHBzOi8vY2hlY2tvdXQucGF5cGFsLmNvbSIsImRpcmVjdEJhc2VVcmwiOm51bGwsImFsbG93SHR0cCI6dHJ1ZSwiZW52aXJvbm1lbnROb05ldHdvcmsiOnRydWUsImVudmlyb25tZW50Ijoib2ZmbGluZSIsInVudmV0dGVkTWVyY2hhbnQiOmZhbHNlLCJicmFpbnRyZWVDbGllbnRJZCI6Im1hc3RlcmNsaWVudDMiLCJiaWxsaW5nQWdyZWVtZW50c0VuYWJsZWQiOnRydWUsIm1lcmNoYW50QWNjb3VudElkIjoiaWhlbHByIiwiY3VycmVuY3lJc29Db2RlIjoiVVNEIn0sImNvaW5iYXNlRW5hYmxlZCI6ZmFsc2UsIm1lcmNoYW50SWQiOiJ3bXQyaGdubWM3cXFtcHBmIiwidmVubW8iOiJvZmYifQ=="; 

     braintree.setup(client_token, "dropin", { 
      container: "bt-dropin" 
     }); 
    </script> 
</body> 
</html> 

答えて

0

全開示されたトークンです

func brainTree() { 

     let clientTokenURL = NSURL(string: "http://mywesitelinkhere.com/braintree_php_api/public_html/index.php/client_token")! 


     let clientTokenRequest = NSMutableURLRequest(URL: clientTokenURL) 


     clientTokenRequest.setValue("text/plain", forHTTPHeaderField: "Accept") 

     NSURLSession.sharedSession().dataTaskWithRequest(clientTokenRequest) { (data, response, error) -> Void in 



      print("data start- \(data) -data end") 

      print("response start- \(response) -response end") 

      print("Error is \(error?.localizedDescription)") 


      let clientToken = String(data: data!, encoding: NSUTF8StringEncoding)! 

      print("token is\(clientToken) token end") 

      self.braintreeClient = BTAPIClient(authorization: clientToken) 
      // As an example, you may wish to present our Drop-in UI at this point. 
      // Continue to the next section to learn more... 
     }.resume() 


    } 

私の現在の関数である:私はブレインツリーで働いています。ご不明な点がございましたら、supportまでお気軽にお問い合わせください。

問題は、サーバー側のコードであり、迅速なものではありません。問題は、WebサイトがHTMLではなくトークンだけを提供する必要があることです。あなたはcurlしたMac/* nixのシステムでこれをテストすることができます。

curl http://mywesitelinkhere.com/braintree_php_api/public_html/index.php/client_token 

このコマンドは、あなたのサーバーを修正する必要があるだけで、クライアントトークン文字列、その後以外のものを返した場合。 Braintree getting started guide's client token generation linesは本当にあなたが必要とするすべてです:

<?php 
    Braintree_Configuration::environment('sandbox'); 
    Braintree_Configuration::merchantId('use_your_merchant_id'); 
    Braintree_Configuration::publicKey('use_your_public_key'); 
    Braintree_Configuration::privateKey('use_your_private_key'); 

    echo($clientToken = Braintree_ClientToken::generate()); 
?> 

は、サーバーのコードを見て、そのURLからこの文字列の印刷以外のすべてを取り除きます。

関連する問題