2015-08-15 65 views
0

我創建了一個非常簡單的網站,它具有提交到收費頁面的默認分條結賬。我遵循條紋網站上的PHP說明,我完全迷惑它爲什麼不起作用。結賬頁面可以正常使用:條紋不在PHP充電

<div class="container"> 
      <form action="charge.php" method="POST"> 
       <h6> amount </h6> 
       <input type="text" name="amount" /> 
       <h6> test-info </h6> 
       <br /> <input type="text" name="pubkey" /> 
       <script 
        src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
        data-key="pk_test_NC2CbWJLgm82SMzbxRX4JBLo" 
        data-amount="2000" 
        data-name="Demo Site" 
        data-description="2 widgets ($20.00)" 
        data-image="/128x128.png" 
        data-bitcoin="true"> 
       </script> 
      </form> 
     </div> 

所有,如電子郵件,令牌和PUBKEY從收銀臺輸入被完全地傳送到charge.php頁面。 In charge.php:

<?php 
    require_once('config.php'); 

    $token = $_POST ['stripeToken']; 
    $email = $_POST['stripeEmail']; 
    $pubkey = $_POST['pubkey']; 
    $amount = $_POST['amount']; 
    ?> 
    <h3> Public key: <?php echo $pubkey; ?> </h3> 
    <h3> Token: <?php echo $token; ?> </h3> 
    <h3> Amount: <?php echo $amount; ?> </h3> 
    <h3> Email: <?php echo $email; ?> </h3> 

    <?php 
     try { 
      $charge = \Stripe\Charge::create(array(
       "amount" => 1000, // amount in cents, again 
       "currency" => "gbp", 
       "source" => $token, 
       "description" => "Example charge" 
      )); 
      } catch(\Stripe\Error\Card $e) { 

      } 


    ?> 

    <h6> You've been charged </h6> 

表單提交中的所有變量都被打印出來。但是,出於某種原因,實際收費不起作用,而且標題(即您已收取費用)未打印出來。該令牌是正確的,所以我真的不知道它是如何不可能收取費用。爲什麼我錯了,我怎麼能調試這個發現?

的config.php

<?php 
    require_once('vendor/autoload.php'); 
    $stripe = array(
     "secret_key" => "sk_test_**********************", 
     "publishable_key" => "pk_test_NC2CbWJLgm82SMzbxRX4JBLo" 
    ); 
    \Stripe\Stripe::setApiKey($stripe['secret_key']); 
    echo 'this is from config.php'; 

?> 
+0

您意識到表單中的數據與PHP try/catch中的數據不同。這種差異可能是Stripe未完成交易的原因。 – Martin

+1

另外你的錯誤'$ e'異常輸出是什麼?它會告訴你爲什麼try/catch失敗。 – Martin

+0

表單中的數據僅供展示,根據我的意思,它並不重要(現在看起來它們的工作不同)。 – user2850249

回答

0

看來問題是數據比特幣= 「真」。擺脫它意味着付款經歷了。