自适应卡:付款请求

时间:2019-02-25 15:16:46

标签: botframework adaptive-cards payment-request-api

我目前正在一个机器人项目中,尝试使用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中没有一些参数时,单击按钮也应该给我一些东西。

1 个答案:

答案 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