Адаптивные карты: запрос на оплату - PullRequest
0 голосов
/ 25 февраля 2019

В настоящее время я работаю над проектом бота, в котором я пытаюсь использовать адаптивные карты Microsoft, чтобы попытаться отправить пользователю PaymentRequest.Я создал фиктивный объект 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 голосов
/ 26 февраля 2019

Как указано в этой документации: bot-builder-dotnet-request-payment Чтобы использовать библиотеку платежей Bot Builder, вы должны сначала:

Создайте и активируйте учетную запись Stripe, если у вас ее еще нет.

Войдите в Центр Продавца с помощью своей учетной записи Microsoft.

В Центре Продавца,подключите свою учетную запись к Stripe.

В Центре Продавца перейдите на панель инструментов и скопируйте значение MerchantID.

Обновите файл Web.config вашего бота, чтобы в MerchantId было установлено значение, скопированное изПанель Центра Продавца.

В настоящее время Bot Framework SDK напрямую поддерживает только Stripe платежи.Если вы используете другого провайдера, вам необходимо добавить поддержку для него вручную.

Также обратите внимание: по состоянию на 2.25.2019 у Bot Builder V4 SDK нет встроенной поддержки платежей. Bot Builder V3 SDKделает: https://github.com/Microsoft/BotBuilder-Samples/tree/v3-sdk-samples/CSharp/sample-payments (Кроме того, эмулятор Bot Framework V4 еще не поддерживает платежи: https://github.com/Microsoft/BotFramework-Emulator/issues/1324 Эмулятор V3 можно скачать здесь: https://github.com/Microsoft/BotFramework-Emulator/releases/tag/v3.5.37)

...