我目前正在一个机器人项目中,尝试使用Microsoft自适应卡尝试向用户发送PaymentRequest。我创建了一个虚拟的付款请求对象,并将其插入到Hero卡中,如文档所述。
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\":{}}"
}
],
我找不到任何有关如何正确执行此操作的文档,但似乎并未说该文档已弃用。如果有帮助,我正在使用Bot Framework v3。我觉得即使在PaymentRequest中没有一些参数时,单击按钮也应该给我一些东西。
答案 0 :(得分:0)
如本文档所述:bot-builder-dotnet-request-payment要使用Bot Builder付款库,您必须首先:
Create and activate a Stripe account if you don't have one already.
Sign in to Seller Center with your Microsoft account.
在卖方中心内,将您的帐户与Stripe连接。
在卖方中心内,导航至仪表板并复制以下值: 商家ID。
更新您的机器人的Web.config文件,将MerchantId设置为 您是从卖方中心仪表板复制的。
目前,Bot Framework SDK仅直接支持Stripe付款。如果您使用其他提供程序,则需要手动添加对它的支持。
也请注意:自2019年2月25日起,Bot Builder V4 sdk不内置付款支持。BotBuilder V3 sdk具备:https://github.com/Microsoft/BotBuilder-Samples/tree/v3-sdk-samples/CSharp/sample-payments(此外,Bot Framework Emulator V4尚不支持付款: https://github.com/Microsoft/BotFramework-Emulator/issues/1324 V3模拟器可从此处下载:https://github.com/Microsoft/BotFramework-Emulator/releases/tag/v3.5.37)