2015-01-12 2 views
1

Я хочу сделать платежный шлюз с помощью Stripe. Вот мой код. Файл конфигурации и, прежде всего, добавьте библиотеку stripe в файл confiig. Мне нужен токен. Как создать или создать токен из полосы?Как создать токен в шлюзе оплаты полосы

<?php 
require_once('./lib/Stripe.php'); 

$stripe = array(
    secret_key  => 'sk_test_SrG9Yb8SrhcDNkqsGdc5eKu1', 
    publishable_key => 'pk_test_8ZBVXSwrHDKuQe6dgMNfk8Wl' 
); 

Stripe::setApiKey($stripe['secret_key']); 
?> 


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

<form action="charge.php" method="post"> 
<script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" 
data-key="<?php echo $stripe['publishable_key']; ?>" 
data-amount="5000" data-description="One year's subscription"></script> 
</form> 


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

<form action="charge.php" method="post"> 
<script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" 
data-key="<?php echo $stripe['publishable_key']; ?>" 
data-amount="5000" data-description="One year's subscription"></script> 
</form> 
+0

Вы просмотрели этот раздел https://stripe.com/docs/api/php#tokens? Существуют примеры для банковского счета и карты. – RST

ответ

3

Я нашел этот фрагмент кода на своем API Documentation.

Вы должны попытаться поместить этот код на charge.php

// Set your secret key: remember to change this to your live secret key in production 
// See your keys here https://dashboard.stripe.com/account 
Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2"); 

// Get the credit card details submitted by the form 
$token = $_POST['stripeToken']; 

// Create the charge on Stripe's servers - this will charge the user's card 
try { 
    $charge = Stripe_Charge::create(array(
     "amount" => 1000, // amount in cents, again 
     "currency" => "usd", 
     "card" => $token, 
     "description" => "[email protected]") 
    ); 
} catch(Stripe_CardError $e) { 
    // The card has been declined 
} 

Позвольте мне знать, если вы все еще есть проблемы, чтобы захватить этот маркер

7
require_once('../lib/Stripe.php'); 
       Stripe::setApiKey("sk_test_SrG9Yb8SrhcDNkqsGdc5eKu1"); 

       $result = Stripe_Token::create(
        array(
         "card" => array(
          "name" => $user['name'], 
          "number" => base64decrypt($user['card_number']), 
          "exp_month" => $user['month'], 
          "exp_year" => $user['year'], 
          "cvc" => base64decrypt($user['cvc_number']) 
         ) 
        ) 
       ); 

       $token = $result['id']; 

       $charge = Stripe_Charge::create(array(
         "amount" => $data_input['amount']*100, 
         "currency" => "usd", 
         "card" => $token, 
         "description" => "Charge for [email protected]" 
       )); 
+0

Я нашел ответ на этот вопрос Используя этот метод, вы не можете принудительно создавать пользователя, мы можем направить ключ создания, чтобы использовать шлюз оплаты полосы ... –

0

Вы можете проверить свои документы , На этой странице они показывают, как получить маркер на разных языках (Java, PHP и так далее, и не только в JavaScript, как показано в их шаг за шагом руководство)

https://stripe.com/docs/api#token_object 
1

Обновление для полосы 3.12. 0

namespace Stripe; 

require_once('stripe-php-3.12.0/vendor/autoload.php'); 
require_once('stripe-php-3.12.0/lib/Stripe.php'); 


Stripe::setApiKey("yourAPIKey"); 

// Get the credit card details submitted by the form 

$status; 

if(isset($_POST['amount']) 
{ 
    $amount = $_POST['amount'] * 100; 


$token = Token::create(
        array(
          "card" => array(
          "name" => $user['name'], 
          "number" => $user['card_number'], 
          "exp_month" => $user['month'], 
          "exp_year" => $user['year'], 
          "cvc" => $user['cvc_number'] 
         ) 
        ) 
       ); 


// Create the charge on Stripe's servers - this will charge the user's card 

try { 
    $charge = Charge::create(array(

    "amount" => $amount , // amount in cents, again 
    "currency" => "usd", 
    "source" => $token, 
    "description" => "Example charge" 
    ));} catch(Error\Card $e) { 

     $status = "error: " . $e; 

} catch(Error\Card $e) { 
    // The card has been declined 

    $status = "declined: " . $e; 
} 
} 
else 
{ 
    //echo "missing params"; 

    $status = "missing params"; 
}