Omnipay 令牌计费不适用于 stripe
Omnipay token billing not working with stripe
我在 laravel 中使用 omnipay 的 ignited/laravel-omnipay 包。
我正在尝试使用 stripe 实现令牌计费,如此处所示 https://github.com/thephpleague/omnipay#token-billing。
在 stripe 上成功创建了客户,但我无法使用返回的客户 ID 进行付款。
这是我的代码
$token = Input::get('stripetoken');
$gateway = Omnipay::create('Stripe');
$gateway->setApiKey('My Key');
$gateway->setTestMode(true);
$cardresponse = $gateway->createCard(array('token' =>$token))->send();
if ($cardresponse->isSuccessful()) {
$card_id = $cardresponse->getCardReference();
$data = $cardresponse->getData();
$customerid = $data['id'];
$cardid = $data['default_source'];
}
$paymentresponse = $gateway->purchase(array('amount' => '10.00','currency' => 'USD', 'cardReference' => $card_id))->send();
echo $paymentresponse->getMessage();
我收到以下回复。
No such token: cus_8FwPaLNKdWcfRW
当我检查我的条纹仪表板时,发现具有此 ID 的客户存在并且分配了一张卡。
感谢您的帮助。
由于您正在创建客户对象,因此您需要更新 charge creation request 以在 customer
参数而不是 source
参数中传递客户 ID(这会导致您看到的错误)。
我不熟悉 Omnipay,但我认为这应该可行:
$paymentresponse = $gateway->purchase(array('amount' => '10.00','currency' => 'USD', 'customerReference' => $card_id))->send();
我在 laravel 中使用 omnipay 的 ignited/laravel-omnipay 包。 我正在尝试使用 stripe 实现令牌计费,如此处所示 https://github.com/thephpleague/omnipay#token-billing。 在 stripe 上成功创建了客户,但我无法使用返回的客户 ID 进行付款。
这是我的代码
$token = Input::get('stripetoken');
$gateway = Omnipay::create('Stripe');
$gateway->setApiKey('My Key');
$gateway->setTestMode(true);
$cardresponse = $gateway->createCard(array('token' =>$token))->send();
if ($cardresponse->isSuccessful()) {
$card_id = $cardresponse->getCardReference();
$data = $cardresponse->getData();
$customerid = $data['id'];
$cardid = $data['default_source'];
}
$paymentresponse = $gateway->purchase(array('amount' => '10.00','currency' => 'USD', 'cardReference' => $card_id))->send();
echo $paymentresponse->getMessage();
我收到以下回复。
No such token: cus_8FwPaLNKdWcfRW
当我检查我的条纹仪表板时,发现具有此 ID 的客户存在并且分配了一张卡。 感谢您的帮助。
由于您正在创建客户对象,因此您需要更新 charge creation request 以在 customer
参数而不是 source
参数中传递客户 ID(这会导致您看到的错误)。
我不熟悉 Omnipay,但我认为这应该可行:
$paymentresponse = $gateway->purchase(array('amount' => '10.00','currency' => 'USD', 'customerReference' => $card_id))->send();