我如何使用 Stripe php 对卡 ID 或客户 ID 收费?

Has*_*hid 3 php stripe-payments

我将卡信息存储在数据库中,例如客户第一次付款时的卡 ID card_*****和客户 ID cus_****,以备后用。用户选择他的卡,例如以单选按钮的形式,visa****4242并使用卡 ID 或客户 ID 收费。现在我正在使用条纹模式框进行付款。每次付款都会创建新客户和卡 ID。我如何在第二次付款时使用卡 ID 或客户 ID 收费?这是我的条纹代码

$customer =Stripe_Customer::create(array(
'email' => $_SESSION['userEmail'],));
$charge = Stripe_Charge::create(array(       
"amount" => $amount_cents,"currency" => "usd","source" => 
$_POST['stripeToken'],"description" => $description,      
));
Run Code Online (Sandbox Code Playgroud)

可能这个问题可能重复。但我找不到最佳答案。

小智 8

创建客户后,您可以通过以下方式向他们的默认卡收费:

\Stripe\Charge::create(array(
  "amount" => $amount_cents,
  "currency" => "usd",
  "customer" => $customer
));
Run Code Online (Sandbox Code Playgroud)

如果客户有多张卡,并且您想对一张不是默认卡的卡收费,则必须传入客户和卡 ID(当卡已保存给客户时):

\Stripe\Charge::create(array(
  "amount" => $amount_cents,
  "currency" => "usd",
  "customer" => $customer,
  "source" => $card_id
));
Run Code Online (Sandbox Code Playgroud)

您可以在 Stripe 的 API 文档中阅读更多相关信息:

https://stripe.com/docs/api/php#create_charge-source