首页 > 解决方案 > 按元数据字段查询产品的 SKU?

问题描述

是否可以通过查询来检索 Stripe 中产品的所有 SKU?

另外,我想查询具有元数据字段特定值的集合。

这可能吗?

语境

我正在处理同一产品作为同一产品的不同 SKU,但每个以独特的价格,我voucher_code输入了 SKU 元数据(也许它可以在描述中,但我还没有优化到那个点)。

我已经设置voucher_codemetadata一个产品的五个 sku 中的每一个,每个对应一个不同的凭证,并且希望从我的客户端 js 中找到具有给定voucher_code.

这样我就可以将正确的 sku 放在支付按钮上, .redirectToCheckout()该按钮指向我的应用程序已经知道用户输入的优惠券代码的适当 sku(优惠券在我的应用程序上处理,而不是在条纹上,但是,以使这项工作如前所述,我已将代码作为元数据添加到 sku)。

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

标签: phplaravelstripe-payments

解决方案


我起草了这个问题,但后来自己找到了解决方案,但由于它可能对其他人有用,我想我会发布解决方案。

在 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 放在支付按钮上,工作完成。


推荐阅读