【问题标题】:Adaptive Cards: Payment Request自适应卡:付款请求
【发布时间】:2019-02-25 15:16:45
【问题描述】:

我目前正在开发一个机器人项目,我正在尝试利用 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 中没有一些参数,当我点击按钮时它仍然应该给我一些东西。

【问题讨论】:

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


    【解决方案1】:

    如本文档所述:bot-builder-dotnet-request-payment 要使用 Bot Builder Payments 库,您必须首先:

    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 不支持内置支付。Bot Builder V3 sdk 支持:https://github.com/Microsoft/BotBuilder-Samples/tree/v3-sdk-samples/CSharp/sample-payments(此外,Bot Framework Emulator V4 尚不支持支付:@987654325 @ V3模拟器可以从这里下载:https://github.com/Microsoft/BotFramework-Emulator/releases/tag/v3.5.37)

    【讨论】:

    • 谢谢,我不明白为什么文档中的所有链接都被破坏了。我猜我不去查看示例回购的其他分支是愚蠢的。
    • 从 Bot Builder V3 到 V4 的迁移对文档链接造成了一些严重破坏。希望我们能尽快清除这些损坏的链接。
    猜你喜欢
    • 2013-03-24
    • 2012-09-25
    • 2012-03-11
    • 2018-06-18
    • 2013-09-15
    • 2011-11-06
    • 1970-01-01
    • 2013-09-22
    • 2013-03-09
    相关资源
    最近更新 更多