Stripe API 更新订阅发票草稿 (PHP)
Stripe API Update DRAFT invoice for subscription (PHP)
我正在使用 PHP 并使用 invoice.created
生成了一个 webhook。创建发票后,Stripe 让发票草稿在那里放置大约一个小时,这让我们有时间编辑或调整发票。我利用这段时间检查数据库(通过 webhook),看看这个人在系统中有多少转介来相应地调整优惠券。我似乎无法正确调整发票,因为我尝试过的所有方法都出现错误,这些方法是:
$inv = {发票 ID,我没有从发票 ID 错误中得到任何错误
define('STRIPE_API_KEY', 'sk_test_******************');
$stripe = new \Stripe\StripeClient(
STRIPE_API_KEY
);
$stripe->invoices->update(
$inv,
['discounts.coupon' => '20OFF']
);
错误是未知对象discounts.coupon
和
$stripe->invoices->update(
$inv,
['discount' => '20OFF']
);
Error = Fatal error: Uncaught (Status 400) (Request req_hsX1QTOxzWMiQn) Received unknown parameter: discount. Did you mean discounts? thrown in /home/searchoscn/public_html/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38
和
$stripe->invoices->update(
$inv,
['coupon' => '20OFF']
);
ERROR = Fatal error: Uncaught (Status 400) (Request req_yEwwOLoukR6j6Z) Received unknown parameter: coupon thrown in /home/searchoscn/public_html/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38
$stripe->invoices->update(
$inv,
['discounts' => ['coupon' => '20OFF']]
);
Fatal error: Uncaught (Status 400) (Request req_IDRP1Rjv1YoBZR) Invalid array thrown in /home/searchoscn/public_html/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38
我很确定我需要使用 'discounts' 但不知道如何构建数组以正确传递优惠券。
正在尝试预测一些问题或评论:
是的,我有一张 ID 为 20OFF 的现有优惠券。这是 20% 的折扣
$inv 在发送 webhook 时确实获取了正确的发票 ID。
这是我一直在阅读的the link of the API documentation,但不是很有用。
而不是:
$stripe->invoices->update(
$inv,
['discounts.coupon' => '20OFF']
);
尝试:
$stripe->invoices->update(
$inv,
['discounts' => ['coupon' => $couponId]]
);
看起来它必须是优惠券的 ID,而不是面向客户的代码,例如20OFF
.
您可以从仪表板 (https://dashboard.stripe.com/coupons/) 或通过发出另一个 api 请求来获取优惠券的 ID。
是
$stripe->invoices->update(
$inv,
[
'discounts' => [
['coupon' => '20OFF']
]
]
);
例如,它是一个数组,然后包含对象(在 PHP 中,它们都是方括号)并且对象指的是优惠券。
我正在使用 PHP 并使用 invoice.created
生成了一个 webhook。创建发票后,Stripe 让发票草稿在那里放置大约一个小时,这让我们有时间编辑或调整发票。我利用这段时间检查数据库(通过 webhook),看看这个人在系统中有多少转介来相应地调整优惠券。我似乎无法正确调整发票,因为我尝试过的所有方法都出现错误,这些方法是:
$inv = {发票 ID,我没有从发票 ID 错误中得到任何错误
define('STRIPE_API_KEY', 'sk_test_******************');
$stripe = new \Stripe\StripeClient(
STRIPE_API_KEY
);
$stripe->invoices->update(
$inv,
['discounts.coupon' => '20OFF']
);
错误是未知对象discounts.coupon
和
$stripe->invoices->update(
$inv,
['discount' => '20OFF']
);
Error = Fatal error: Uncaught (Status 400) (Request req_hsX1QTOxzWMiQn) Received unknown parameter: discount. Did you mean discounts? thrown in /home/searchoscn/public_html/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38
和
$stripe->invoices->update(
$inv,
['coupon' => '20OFF']
);
ERROR = Fatal error: Uncaught (Status 400) (Request req_yEwwOLoukR6j6Z) Received unknown parameter: coupon thrown in /home/searchoscn/public_html/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38
$stripe->invoices->update(
$inv,
['discounts' => ['coupon' => '20OFF']]
);
Fatal error: Uncaught (Status 400) (Request req_IDRP1Rjv1YoBZR) Invalid array thrown in /home/searchoscn/public_html/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38
我很确定我需要使用 'discounts' 但不知道如何构建数组以正确传递优惠券。
正在尝试预测一些问题或评论:
是的,我有一张 ID 为 20OFF 的现有优惠券。这是 20% 的折扣
$inv 在发送 webhook 时确实获取了正确的发票 ID。
这是我一直在阅读的the link of the API documentation,但不是很有用。
而不是:
$stripe->invoices->update(
$inv,
['discounts.coupon' => '20OFF']
);
尝试:
$stripe->invoices->update(
$inv,
['discounts' => ['coupon' => $couponId]]
);
看起来它必须是优惠券的 ID,而不是面向客户的代码,例如20OFF
.
您可以从仪表板 (https://dashboard.stripe.com/coupons/) 或通过发出另一个 api 请求来获取优惠券的 ID。
是
$stripe->invoices->update(
$inv,
[
'discounts' => [
['coupon' => '20OFF']
]
]
);
例如,它是一个数组,然后包含对象(在 PHP 中,它们都是方括号)并且对象指的是优惠券。