我有以下PHP代码块,它使用令牌生成一个新的Stripe客户,因为我不想处理我服务器上的卡详细信息
$stripe_customer = \Stripe\Customer::create(array(
'source' => $token,
'description' => $displayname,
'metadata' => array('BHAA_ID'=>$bhaa_id),
'email' => $email
)
);
$stripe_customer_id=$stripe_customer->id;
然后我尝试使用这些电话注册该卡
$customer = \Stripe\Customer::retrieve($stripe_customer_id);
$card = $customer->sources->create(array("source" => $token));
最后一步是使用客户ID
对创建的客户收费// https://stripe.com/docs/api?lang=php#create_charge
$charge = \Stripe\Charge::create(array(
'amount' => $amount*100,
'currency' => 'eur',
'customer' => $stripe_customer->id,
'description' => $booking_description,
'metadata' => array("booking_id" => $booking_id, "event_name" => $booking_description),
'statement_descriptor' => "abc",
'receipt_email' => get_userdata($user_id)->user_email
));
这是有效的,但我最近更新到条带PHP API的3.5.0版本。我现在收到此错误
Booking could not be created:
Connection error:: "Cannot charge a customer that has no active card"
从我能说的,现在看来我必须向客户注册一张卡,但我找不到任何这方面的例子。
任何建议都将不胜感激。
编辑 - 添加条带仪表板详细信息
从条带仪表板中,我可以看到我的客户已注册。这是在响应日志中
id: cus_7Xq5jNrrLfv73U
object: "customer"
account_balance: 0
created: 1450292050
currency: null
default_source: null
delinquent: false
description: "Web Master"
这是“注册卡”请求的屏幕截图。我可以看到URL中存在'customer id',但source参数不作为查询参数或在帖子正文中出现。