2013-12-02 6 views
2

Я ранее взимал с пользователей фиксированную сумму, скажем, «$ 20», но я хотел создать коробку для пожертвований, которая принимала бы переменные. Я понимаю, что есть «StripeCheckout.open», но кто-нибудь знает, как это будет выглядеть?Stripe Checkout - создать переменную плату

В настоящее время я использую приведенный ниже код, чтобы взимать с пользователя фиксированную сумму, хотя я в отчаянии, чтобы узнать, как установить переменную сумму, которая может быть списана.

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

$token = $_POST['stripeToken']; 

$customer = Stripe_Customer::create(array(
    'email' => '[email protected]', 
    'card' => $token 
)); 

$charge = Stripe_Charge::create(array(
    'customer' => $customer->id, 
    'amount' => variable, 
    'currency' => 'cad' 
)); 
?> 
+0

Хранить '$ variable' заранее, и использовать его в массив? Я не уверен, что именно вас смущает. –

+0

Эй, Амаль, я установил текстовое поле на моей веб-странице, чтобы пользователь мог указать сумму; однако, когда мой сервер извлекает информацию, он говорит «недопустимая сумма». Очень новичок в этом и не уверен, как настроить его там, где сервер найдет точную сумму, которую человек установил и зарядит на карточке. – user3055189

ответ

0

Хорошо, вы, вероятно, следует использовать V2 вместо V1, и то, что вы хотите сделать что-то вроде этого:

$('#sendPledgeBtn').click(function(){ 
     var token = function(res){ 
     var $input = $('<input type=hidden name=stripeToken />').val(res.id); 
     var tokenId = $input.val(); 
     var email = res.email; 

     setTimeout(function(){ 
      $.ajax({ 
      url:'make-payment.php', 
      cache: false, 
      data:{ email : email, token:tokenId }, 
      type:'POST' 
      }) 
      .done(function(data){ 
      // If Payment Success 
      $('#sendPledgeBtn').html('Thank You').addClass('disabled'); 
      }) 
      .error(function(){ 
      $('#sendPledgeBtn').html('Error, Unable to Process Payment').addClass('disabled'); 
      }); 
     },500); 

     $('form:first-child').append($input).submit(); 
     }; 

     StripeCheckout.open({ 
     key:   'pk_live_XXXXXXXXX', // Your Key 
     address:  false, 
     amount:  $('#amount').val(), 
     currency: 'usd', 
     name:  'Canted Pictures', 
     description: 'Donation', 
     panelLabel: 'Checkout', 
     token:  token 
     }); 
     return false; 
}); 
+0

Эй Тимоти! Я использую встроенную реализацию, а также пользовательскую форму, которую можно найти здесь: www.cantedpictures.com/donate/ Если вы знаете решение, и если это не проблема, отправьте пример, чтобы я мог возиться с этим на моем конце. Прошу прощения, если я не понимаю некоторых аспектов; Я очень, очень, очень новичок в этом. – user3055189

+0

Взгляните на это сейчас. BTW, один из ваших файлов jquery возвращает 404 (вы также, похоже, загружаете дубликат экземпляра). Сейчас я смотрю на ваш процесс, идущий назад от Stripe.createToken ($ form, stripeResponseHandler); –

+0

Благодарим вас за отзыв. Это было исчерпывающе, пытаясь собрать все вместе без опыта. Теперь нужно удалить дубликат. – user3055189

Смежные вопросы