我的代码创建并加载Stripe Checkout,客户输入名称和卡片详细信息,然后返回到收到令牌并用于创建Stripe客户的PHP脚本,然后发送购买请求以向其卡收费 .
如何尽可能使用相同的卡和omnipay库最好地添加订阅?我是否使用令牌或从购买对象中获取源ID并使用它,并在购买后创建订阅?
在类中,在下面的代码中调用createSubscription会出现错误“此客户没有附加付款来源” .
public function createSubscription($token,$customer_id,$plan,$source_id)
{
try {
$response = $this->gateway->createSubscription(
array(
'customerReference' => $customer_id,
'plan' => $plan,
'source' => $token
)
)->send();
if ($response->isSuccessful()) {
$data = $response->getData();
return $data;
}
} catch (Exception $e) {
$message = "Error creating Stripe subscription: " . $e->getMessage();
return;
}
}
1 回答
我成功创建了使用令牌附加卡片详细信息的客户,然后使用'plan'和'customerReference'参数创建订阅,并最终使用customerReference对卡进行充电(为了清楚起见,省略了成功检查和错误检查) :