2017-08-09 34 views
1

我有这样的信用卡将在客户最初迹象了添加信用卡现有用户

// CREDIT CARD CODE (STRIPE) 

$q_get_user = "select * from users where `id` = '$user_id' "; 
$r_get_user = mysqli_query($conn,$q_get_user); 
$get_user = mysqli_fetch_assoc($r_get_user); 


if(1) { 
    \Stripe\Stripe::setApiKey("sk_live_9N676756776"); 


    try { 

     $t = \Stripe\Token::create(
       array(
         "card" => array(
           "name" => $get_user['first_name']." ".$get_user['last_name'], 
           "number" => $credit_num, 
           "exp_month" => $credit_month, 
           "exp_year" => $credit_year, 
           "cvc" => $credit_ccv 
         ) 
       ) 
     ); 

     if($t->id != '') { 
      try { 
       $c = \Stripe\Customer::create(array(
         "description" => "Customer for ".$get_user['email'], 
         "source" => $t->id) 
       ); 
       if($c->id != '') { 
        $stripe_token_response = mysqli_real_escape_string($conn, json_encode($t)); 
        $stripe_token_id = mysqli_real_escape_string($conn, $t->id); 
        $stripe_customer_response = mysqli_real_escape_string($conn, json_encode($c)); 
        $stripe_customer_id = mysqli_real_escape_string($conn, $c->id); 
        $stripe_card_id = mysqli_real_escape_string($conn, $c->default_source); 
       } 

      } catch (Exception $e) { 
       //print_r($e->getMessage()); 
       header('Location: /credits?error=cc&message='.urlencode($e->getMessage()));die; 
      } 
     } 

    } catch (Exception $e) { 
     //print_r($e->getMessage()); 
     header('Location: /credits?error=cc&message='.urlencode($e->getMessage()));die; 

    } 



} 

// END - CREDIT CARD CODE (STRIPE) 

我怎样才能使之成为一个新客户的内部为它添加到现有的客户?因此,客户正在添加新卡(他们将拥有多个卡)

回答

1

您正在通过API直接发送卡详细信息,这可能不是您想要执行的操作。这意味着你的服务器上的卡号有一些serious PCI compliance implications。我强烈建议您修改您的集成,以便首先通过使用Stripe.jsStripe Checkout客户端将卡详细信息直接发送到Stripe并获取一个唯一的卡令牌(tok_XXX),然后您可以安全地发送到您的服务器创建客户或添加为卡。

你可以找到'卡更新'过程的描述here;你需要的唯一的区别是,而不是这样做是为了更换卡:

$cu->source = $_POST['stripeToken']; // obtained with Checkout 

你想do this添加一个新的:

$customer->sources->create(array("source" => $t->id)); 
相关问题