我试图在我的网站上整合Stripe付款。
我无法理解如何知道付款是否成功。
这是我的代码:
\Stripe\Stripe::setApiKey("my_secret_key");
// Token is created using Checkout or Elements!
// Get the payment token ID submitted by the form:
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create([
'amount' => 50,
'currency' => 'eur',
'description' => 'My product name',
'source' => $token,
]);
现在,我可以假设$ charge可能包含错误或成功的代码,但我不知道它是否属实。
由于
答案 0 :(得分:1)
https://stripe.com/docs/api#create_charge
如果Stripe已成功收到费用,您可以看到回复。
如果出现某种网络错误或失败,Stripe SDK会抛出异常(https://stripe.com/docs/api#error_handling)
在回复中还有一些需要注意的事项。
captured
是Stripe是否已收取费用。在某些情况下,您可以告诉Stripe检查付款是否可以,但不要付款。在这种情况下,捕获将是错误的。
failure_code
和outcome
字段会为您提供有关是否成功收费的额外信息。
答案 1 :(得分:1)
菲尔·克罗斯大多是正确的,除了你们还想捕捉错误以确定指控是否成功。
如果被拒绝,它会抛出一个\ Stripe \ CardError,其中包含原因;如果它没有抛出错误,那意味着它成功了。