作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一个案例,我需要取消客户订阅并退还相同的金额。
我可以使用取消订阅
$sub = \Stripe\Subscription::retrieve({SUBSCRIPTION_ID});
$sub->cancel();
$refund = \Stripe\Refund::create(array(
"charge" => "{CHARGE_ID}"
));
CHARGE_ID
是强制性的。没有像
SUBSCRIPTION_ID
这样的选项.
CHARGE_ID
.那么我该如何退还订阅金额??
最佳答案
@Meera,我看到你解决了你的问题,我的解决方案是:
1. 一旦您取消订阅
2. 使用 Subscription 中的 subscriptionId 获取所有 Invoice Collection
3. 从 Invoice Collection 中拉取第一个 Invoice
4. 使用 Invoice 中的 chargeId 创建 Refund
$subscriptionId = $objSubscription->id;
$objInvoiceCollection = \Stripe\Invoice::all([
'subscription' => $subscriptionId
]);
if ($objInvoiceCollection->total_count === 0) {
throw new \Exception("warning: \$subscriptionId={$subscriptionId} - no invoices found!");
} else {
$objInvoice = current($objInvoiceCollection);
}
$chargeId = $objInvoice->charge;
$objRefund = \Stripe\Refund::create(['charge' => $chargeId]);
关于php - 如何退还 Stripe 订阅费用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45862261/
我是一名优秀的程序员,十分优秀!