条纹收取现有客户

时间:2017-01-09 21:22:27

标签: stripe-payments

我正在使用embed stripe.js

表单完成后,表单会重定向到:www.mydomain.com/doc-whatever/?action=payment

此url param触发服务器端代码。缩写伪代码:

$token  = $_POST['stripeToken'];

//check if customer ID exists in the DB.
//returns the stripe customer id of client attached to the document. 
//May or may not be logged in.
$customers_stripe_id = get_customer_stripe_id()

if ( ! $customers_stripe_id ) {

  $customer = \Stripe\Customer::create(array(
   'email' => 'customer@example.com',
   'source'  => $token
  ));

  $customers_stripe_id = $customer_id;

}

$charge = \Stripe\Charge::create(array(
   'customer' => $customers_stripe_id,
   'amount'   => 5000,
   'currency' => 'usd'
 ));

这很好用,但这里存在明显的安全问题。可以直接导航到www.mydomain.com/doc-whatever/?action=payment,如果数据库中存储了条形客户ID,则会向卡客户收费。

1 个答案:

答案 0 :(得分:1)

您的服务器端代码应该被授权,因此,例如,只有登录的客户本人或管理员才能触发该操作。