通过元数据字段查询产品的SKU?

时间:2019-09-15 10:19:50

标签: php laravel stripe-payments

是否可以执行查询以检索Stripe产品的所有SKU?

此外,我想查询该设置是否具有元数据字段的特定值。

这可能吗?

  

上下文

     

我正在处理同一产品的优惠券代码(我自己的应用执行这些操作,而不是条带化;条带化的“优惠券”仅用于订阅,我在这里做的是一笔过的付款),用于同一产品的不同SKU ,但是每个都有唯一的价格,因此我在SKU元数据中放入了voucher_code(也许可以在描述中使用,但我还没有对此进行优化)。

     

我在voucher_code中将metadata设置为一个   产品,每个产品对应于不同的凭单,并且希望从我的客户js中找到具有给定voucher_code的sku。

     

这是为了让我可以使用   .redirectToCheckout()指向适用于   我的应用程序已经知道用户输入了凭证代码(凭证   为了在我的应用程序上处理,而不是在条带上处理   如前所述,将代码作为元数据添加到sku。

如果有兴趣,我目前正在使用Stripe PHP。

1 个答案:

答案 0 :(得分:0)

我起草了这个问题,但是我自己找到了解决方案,但是由于它可能对其他人有用,所以我认为我应该发布解决方案。

在laravel中使用stripe php,我为此得到了一些非常优雅的代码 (您当然可以使用javascript在客户端上执行相同的操作,我只是选择在此处在服务器上执行此操作)。

\Stripe\Stripe::setApiKey(config('services.stripe.secret'));

$sku = collect(\Stripe\SKU::all()->data)->first(function($sku) use ($code) {
    return $sku->metadata['voucher_code'] === $code;
});

然后我的php控制器将$sku传递到视图,该视图执行$sku->id将正确的SKU放在付款按钮上,完成工作。