如何使用Stripe和PHP防止重复收费?
最近我用Stripe收到了重复付款 他们告诉我使用幂等请求 我做了一些测试,例如,如果我尝试刷新浏览器,我会看到错误消息 但我不知道如何在出错的情况下采取“下一步” 我的意思是,如果我的客户进行了支付,并且出现了网络问题,如何使用Stripe重试并继续该过程,或者如何显示错误消息并返回到支付页面 我现在的代码:如何使用Stripe和PHP防止重复收费?,php,stripe-payments,Php,Stripe Payments,最近我用Stripe收到了重复付款 他们告诉我使用幂等请求 我做了一些测试,例如,如果我尝试刷新浏览器,我会看到错误消息 但我不知道如何在出错的情况下采取“下一步” 我的意思是,如果我的客户进行了支付,并且出现了网络问题,如何使用Stripe重试并继续该过程,或者如何显示错误消息并返回到支付页面 我现在的代码: \Stripe\Stripe::setApiKey("xxxxxx"); $charge = \Stripe\Charge::create([ 'customer' =&
\Stripe\Stripe::setApiKey("xxxxxx");
$charge = \Stripe\Charge::create([
'customer' => $customer->id,
'amount' => $total_payment,
'currency' => $currency,
'description' => $description
], ["idempotency_key" => $idempotency,]);
$chargeJson = $charge->jsonSerialize();
$status = $chargeJson['status'];
if($status=="succeeded") {...
谢谢您的帮助,如果您能给我一些信息,然后它将帮助我改进我的代码^^ ^它们的关键是使用完全相同的幂等键重试。如果出现故障,通常会有工具重试相同的代码。背景工作尤其如此。您可能希望在可以重试的后台作业中执行这些条带API调用。另一件要尝试的事情是在stripe php中配置自动重试:cjav_dev:谢谢,所以如果我理解得很好,我会保留相同的幂等键,如果失败,我可以进行自动重试,以完成一次付款?这就是想法,是的。他们的关键是使用完全相同的幂等键重试。如果出现故障,通常会有工具重试相同的代码。背景工作尤其如此。您可能希望在可以重试的后台作业中执行这些条带API调用。另一件要尝试的事情是在stripe php中配置自动重试:cjav_dev:谢谢,所以如果我理解得很好,我会保留相同的幂等键,如果失败,我可以进行自动重试,以完成单个付款?这就是想法,是的。