[英]Stripe API - Search Based on Metadata
我有一個與 Stripe 深度集成的應用程序。 我的平台偶爾會向連接的帳戶收費,並且我將有關這些收費的信息存儲在收費本身的元數據中。
我想將此信息顯示回連接的帳戶,因此我使用收費服務列出收費。 但是,我想根據一些元數據鍵/值對過濾該列表,這樣我就不必每次都為每個連接的帳戶列出所有費用。
有沒有聰明的方法來做到這一點?
不支持基於元數據的過濾。
由於您是跨關聯帳戶執行此操作,因此更好的方法是將費用 ID 和元數據存儲在您的終端上,這樣您就不必列出費用並進行分頁查找特定的元數據。
我能夠使用 ChargeCreateOptions object 的“TransferGroup”屬性來完成此操作。 我基本上將 TransferGroup 屬性設置為每個連接帳戶的唯一值,然后我可以稍后查詢。
創造電荷
//THERE IS NO ID IN THE REQUEST OPTIONS BECAUSE
//WE ARE USING THE PLATFORM
var requestOptions = new RequestOptions()
{
ApiKey = {API Key}
};
//CHARGE OPTIONS
var chargeOptions = new ChargeCreateOptions
{
Amount = {AMOUNT},
Currency = "usd",
Description = $"Platform Charge",
SourceId = {StripeId},
Metadata = {MetaData},
TransferGroup = {Unique String For Each Connected Account}
};
//CREAT AND RETURN THE CHARGE
var chargeService = new ChargeService();
return chargeService.Create(chargeOptions, requestOptions);
查詢基於轉移組的平台收費
public List<Charge> StripePlatformCharges(string apiKey, int days, string transferGroup)
{
try
{
RequestOptions requestOptions = new RequestOptions()
{
ApiKey = apiKey
};
ChargeListOptions chargeListOptions = new ChargeListOptions()
{
CreatedRange = new DateRangeOptions()
{
GreaterThanOrEqual = DateTime.Now.AddDays(-days)
},
TransferGroup = transferGroup
};
ChargeService chargeService = new ChargeService();
return chargeService.List(chargeListOptions, requestOptions).ToList();
}
catch (Exception ex)
{
throw new Exception("Error getting stripe charges from the platform", ex);
}
}
Stripe 最近發布了一個搜索 API,它提供按元數據過濾某些資源(包括費用)的功能。 文檔位於https://stripe.com/docs/search
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.