2016-09-09 2 views
3

Привет, я видел код для оплаты полосы, как показано ниже. Сначала нужно создать объект клиентаПочему я должен создать объект клиента перед зарядкой в ​​полосе?

$customer = \Stripe\Customer::create(array(
      "card" => $token, 
      "description" => "Product Purchase for Book", 
      "email" => "[email protected]" 
)); 

Затем зарядить с помощью этого объекта клиента

\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. Можете использовать магазин и использовать этот объект клиента, чтобы зарядить этого пользователя в любое время, когда говорят о повторяющейся оплате?

Заранее спасибо

ответ

5

Есть несколько преимуществ для создания объекта клиента первый:

  1. Вы можете заряжать несколько элементов того же пользователя, обеспечивая тем самым вы и клиенту счетов история. Это ценно для вас как владельца магазина (например, предлагая сделки для повторных клиентов) и ценный для клиента, чтобы быстро подтянуть свою историю покупок.

  2. профилактики мошенничества

  3. тенденция и аналитика

  4. Как вы уже говорили, подписки

сноска: Я лично поддерживать свою собственную пользовательскую базу и обновлять как Stripe client object и мои пользовательские данные при совершении транзакции. Это позволяет мне расширять клиент Stripe своими собственными пользовательскими данными и запускать сложную аналитику для выявления тенденций.

+0

Благодаря @brandonscript для быстрого ответа. Но полоса обеспечивает концепцию ** plan ** для периодического платежа. Должен ли я использовать это или писать код, как задание cron, чтобы зарядить этого пользователя в конце периода, скажем, в конце месяца? – pkk

+2

Нет нет - ** определенно ** использование план. Просто создавая объект клиента при первой транзакции (одинарной или подписной), тогда гораздо проще взять одного и того же клиента и подписаться на план. Если вы не создаете клиента, вам необходимо провести все транзакции вместе как-то в другом месте. Зачем изобретать колесо? – brandonscript

+0

Итак, мы должны хранить токен в базе данных для последующего использования? – pkk