为什么我要在条带充电之前创建客户对象?

时间:2016-09-09 05:24:35

标签: php stripe-payments

您好,我已经看到了条纹支付的代码如下。首先创建一个客户对象

$customer = \Stripe\Customer::create(array(
          "card" => $token,
          "description" => "Product Purchase for Book",
          "email" => "someone@example.com"
 ));

然后使用该客户对象充电

  \Stripe\Charge::create(array(
         "amount" => $amount, # amount in cents, again
         "currency" => 'usd',
         "customer" => $customer->id)
   );

但下面是可用于直接向用户收费而无需创建任何客户对象的代码。

\Stripe\Charge::create(array(
       "amount" => 3000,
       "currency" => "eur",
       "card" => $_POST['stripeToken'],
       "description" => $_POST['email'],
       "metadata" => array("order_id" => "6735", "userid" => '1111')
));

那么请你在下面解释一下

  1. 哪一个更好?
  2. 创建客户对象有什么好处?
  3. 可以使用商店并使用该客户对象随时向该用户收取定期付款吗?
  4. 提前致谢

1 个答案:

答案 0 :(得分:6)

首先创建客户对象有几个好处:

  1. 您可以向同一个用户收取多个项目,从而为您和客户提供结算历史记录。这对您作为商店所有者(例如向重复客户提供交易)以及对客户有价值以快速提取他们的购买历史非常有价值。

  2. 欺诈预防

  3. 趋势与分析

  4. 如您所说,订阅

  5. 脚注:我个人维护自己的用户群,并在发生交易时更新Stripe客户对象和我的用户数据。这使我可以使用自己的自定义数据扩展Stripe客户,并运行复杂的分析来发现趋势。