【发布时间】:2021-03-31 13:24:24
【问题描述】:
我正在尝试创建一个解决方案,允许我将 Stripe 和 Discord 链接在一起,以便 Discord 机器人在用户停止支付订阅费用时自动踢出用户。我现在正在研究该框架,并尝试自学如何使用可用的免费选项来导航条带 API,以便于测试。我的第一个测试只是确保我可以将 Discord 用户名作为元数据存储在每个客户对象中,然后根据需要使用该元数据让 Discord 机器人运行 kick 命令。
但是,我似乎无法获取每个客户的元数据,以便可以将其作为字符串发送到 Discord 机器人。
对于我的测试,我为产品设置了一个简单的结帐会话,并通过扩展结帐会话成功访问了客户对象,但是在尝试访问元数据时出现错误
“无法将类型 'System.Collections.Generic.Dictionary
' 隐式转换为 'string”。
我认为我需要使用多级选项来扩展不同的对象,但我似乎得到了与上面相同的错误。我已经把代码sn-p贴在下面了。
var options = new SessionGetOptions();
options.AddExpand("customer");
var service = new SessionService();
Session session = service.Get("checkout_session_id", options);
Customer customer = session.Customer;
string customer2 = customer.Metadata;
我可能遗漏了一些简单的东西,但我终生无法弄清楚它是什么。
【问题讨论】:
-
错误本身说明了问题所在。条带中的元数据是
Dictionary<string, string>类型,而您正试图分配给string变量。修复string customer2 = customer.Metadata;行并通过key从 c#Dictionary读取必要的元数据值 -
谢谢,我知道这很简单。
标签: c# stripe-payments