条纹创建帐户并向卡收费

时间:2018-07-19 14:17:49

标签: php database stripe-payments credit-card stripe-connect

尝试与Stripe一起创建帐户,为卡充值并注册将在15-30天后开始的订阅。

我想做的是:

1)预先收集使用信息(电子邮件,地址,名字/姓氏,卡信息等),这些信息将被添加到条带和我的数据库中。

2)进行初始费用(而非订阅费用),如果通过将在笔杆和我的数据库上都创建帐户。

3)确保我的数据库中有针对客户的Stipe信息,以便以后收取cade费用。还没有决定我是否要按月收取费用,还是让Stripe这样做。

4)如果订阅付款终止(由于不良的信用卡月费或其他原因),请限制该人登录时看到的内容。这就是为什么我当时想进行一次cron运行,如果标记为需要付款,请进行有限的查看。

首先感谢您的帮助和建议!

1 个答案:

答案 0 :(得分:0)

显然,我冒犯了几个人。我也忘了提到我试图用AJAX做到这一点,这是我试图解决的主要问题。

我实际上找到了一些相关的链接,最后,这似乎已经为我指明了我所寻找的正确方向。主要是我想要的。

以下是到目前为止对我有帮助的链接。希望他们能帮助任何寻找相同事物的人。

https://youtu.be/EildM6OMcoQ

不知道为什么这个最终出现在我的搜索中?猜猜我的搜索没有正确进行...

Make a Stripe payment with Jquery AJAX? (Javascript ONLY)

还有一个或两个链接,但是我必须找到它们。找到它们后,我将添加它们。...

这是我的测试脚本,主要用于检查是否通过令牌... 将需要了解使其与STRIPE一起使用 V3 API ...

Form.php

   <?php session_start(); ?>
   <!DOCTYPE html>
   <html lang="en">
   <head>
   <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
   <title>Stripe Getting Started Form</title>

   <!-- The required Stripe lib -->
   <script type="text/javascript" src="https://js.stripe.com/v2/"></script>

   <!-- jQuery is used only for this example; it isn't required to use Stripe -->
   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

   <script type="text/javascript">
   // This identifies your website in the createToken call below
   Stripe.setPublishableKey('__YOUR__PUBLIC__HERE__);

   var stripeResponseHandler = function(status, response) {
   var $form = $('#payment-form');

   if (response.error) {
   // Show the errors on the form
   $form.find('.payment-errors').text(response.error.message);
   $form.find('button').prop('disabled', false);
   } else {
   // token contains id, last4, and card type
   var token = response.id;
   // Insert the token into the form so it gets submitted to the server
   $form.append($('<input type="hidden" name="stripeToken" />').val(token));
   // and re-submit
   //$form.get(0).submit();

   // Serialize the form
   var data=$('#payment-form').serialize(); 

   // Send form to server with POST method
   $(function() {
       $.ajax({
           type: "POST",
           url: "./testphp.php",
           data: data,
           success: function(returndata){
               $form.find('button').prop('disabled', false);
               $('.payment-errors').text(returndata);
           }
       });
   });

   // Prevent page from refreshing
   return false;

   }
   };

   // ONCLICK RESPONSE 
   jQuery(function($) {
   $('#thebutton').on('click', function(e) {
       var $form = $('#payment-form');

       // Disable the submit button to prevent repeated clicks
       $form.find('button').prop('disabled', true);

       Stripe.card.createToken($form, stripeResponseHandler);

       // Prevent the form from submitting with the default action
       return false;
       });
   });
   </script>

   </head>
   <body>

   <?php 
   //$_SESSION['token'] = "12345";
   echo $_SESSION['token']; // will only show if page is reloaded
                            // will not be the same as new token
                            // used to check against after submit
   ?>

   <h1>Charge $10 with Stripe</h1>

   <form action="" method="POST" id="payment-form">
   <span class="payment-errors"></span>

   <div class="form-row">
   <label>
   <span>Card Number</span>

   <input type="text" size="20" data-stripe="number" value="424242424242424"/>

   </label>
   </div>

   <div class="form-row">
   <label>
   <span>CVC</span>
   <input type="text" size="4" data-stripe="cvc" value="424" />
   </label>
   </div>

   <div class="form-row">
   <label>
   <span>Expiration (MM/YYYY)</span>
   <input type="text" size="2" data-stripe="exp-month" value="01"/>
   </label>
   <span> / </span>
   <input type="text" size="4" data-stripe="exp-year" value="2019"/>
   </div>

   <button type="submit" id="thebutton">Submit Payment</button>
   </form>
   </body>
   </html>

testphp.php

<?php
    // Start the session
    session_start();

    // Store the received token string in a session variable
    if($_POST){
        $_SESSION['token']=$_POST['stripeToken'];
    }
    echo $_POST['stripeToken'];
    echo "\n";
    print_r($_SESSION);
?>

我还有很多其他事情要做,但这主要是我在寻找建议的方向。