我目前正在开发一个机器人项目,我正在尝试利用 Microsoft 自适应卡尝试向用户发送 PaymentRequest。我创建了一个虚拟的 paymentrequest 对象并将其插入到英雄卡中,如文档所述。
var methodList = new List<PaymentMethodData>();
var method = new PaymentMethodData()
{Data = new {supportedNetworks = new[] { "visa", "mastercard", "amex", "discover", "diners", "jcb", "unionpay"} }, SupportedMethods = new[] { "https://bobpay.xyz/pay" } };
methodList.Add(method);
var details = new PaymentDetails {};
var test = new PaymentRequest(null, methodList, details);
var heroCard = new HeroCard
{
Title = "Bob",
Subtitle = "The Builder",
Text = "Kunnen wij het maken!",
Images = new List<CardImage>
{
new CardImage
{
Url = "https://m.media-amazon.com/images/M/MV5BNjRlYjgwMWMtNDFmMy00OWQ0LWFhMTMtNWE3MTU4ZjQ3MjgyXkEyXkFqcGdeQXVyNzU1NzE3NTg@._V1_CR0,45,480,270_AL_UX477_CR0,0,477,268_AL_.jpg"
}
},
Buttons = new List<CardAction>
{
new CardAction
{
Title = "Buy",
Type = PaymentRequest.PaymentActionType,
Value = test,
}
}
};
replyMessage.Attachments.Add(heroCard.ToAttachment());
await context.PostAsync(replyMessage);
我从 PaymentRequest 构造函数中取出了一堆参数,因为我正在尝试尝试获得某种反馈。有了这个,我什么都没有回来,但这个 url 当我尝试运行它时崩溃了浏览器。
"content": {
"buttons": [
{
"title": "Buy",
"type": "openUrl",
"value": "payment://{\"methodData\":[{\"supportedMethods\":[\"https://bobpay.xyz/pay\"],\"data\":{}}],\"details\":{}}"
}
],
我找不到任何关于如何正确执行此操作的文档,但似乎并没有说它在文档中已被弃用。如果有帮助,我正在使用机器人框架 v3。我觉得即使 PaymentRequest 中没有一些参数,当我单击按钮时它仍然应该给我一些东西。