diff --git a/CSharp/Library/Microsoft.Bot.Builder.Autofac/Properties/AssemblyInfo.cs b/CSharp/Library/Microsoft.Bot.Builder.Autofac/Properties/AssemblyInfo.cs index 2c0bc0ffcf..d5a0de6b05 100644 --- a/CSharp/Library/Microsoft.Bot.Builder.Autofac/Properties/AssemblyInfo.cs +++ b/CSharp/Library/Microsoft.Bot.Builder.Autofac/Properties/AssemblyInfo.cs @@ -32,8 +32,8 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.5.9.0")] -[assembly: AssemblyFileVersion("3.5.9.0")] +[assembly: AssemblyVersion("3.8.0.0")] +[assembly: AssemblyFileVersion("3.8.0.0")] [assembly: InternalsVisibleTo("Microsoft.Bot.Builder.Tests")] [assembly: InternalsVisibleTo("Microsoft.Bot.Sample.Tests")] diff --git a/CSharp/Library/Microsoft.Bot.Builder.Calling/Microsoft.Bot.Builder.Calling.nuspec b/CSharp/Library/Microsoft.Bot.Builder.Calling/Microsoft.Bot.Builder.Calling.nuspec index 781b31b7ea..ac1f3d04b2 100644 --- a/CSharp/Library/Microsoft.Bot.Builder.Calling/Microsoft.Bot.Builder.Calling.nuspec +++ b/CSharp/Library/Microsoft.Bot.Builder.Calling/Microsoft.Bot.Builder.Calling.nuspec @@ -18,8 +18,8 @@ - - + + diff --git a/CSharp/Library/Microsoft.Bot.Builder.Calling/Properties/AssemblyInfo.cs b/CSharp/Library/Microsoft.Bot.Builder.Calling/Properties/AssemblyInfo.cs index 0bf63c1782..4d35b2f23e 100644 --- a/CSharp/Library/Microsoft.Bot.Builder.Calling/Properties/AssemblyInfo.cs +++ b/CSharp/Library/Microsoft.Bot.Builder.Calling/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.0.3.0")] -[assembly: AssemblyFileVersion("3.0.3.0")] +[assembly: AssemblyVersion("3.0.4.0")] +[assembly: AssemblyFileVersion("3.0.4.0")] diff --git a/CSharp/Library/Microsoft.Bot.Builder.FormFlow.Json/Properties/AssemblyInfo.cs b/CSharp/Library/Microsoft.Bot.Builder.FormFlow.Json/Properties/AssemblyInfo.cs index 0a2d2a1dec..36de12d56b 100644 --- a/CSharp/Library/Microsoft.Bot.Builder.FormFlow.Json/Properties/AssemblyInfo.cs +++ b/CSharp/Library/Microsoft.Bot.Builder.FormFlow.Json/Properties/AssemblyInfo.cs @@ -33,8 +33,8 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.1.2.0")] -[assembly: AssemblyFileVersion("3.1.2.0")] +[assembly: AssemblyVersion("3.1.3.0")] +[assembly: AssemblyFileVersion("3.1.3.0")] [assembly: InternalsVisibleTo("Microsoft.Bot.Builder.Tests")] [assembly: InternalsVisibleTo("Microsoft.Bot.Sample.Tests")] diff --git a/CSharp/Library/Microsoft.Bot.Builder.History/Properties/AssemblyInfo.cs b/CSharp/Library/Microsoft.Bot.Builder.History/Properties/AssemblyInfo.cs index 70ab8979e3..206ee8c3a6 100644 --- a/CSharp/Library/Microsoft.Bot.Builder.History/Properties/AssemblyInfo.cs +++ b/CSharp/Library/Microsoft.Bot.Builder.History/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.0.3.0")] -[assembly: AssemblyFileVersion("3.0.3.0")] +[assembly: AssemblyVersion("3.0.4.0")] +[assembly: AssemblyFileVersion("3.0.4.0")] diff --git a/CSharp/Library/Microsoft.Bot.Builder/Properties/AssemblyInfo.cs b/CSharp/Library/Microsoft.Bot.Builder/Properties/AssemblyInfo.cs index aa99719ec7..2d14536e95 100644 --- a/CSharp/Library/Microsoft.Bot.Builder/Properties/AssemblyInfo.cs +++ b/CSharp/Library/Microsoft.Bot.Builder/Properties/AssemblyInfo.cs @@ -33,8 +33,8 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.5.9.0")] -[assembly: AssemblyFileVersion("3.5.9.0")] +[assembly: AssemblyVersion("3.8.0.0")] +[assembly: AssemblyFileVersion("3.8.0.0")] [assembly: InternalsVisibleTo("Microsoft.Bot.Builder.Tests")] [assembly: InternalsVisibleTo("Microsoft.Bot.Sample.Tests")] diff --git a/CSharp/Library/Microsoft.Bot.Connector.AspNetCore/project.json b/CSharp/Library/Microsoft.Bot.Connector.AspNetCore/project.json index 736800e98d..36ec0f7a01 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.AspNetCore/project.json +++ b/CSharp/Library/Microsoft.Bot.Connector.AspNetCore/project.json @@ -1,7 +1,7 @@ { "title": "Microsoft.Bot.Connector", "language": "en", - "version": "3.5.8-*", + "version": "3.8.0-*", "dependencies": { "NETStandard.Library": "1.6.0", diff --git a/CSharp/Library/Microsoft.Bot.Connector.NetCore/Content/Microsoft.Bot.Connector.NetCore.XML b/CSharp/Library/Microsoft.Bot.Connector.NetCore/Content/Microsoft.Bot.Connector.NetCore.XML index a6ad7fd0f2..42a033a81b 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.NetCore/Content/Microsoft.Bot.Connector.NetCore.XML +++ b/CSharp/Library/Microsoft.Bot.Connector.NetCore/Content/Microsoft.Bot.Connector.NetCore.XML @@ -3810,6 +3810,661 @@ The HTTP request.Cancellation token. + + + Pay method data for Microsoft Payment. + + + W3C Payment Method Data for Microsoft Pay + + + + + The pay method name. + + + + + Initializes a new instance of the MicrosoftPayMethodData class. + + + + + Payment method mode + + + + + Get Microsoft Pay method data + + Payment method data + + + + Initializes a new instance of the MicrosoftPayMethodData class. + + + + + Initializes a new instance of the MicrosoftPayMethodData class. + + + + + Microsoft Pay Merchant ID + + + + + Supported payment networks (e.g., "visa" and "mastercard") + + + + + Supported payment types (e.g., "credit") + + + + + Address within a Payment Request + + + + + Initializes a new instance of the PaymentAddress class. + + + + + Initializes a new instance of the PaymentAddress class. + + + + + This is the CLDR (Common Locale Data Repository) region code. For + example, US, GB, CN, or JP + + + + + This is the most specific part of the address. It can include, for + example, a street name, a house number, apartment number, a rural + delivery route, descriptive instructions, or a post office box + number. + + + + + This is the top level administrative subdivision of the country. + For example, this can be a state, a province, an oblast, or a + prefecture. + + + + + This is the city/town portion of the address. + + + + + This is the dependent locality or sublocality within a city. For + example, used for neighborhoods, boroughs, districts, or UK + dependent localities. + + + + + This is the postal code or ZIP code, also known as PIN code in + India. + + + + + This is the sorting code as used in, for example, France. + + + + + This is the BCP-47 language code for the address. It's used to + determine the field separators and the order of fields when + formatting the address for display. + + + + + This is the organization, firm, company, or institution at this + address. + + + + + This is the name of the recipient or contact person. + + + + + This is the phone number of the recipient or contact person. + + + + + Supplies monetary amounts + + + + + Initializes a new instance of the PaymentCurrencyAmount class. + + + + + Initializes a new instance of the PaymentCurrencyAmount class. + + + + + A currency identifier + + + + + Decimal monetary value + + + + + Currency system + + + + + Provides information about the requested transaction + + + + + Initializes a new instance of the PaymentDetails class. + + + + + Initializes a new instance of the PaymentDetails class. + + + + + Contains the total amount of the payment request + + + + + Contains line items for the payment request that the user agent + may display + + + + + A sequence containing the different shipping options for the user + to choose from + + + + + Contains modifiers for particular payment method identifiers + + + + + Error description + + + + + Provides details that modify the PaymentDetails based on payment + method identifier + + + + + Initializes a new instance of the PaymentDetailsModifier class. + + + + + Initializes a new instance of the PaymentDetailsModifier class. + + + + + Contains a sequence of payment method identifiers + + + + + This value overrides the total field in the PaymentDetails + dictionary for the payment method identifiers in the + supportedMethods field + + + + + Provides additional display items that are appended to the + displayItems field in the PaymentDetails dictionary for the + payment method identifiers in the supportedMethods field + + + + + A JSON-serializable object that provides optional information that + might be needed by the supported payment methods + + + + + Indicates what the payment request is for and the value asked for + + + + + Initializes a new instance of the PaymentItem class. + + + + + Initializes a new instance of the PaymentItem class. + + + + + Human-readable description of the item + + + + + Monetary amount for the item + + + + + When set to true this flag means that the amount field is not + final. + + + + + Indicates a set of supported payment methods and any associated + payment method specific data for those methods + + + + + Initializes a new instance of the PaymentMethodData class. + + + + + Initializes a new instance of the PaymentMethodData class. + + + + + Required sequence of strings containing payment method identifiers + for payment methods that the merchant web site accepts + + + + + A JSON-serializable object that provides optional information that + might be needed by the supported payment methods + + + + + Provides information about the options desired for the payment request + + + + + Initializes a new instance of the PaymentOptions class. + + + + + Initializes a new instance of the PaymentOptions class. + + + + + Indicates whether the user agent should collect and return the + payer's name as part of the payment request + + + + + Indicates whether the user agent should collect and return the + payer's email address as part of the payment request + + + + + Indicates whether the user agent should collect and return the + payer's phone number as part of the payment request + + + + + Indicates whether the user agent should collect and return a + shipping address as part of the payment request + + + + + If requestShipping is set to true, then the shippingType field may + be used to influence the way the user agent presents the user + interface for gathering the shipping address + + + + + A request to make a payment + + + + + Initializes a new instance of the PaymentRequest class. + + + + + Initializes a new instance of the PaymentRequest class. + + + + + ID of this payment request + + + + + Allowed payment methods for this request + + + + + Details for this request + + + + + Provides information about the options desired for the payment + request + + + + + Expiration for this request, in ISO 8601 duration format (e.g., + 'P1D') + + + + + Action type for Payment action + + + + + Content-type for Payment card + + + + + Payload delivered when completing a payment request + + + + + Initializes a new instance of the PaymentRequestComplete class. + + + + + Initializes a new instance of the PaymentRequestComplete class. + + + + + Payment request ID + + + + + Initial payment request + + + + + Corresponding payment response + + + + + Result from a completed payment request + + + + + Initializes a new instance of the PaymentRequestCompleteResult + class. + + + + + Initializes a new instance of the PaymentRequestCompleteResult + class. + + + + + Result of the payment request completion + + + + + An update to a payment request + + + + + Initializes a new instance of the PaymentRequestUpdate class. + + + + + Initializes a new instance of the PaymentRequestUpdate class. + + + + + ID for the payment request to update + + + + + Update payment details + + + + + Updated shipping address + + + + + Updated shipping options + + + + + A result object from a Payment Request Update invoke operation + + + + + Initializes a new instance of the PaymentRequestUpdateResult class. + + + + + Initializes a new instance of the PaymentRequestUpdateResult class. + + + + + Update payment details + + + + + A PaymentResponse is returned when a user has selected a payment + method and approved a payment request + + + + + Initializes a new instance of the PaymentResponse class. + + + + + Initializes a new instance of the PaymentResponse class. + + + + + The payment method identifier for the payment method that the user + selected to fulfil the transaction + + + + + A JSON-serializable object that provides a payment method specific + message used by the merchant to process the transaction and + determine successful fund transfer + + + + + If the requestShipping flag was set to true in the PaymentOptions + passed to the PaymentRequest constructor, then shippingAddress + will be the full and final shipping address chosen by the user + + + + + If the requestShipping flag was set to true in the PaymentOptions + passed to the PaymentRequest constructor, then shippingOption + will be the id attribute of the selected shipping option + + + + + If the requestPayerEmail flag was set to true in the + PaymentOptions passed to the PaymentRequest constructor, then + payerEmail will be the email address chosen by the user + + + + + If the requestPayerPhone flag was set to true in the + PaymentOptions passed to the PaymentRequest constructor, then + payerPhone will be the phone number chosen by the user + + + + + Describes a shipping option + + + + + Initializes a new instance of the PaymentShippingOption class. + + + + + Initializes a new instance of the PaymentShippingOption class. + + + + + String identifier used to reference this PaymentShippingOption + + + + + Human-readable description of the item + + + + + Contains the monetary amount for the item + + + + + Indicates whether this is the default selected + PaymentShippingOption + + + + + Names for invocable operations in the payment callback protocol + + + + + Name for the Update Shipping Address operation invocation + + + This operation accepts a PaymentRequestUpdate object and returns a PaymentDetails object or an error + + + + + Name for the Update Shipping Option operation invocation + + + This operation accepts a PaymentRequestUpdate object and returns a PaymentDetails object or an error + + + + + Name for the payment completion operation invocation + + + This operation accepts a PaymentRequestComplete object and returns a PaymentRequestResult object or an error + + + + + Different shipping types. See http://www.w3.org/TR/payment-request/#dom-paymentoptions-shippingtype for more information. + + + + + This is the default and refers to the address being collected as the destination for shipping. + + + + + This refers to the address being collected as being used for delivery. This is commonly faster than shipping. For example, it might be used for food delivery. + + + + + This refers to the address being collected as part of a service pickup. For example, this could be the address for laundry pickup. + + BotState operations. diff --git a/CSharp/Library/Microsoft.Bot.Connector.NetCore/Properties/AssemblyInfo.cs b/CSharp/Library/Microsoft.Bot.Connector.NetCore/Properties/AssemblyInfo.cs index a93137bc55..38af8c9a63 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.NetCore/Properties/AssemblyInfo.cs +++ b/CSharp/Library/Microsoft.Bot.Connector.NetCore/Properties/AssemblyInfo.cs @@ -24,5 +24,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.5.8.0")] -[assembly: AssemblyFileVersion("3.5.8.0")] +[assembly: AssemblyVersion("3.8.0.0")] +[assembly: AssemblyFileVersion("3.8.0.0")] diff --git a/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Content/Microsoft.Bot.Connector.xml b/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Content/Microsoft.Bot.Connector.xml index 63de7e60ce..cd5099c087 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Content/Microsoft.Bot.Connector.xml +++ b/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Content/Microsoft.Bot.Connector.xml @@ -3847,6 +3847,661 @@ The HTTP request.Cancellation token. + + + Pay method data for Microsoft Payment. + + + W3C Payment Method Data for Microsoft Pay + + + + + The pay method name. + + + + + Initializes a new instance of the MicrosoftPayMethodData class. + + + + + Payment method mode + + + + + Get Microsoft Pay method data + + Payment method data + + + + Initializes a new instance of the MicrosoftPayMethodData class. + + + + + Initializes a new instance of the MicrosoftPayMethodData class. + + + + + Microsoft Pay Merchant ID + + + + + Supported payment networks (e.g., "visa" and "mastercard") + + + + + Supported payment types (e.g., "credit") + + + + + Address within a Payment Request + + + + + Initializes a new instance of the PaymentAddress class. + + + + + Initializes a new instance of the PaymentAddress class. + + + + + This is the CLDR (Common Locale Data Repository) region code. For + example, US, GB, CN, or JP + + + + + This is the most specific part of the address. It can include, for + example, a street name, a house number, apartment number, a rural + delivery route, descriptive instructions, or a post office box + number. + + + + + This is the top level administrative subdivision of the country. + For example, this can be a state, a province, an oblast, or a + prefecture. + + + + + This is the city/town portion of the address. + + + + + This is the dependent locality or sublocality within a city. For + example, used for neighborhoods, boroughs, districts, or UK + dependent localities. + + + + + This is the postal code or ZIP code, also known as PIN code in + India. + + + + + This is the sorting code as used in, for example, France. + + + + + This is the BCP-47 language code for the address. It's used to + determine the field separators and the order of fields when + formatting the address for display. + + + + + This is the organization, firm, company, or institution at this + address. + + + + + This is the name of the recipient or contact person. + + + + + This is the phone number of the recipient or contact person. + + + + + Supplies monetary amounts + + + + + Initializes a new instance of the PaymentCurrencyAmount class. + + + + + Initializes a new instance of the PaymentCurrencyAmount class. + + + + + A currency identifier + + + + + Decimal monetary value + + + + + Currency system + + + + + Provides information about the requested transaction + + + + + Initializes a new instance of the PaymentDetails class. + + + + + Initializes a new instance of the PaymentDetails class. + + + + + Contains the total amount of the payment request + + + + + Contains line items for the payment request that the user agent + may display + + + + + A sequence containing the different shipping options for the user + to choose from + + + + + Contains modifiers for particular payment method identifiers + + + + + Error description + + + + + Provides details that modify the PaymentDetails based on payment + method identifier + + + + + Initializes a new instance of the PaymentDetailsModifier class. + + + + + Initializes a new instance of the PaymentDetailsModifier class. + + + + + Contains a sequence of payment method identifiers + + + + + This value overrides the total field in the PaymentDetails + dictionary for the payment method identifiers in the + supportedMethods field + + + + + Provides additional display items that are appended to the + displayItems field in the PaymentDetails dictionary for the + payment method identifiers in the supportedMethods field + + + + + A JSON-serializable object that provides optional information that + might be needed by the supported payment methods + + + + + Indicates what the payment request is for and the value asked for + + + + + Initializes a new instance of the PaymentItem class. + + + + + Initializes a new instance of the PaymentItem class. + + + + + Human-readable description of the item + + + + + Monetary amount for the item + + + + + When set to true this flag means that the amount field is not + final. + + + + + Indicates a set of supported payment methods and any associated + payment method specific data for those methods + + + + + Initializes a new instance of the PaymentMethodData class. + + + + + Initializes a new instance of the PaymentMethodData class. + + + + + Required sequence of strings containing payment method identifiers + for payment methods that the merchant web site accepts + + + + + A JSON-serializable object that provides optional information that + might be needed by the supported payment methods + + + + + Provides information about the options desired for the payment request + + + + + Initializes a new instance of the PaymentOptions class. + + + + + Initializes a new instance of the PaymentOptions class. + + + + + Indicates whether the user agent should collect and return the + payer's name as part of the payment request + + + + + Indicates whether the user agent should collect and return the + payer's email address as part of the payment request + + + + + Indicates whether the user agent should collect and return the + payer's phone number as part of the payment request + + + + + Indicates whether the user agent should collect and return a + shipping address as part of the payment request + + + + + If requestShipping is set to true, then the shippingType field may + be used to influence the way the user agent presents the user + interface for gathering the shipping address + + + + + A request to make a payment + + + + + Initializes a new instance of the PaymentRequest class. + + + + + Initializes a new instance of the PaymentRequest class. + + + + + ID of this payment request + + + + + Allowed payment methods for this request + + + + + Details for this request + + + + + Provides information about the options desired for the payment + request + + + + + Expiration for this request, in ISO 8601 duration format (e.g., + 'P1D') + + + + + Action type for Payment action + + + + + Content-type for Payment card + + + + + Payload delivered when completing a payment request + + + + + Initializes a new instance of the PaymentRequestComplete class. + + + + + Initializes a new instance of the PaymentRequestComplete class. + + + + + Payment request ID + + + + + Initial payment request + + + + + Corresponding payment response + + + + + Result from a completed payment request + + + + + Initializes a new instance of the PaymentRequestCompleteResult + class. + + + + + Initializes a new instance of the PaymentRequestCompleteResult + class. + + + + + Result of the payment request completion + + + + + An update to a payment request + + + + + Initializes a new instance of the PaymentRequestUpdate class. + + + + + Initializes a new instance of the PaymentRequestUpdate class. + + + + + ID for the payment request to update + + + + + Update payment details + + + + + Updated shipping address + + + + + Updated shipping options + + + + + A result object from a Payment Request Update invoke operation + + + + + Initializes a new instance of the PaymentRequestUpdateResult class. + + + + + Initializes a new instance of the PaymentRequestUpdateResult class. + + + + + Update payment details + + + + + A PaymentResponse is returned when a user has selected a payment + method and approved a payment request + + + + + Initializes a new instance of the PaymentResponse class. + + + + + Initializes a new instance of the PaymentResponse class. + + + + + The payment method identifier for the payment method that the user + selected to fulfil the transaction + + + + + A JSON-serializable object that provides a payment method specific + message used by the merchant to process the transaction and + determine successful fund transfer + + + + + If the requestShipping flag was set to true in the PaymentOptions + passed to the PaymentRequest constructor, then shippingAddress + will be the full and final shipping address chosen by the user + + + + + If the requestShipping flag was set to true in the PaymentOptions + passed to the PaymentRequest constructor, then shippingOption + will be the id attribute of the selected shipping option + + + + + If the requestPayerEmail flag was set to true in the + PaymentOptions passed to the PaymentRequest constructor, then + payerEmail will be the email address chosen by the user + + + + + If the requestPayerPhone flag was set to true in the + PaymentOptions passed to the PaymentRequest constructor, then + payerPhone will be the phone number chosen by the user + + + + + Describes a shipping option + + + + + Initializes a new instance of the PaymentShippingOption class. + + + + + Initializes a new instance of the PaymentShippingOption class. + + + + + String identifier used to reference this PaymentShippingOption + + + + + Human-readable description of the item + + + + + Contains the monetary amount for the item + + + + + Indicates whether this is the default selected + PaymentShippingOption + + + + + Names for invocable operations in the payment callback protocol + + + + + Name for the Update Shipping Address operation invocation + + + This operation accepts a PaymentRequestUpdate object and returns a PaymentDetails object or an error + + + + + Name for the Update Shipping Option operation invocation + + + This operation accepts a PaymentRequestUpdate object and returns a PaymentDetails object or an error + + + + + Name for the payment completion operation invocation + + + This operation accepts a PaymentRequestComplete object and returns a PaymentRequestResult object or an error + + + + + Different shipping types. See http://www.w3.org/TR/payment-request/#dom-paymentoptions-shippingtype for more information. + + + + + This is the default and refers to the address being collected as the destination for shipping. + + + + + This refers to the address being collected as being used for delivery. This is commonly faster than shipping. For example, it might be used for food delivery. + + + + + This refers to the address being collected as part of a service pickup. For example, this could be the address for laundry pickup. + + BotState operations. diff --git a/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Properties/AssemblyInfo.cs b/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Properties/AssemblyInfo.cs index 498d0157c4..52e8a27b1d 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Properties/AssemblyInfo.cs +++ b/CSharp/Library/Microsoft.Bot.Connector.NetFramework/Properties/AssemblyInfo.cs @@ -30,5 +30,5 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("3.5.9.0")] -[assembly: AssemblyFileVersion("3.5.9.0")] +[assembly: AssemblyVersion("3.8.0.0")] +[assembly: AssemblyFileVersion("3.8.0.0")] diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/BotAuthenticator.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/BotAuthenticator.cs index dbdfe21543..1582e2c2ff 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.Shared/BotAuthenticator.cs +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/BotAuthenticator.cs @@ -77,7 +77,7 @@ public BotAuthenticator(ICredentialProvider credentialProvider, /// The request. /// The reason phrase for unauthorized status code. /// A response with status code unauthorized. - public static HttpResponseMessage GenerateUnauthorizedResponse(HttpRequestMessage request, string reason) + public static HttpResponseMessage GenerateUnauthorizedResponse(HttpRequestMessage request, string reason = "") { string host = request.RequestUri.DnsSafeHost; #if NET45 diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Microsoft.Bot.Connector.Shared.projitems b/CSharp/Library/Microsoft.Bot.Connector.Shared/Microsoft.Bot.Connector.Shared.projitems index 05a2430ef0..f755ed2080 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.Shared/Microsoft.Bot.Connector.Shared.projitems +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Microsoft.Bot.Connector.Shared.projitems @@ -84,8 +84,27 @@ - + + + + + + + + + + + + + + + + + + + + @@ -99,6 +118,7 @@ + diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/MicrosoftPayMethodDataEx.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/MicrosoftPayMethodDataEx.cs new file mode 100644 index 0000000000..6406dd9da2 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/MicrosoftPayMethodDataEx.cs @@ -0,0 +1,45 @@ +using System.Collections.Generic; +using Newtonsoft.Json; + +namespace Microsoft.Bot.Connector.Payments +{ + /// + /// Pay method data for Microsoft Payment. + /// + public partial class MicrosoftPayMethodData + { + /// + /// The pay method name. + /// + public const string MethodName = "https://pay.microsoft.com/microsoftpay"; + + private const string TestModeValue = "TEST"; + + /// + /// Initializes a new instance of the MicrosoftPayMethodData class. + /// + public MicrosoftPayMethodData(string merchantId = default(string), IList supportedNetworks = default(IList), IList supportedTypes = default(IList), bool testMode = false) : this(merchantId, supportedNetworks, supportedTypes) + { + Mode = testMode ? TestModeValue : null; + } + + /// + /// Payment method mode + /// + [JsonProperty(PropertyName = "mode", NullValueHandling = NullValueHandling.Ignore)] + public string Mode { get; set; } + + /// + /// Get Microsoft Pay method data + /// + /// Payment method data + public PaymentMethodData ToPaymentMethodData() + { + return new PaymentMethodData + { + SupportedMethods = new List { MethodName }, + Data = this + }; + } + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/MicrosoftPayMethodData.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/MicrosoftPayMethodData.cs new file mode 100644 index 0000000000..21e4a63ed4 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/MicrosoftPayMethodData.cs @@ -0,0 +1,53 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// W3C Payment Method Data for Microsoft Pay + /// + public partial class MicrosoftPayMethodData + { + /// + /// Initializes a new instance of the MicrosoftPayMethodData class. + /// + public MicrosoftPayMethodData() { } + + /// + /// Initializes a new instance of the MicrosoftPayMethodData class. + /// + public MicrosoftPayMethodData(string merchantId = default(string), IList supportedNetworks = default(IList), IList supportedTypes = default(IList)) + { + MerchantId = merchantId; + SupportedNetworks = supportedNetworks; + SupportedTypes = supportedTypes; + } + + /// + /// Microsoft Pay Merchant ID + /// + [JsonProperty(PropertyName = "merchantId")] + public string MerchantId { get; set; } + + /// + /// Supported payment networks (e.g., "visa" and "mastercard") + /// + [JsonProperty(PropertyName = "supportedNetworks")] + public IList SupportedNetworks { get; set; } + + /// + /// Supported payment types (e.g., "credit") + /// + [JsonProperty(PropertyName = "supportedTypes")] + public IList SupportedTypes { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentAddress.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentAddress.cs new file mode 100644 index 0000000000..37c9d7312b --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentAddress.cs @@ -0,0 +1,121 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Address within a Payment Request + /// + public partial class PaymentAddress + { + /// + /// Initializes a new instance of the PaymentAddress class. + /// + public PaymentAddress() { } + + /// + /// Initializes a new instance of the PaymentAddress class. + /// + public PaymentAddress(string country = default(string), IList addressLine = default(IList), string region = default(string), string city = default(string), string dependentLocality = default(string), string postalCode = default(string), string sortingCode = default(string), string languageCode = default(string), string organization = default(string), string recipient = default(string), string phone = default(string)) + { + Country = country; + AddressLine = addressLine; + Region = region; + City = city; + DependentLocality = dependentLocality; + PostalCode = postalCode; + SortingCode = sortingCode; + LanguageCode = languageCode; + Organization = organization; + Recipient = recipient; + Phone = phone; + } + + /// + /// This is the CLDR (Common Locale Data Repository) region code. For + /// example, US, GB, CN, or JP + /// + [JsonProperty(PropertyName = "country")] + public string Country { get; set; } + + /// + /// This is the most specific part of the address. It can include, for + /// example, a street name, a house number, apartment number, a rural + /// delivery route, descriptive instructions, or a post office box + /// number. + /// + [JsonProperty(PropertyName = "addressLine")] + public IList AddressLine { get; set; } + + /// + /// This is the top level administrative subdivision of the country. + /// For example, this can be a state, a province, an oblast, or a + /// prefecture. + /// + [JsonProperty(PropertyName = "region")] + public string Region { get; set; } + + /// + /// This is the city/town portion of the address. + /// + [JsonProperty(PropertyName = "city")] + public string City { get; set; } + + /// + /// This is the dependent locality or sublocality within a city. For + /// example, used for neighborhoods, boroughs, districts, or UK + /// dependent localities. + /// + [JsonProperty(PropertyName = "dependentLocality")] + public string DependentLocality { get; set; } + + /// + /// This is the postal code or ZIP code, also known as PIN code in + /// India. + /// + [JsonProperty(PropertyName = "postalCode")] + public string PostalCode { get; set; } + + /// + /// This is the sorting code as used in, for example, France. + /// + [JsonProperty(PropertyName = "sortingCode")] + public string SortingCode { get; set; } + + /// + /// This is the BCP-47 language code for the address. It's used to + /// determine the field separators and the order of fields when + /// formatting the address for display. + /// + [JsonProperty(PropertyName = "languageCode")] + public string LanguageCode { get; set; } + + /// + /// This is the organization, firm, company, or institution at this + /// address. + /// + [JsonProperty(PropertyName = "organization")] + public string Organization { get; set; } + + /// + /// This is the name of the recipient or contact person. + /// + [JsonProperty(PropertyName = "recipient")] + public string Recipient { get; set; } + + /// + /// This is the phone number of the recipient or contact person. + /// + [JsonProperty(PropertyName = "phone")] + public string Phone { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentCurrencyAmount.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentCurrencyAmount.cs new file mode 100644 index 0000000000..e2e997f55d --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentCurrencyAmount.cs @@ -0,0 +1,53 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Supplies monetary amounts + /// + public partial class PaymentCurrencyAmount + { + /// + /// Initializes a new instance of the PaymentCurrencyAmount class. + /// + public PaymentCurrencyAmount() { } + + /// + /// Initializes a new instance of the PaymentCurrencyAmount class. + /// + public PaymentCurrencyAmount(string currency = default(string), string value = default(string), string currencySystem = default(string)) + { + Currency = currency; + Value = value; + CurrencySystem = currencySystem; + } + + /// + /// A currency identifier + /// + [JsonProperty(PropertyName = "currency")] + public string Currency { get; set; } + + /// + /// Decimal monetary value + /// + [JsonProperty(PropertyName = "value")] + public string Value { get; set; } + + /// + /// Currency system + /// + [JsonProperty(PropertyName = "currencySystem")] + public string CurrencySystem { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentDetails.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentDetails.cs new file mode 100644 index 0000000000..dad79b2297 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentDetails.cs @@ -0,0 +1,69 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Provides information about the requested transaction + /// + public partial class PaymentDetails + { + /// + /// Initializes a new instance of the PaymentDetails class. + /// + public PaymentDetails() { } + + /// + /// Initializes a new instance of the PaymentDetails class. + /// + public PaymentDetails(PaymentItem total = default(PaymentItem), IList displayItems = default(IList), IList shippingOptions = default(IList), IList modifiers = default(IList), string error = default(string)) + { + Total = total; + DisplayItems = displayItems; + ShippingOptions = shippingOptions; + Modifiers = modifiers; + Error = error; + } + + /// + /// Contains the total amount of the payment request + /// + [JsonProperty(PropertyName = "total")] + public PaymentItem Total { get; set; } + + /// + /// Contains line items for the payment request that the user agent + /// may display + /// + [JsonProperty(PropertyName = "displayItems")] + public IList DisplayItems { get; set; } + + /// + /// A sequence containing the different shipping options for the user + /// to choose from + /// + [JsonProperty(PropertyName = "shippingOptions")] + public IList ShippingOptions { get; set; } + + /// + /// Contains modifiers for particular payment method identifiers + /// + [JsonProperty(PropertyName = "modifiers")] + public IList Modifiers { get; set; } + + /// + /// Error description + /// + [JsonProperty(PropertyName = "error")] + public string Error { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentDetailsModifier.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentDetailsModifier.cs new file mode 100644 index 0000000000..c720487920 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentDetailsModifier.cs @@ -0,0 +1,66 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Provides details that modify the PaymentDetails based on payment + /// method identifier + /// + public partial class PaymentDetailsModifier + { + /// + /// Initializes a new instance of the PaymentDetailsModifier class. + /// + public PaymentDetailsModifier() { } + + /// + /// Initializes a new instance of the PaymentDetailsModifier class. + /// + public PaymentDetailsModifier(IList supportedMethods = default(IList), PaymentItem total = default(PaymentItem), IList additionalDisplayItems = default(IList), object data = default(object)) + { + SupportedMethods = supportedMethods; + Total = total; + AdditionalDisplayItems = additionalDisplayItems; + Data = data; + } + + /// + /// Contains a sequence of payment method identifiers + /// + [JsonProperty(PropertyName = "supportedMethods")] + public IList SupportedMethods { get; set; } + + /// + /// This value overrides the total field in the PaymentDetails + /// dictionary for the payment method identifiers in the + /// supportedMethods field + /// + [JsonProperty(PropertyName = "total")] + public PaymentItem Total { get; set; } + + /// + /// Provides additional display items that are appended to the + /// displayItems field in the PaymentDetails dictionary for the + /// payment method identifiers in the supportedMethods field + /// + [JsonProperty(PropertyName = "additionalDisplayItems")] + public IList AdditionalDisplayItems { get; set; } + + /// + /// A JSON-serializable object that provides optional information that + /// might be needed by the supported payment methods + /// + [JsonProperty(PropertyName = "data")] + public object Data { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentItem.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentItem.cs new file mode 100644 index 0000000000..1769a18eaf --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentItem.cs @@ -0,0 +1,54 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Indicates what the payment request is for and the value asked for + /// + public partial class PaymentItem + { + /// + /// Initializes a new instance of the PaymentItem class. + /// + public PaymentItem() { } + + /// + /// Initializes a new instance of the PaymentItem class. + /// + public PaymentItem(string label = default(string), PaymentCurrencyAmount amount = default(PaymentCurrencyAmount), bool? pending = default(bool?)) + { + Label = label; + Amount = amount; + Pending = pending; + } + + /// + /// Human-readable description of the item + /// + [JsonProperty(PropertyName = "label")] + public string Label { get; set; } + + /// + /// Monetary amount for the item + /// + [JsonProperty(PropertyName = "amount")] + public PaymentCurrencyAmount Amount { get; set; } + + /// + /// When set to true this flag means that the amount field is not + /// final. + /// + [JsonProperty(PropertyName = "pending")] + public bool? Pending { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentMethodData.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentMethodData.cs new file mode 100644 index 0000000000..1a5a8827fb --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentMethodData.cs @@ -0,0 +1,49 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Indicates a set of supported payment methods and any associated + /// payment method specific data for those methods + /// + public partial class PaymentMethodData + { + /// + /// Initializes a new instance of the PaymentMethodData class. + /// + public PaymentMethodData() { } + + /// + /// Initializes a new instance of the PaymentMethodData class. + /// + public PaymentMethodData(IList supportedMethods = default(IList), object data = default(object)) + { + SupportedMethods = supportedMethods; + Data = data; + } + + /// + /// Required sequence of strings containing payment method identifiers + /// for payment methods that the merchant web site accepts + /// + [JsonProperty(PropertyName = "supportedMethods")] + public IList SupportedMethods { get; set; } + + /// + /// A JSON-serializable object that provides optional information that + /// might be needed by the supported payment methods + /// + [JsonProperty(PropertyName = "data")] + public object Data { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentOptions.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentOptions.cs new file mode 100644 index 0000000000..ea1266f733 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentOptions.cs @@ -0,0 +1,73 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Provides information about the options desired for the payment request + /// + public partial class PaymentOptions + { + /// + /// Initializes a new instance of the PaymentOptions class. + /// + public PaymentOptions() { } + + /// + /// Initializes a new instance of the PaymentOptions class. + /// + public PaymentOptions(bool? requestPayerName = default(bool?), bool? requestPayerEmail = default(bool?), bool? requestPayerPhone = default(bool?), bool? requestShipping = default(bool?), string shippingType = default(string)) + { + RequestPayerName = requestPayerName; + RequestPayerEmail = requestPayerEmail; + RequestPayerPhone = requestPayerPhone; + RequestShipping = requestShipping; + ShippingType = shippingType; + } + + /// + /// Indicates whether the user agent should collect and return the + /// payer's name as part of the payment request + /// + [JsonProperty(PropertyName = "requestPayerName")] + public bool? RequestPayerName { get; set; } + + /// + /// Indicates whether the user agent should collect and return the + /// payer's email address as part of the payment request + /// + [JsonProperty(PropertyName = "requestPayerEmail")] + public bool? RequestPayerEmail { get; set; } + + /// + /// Indicates whether the user agent should collect and return the + /// payer's phone number as part of the payment request + /// + [JsonProperty(PropertyName = "requestPayerPhone")] + public bool? RequestPayerPhone { get; set; } + + /// + /// Indicates whether the user agent should collect and return a + /// shipping address as part of the payment request + /// + [JsonProperty(PropertyName = "requestShipping")] + public bool? RequestShipping { get; set; } + + /// + /// If requestShipping is set to true, then the shippingType field may + /// be used to influence the way the user agent presents the user + /// interface for gathering the shipping address + /// + [JsonProperty(PropertyName = "shippingType")] + public string ShippingType { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequest.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequest.cs new file mode 100644 index 0000000000..b40e8d5d13 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequest.cs @@ -0,0 +1,69 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// A request to make a payment + /// + public partial class PaymentRequest + { + /// + /// Initializes a new instance of the PaymentRequest class. + /// + public PaymentRequest() { } + + /// + /// Initializes a new instance of the PaymentRequest class. + /// + public PaymentRequest(string id = default(string), IList methodData = default(IList), PaymentDetails details = default(PaymentDetails), PaymentOptions options = default(PaymentOptions), string expires = default(string)) + { + Id = id; + MethodData = methodData; + Details = details; + Options = options; + Expires = expires; + } + + /// + /// ID of this payment request + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Allowed payment methods for this request + /// + [JsonProperty(PropertyName = "methodData")] + public IList MethodData { get; set; } + + /// + /// Details for this request + /// + [JsonProperty(PropertyName = "details")] + public PaymentDetails Details { get; set; } + + /// + /// Provides information about the options desired for the payment + /// request + /// + [JsonProperty(PropertyName = "options")] + public PaymentOptions Options { get; set; } + + /// + /// Expiration for this request, in ISO 8601 duration format (e.g., + /// 'P1D') + /// + [JsonProperty(PropertyName = "expires")] + public string Expires { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestComplete.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestComplete.cs new file mode 100644 index 0000000000..9c264487a8 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestComplete.cs @@ -0,0 +1,53 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Payload delivered when completing a payment request + /// + public partial class PaymentRequestComplete + { + /// + /// Initializes a new instance of the PaymentRequestComplete class. + /// + public PaymentRequestComplete() { } + + /// + /// Initializes a new instance of the PaymentRequestComplete class. + /// + public PaymentRequestComplete(string id = default(string), PaymentRequest paymentRequest = default(PaymentRequest), PaymentResponse paymentResponse = default(PaymentResponse)) + { + Id = id; + PaymentRequest = paymentRequest; + PaymentResponse = paymentResponse; + } + + /// + /// Payment request ID + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Initial payment request + /// + [JsonProperty(PropertyName = "paymentRequest")] + public PaymentRequest PaymentRequest { get; set; } + + /// + /// Corresponding payment response + /// + [JsonProperty(PropertyName = "paymentResponse")] + public PaymentResponse PaymentResponse { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestCompleteResult.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestCompleteResult.cs new file mode 100644 index 0000000000..89f34c8788 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestCompleteResult.cs @@ -0,0 +1,41 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Result from a completed payment request + /// + public partial class PaymentRequestCompleteResult + { + /// + /// Initializes a new instance of the PaymentRequestCompleteResult + /// class. + /// + public PaymentRequestCompleteResult() { } + + /// + /// Initializes a new instance of the PaymentRequestCompleteResult + /// class. + /// + public PaymentRequestCompleteResult(string result = default(string)) + { + Result = result; + } + + /// + /// Result of the payment request completion + /// + [JsonProperty(PropertyName = "result")] + public string Result { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestUpdate.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestUpdate.cs new file mode 100644 index 0000000000..5a122f375c --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestUpdate.cs @@ -0,0 +1,60 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// An update to a payment request + /// + public partial class PaymentRequestUpdate + { + /// + /// Initializes a new instance of the PaymentRequestUpdate class. + /// + public PaymentRequestUpdate() { } + + /// + /// Initializes a new instance of the PaymentRequestUpdate class. + /// + public PaymentRequestUpdate(string id = default(string), PaymentDetails details = default(PaymentDetails), PaymentAddress shippingAddress = default(PaymentAddress), string shippingOption = default(string)) + { + Id = id; + Details = details; + ShippingAddress = shippingAddress; + ShippingOption = shippingOption; + } + + /// + /// ID for the payment request to update + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Update payment details + /// + [JsonProperty(PropertyName = "details")] + public PaymentDetails Details { get; set; } + + /// + /// Updated shipping address + /// + [JsonProperty(PropertyName = "shippingAddress")] + public PaymentAddress ShippingAddress { get; set; } + + /// + /// Updated shipping options + /// + [JsonProperty(PropertyName = "shippingOption")] + public string ShippingOption { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestUpdateResult.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestUpdateResult.cs new file mode 100644 index 0000000000..28806dac66 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentRequestUpdateResult.cs @@ -0,0 +1,39 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// A result object from a Payment Request Update invoke operation + /// + public partial class PaymentRequestUpdateResult + { + /// + /// Initializes a new instance of the PaymentRequestUpdateResult class. + /// + public PaymentRequestUpdateResult() { } + + /// + /// Initializes a new instance of the PaymentRequestUpdateResult class. + /// + public PaymentRequestUpdateResult(PaymentDetails details = default(PaymentDetails)) + { + Details = details; + } + + /// + /// Update payment details + /// + [JsonProperty(PropertyName = "details")] + public PaymentDetails Details { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentResponse.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentResponse.cs new file mode 100644 index 0000000000..c056e9d577 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentResponse.cs @@ -0,0 +1,86 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// A PaymentResponse is returned when a user has selected a payment + /// method and approved a payment request + /// + public partial class PaymentResponse + { + /// + /// Initializes a new instance of the PaymentResponse class. + /// + public PaymentResponse() { } + + /// + /// Initializes a new instance of the PaymentResponse class. + /// + public PaymentResponse(string methodName = default(string), object details = default(object), PaymentAddress shippingAddress = default(PaymentAddress), string shippingOption = default(string), string payerEmail = default(string), string payerPhone = default(string)) + { + MethodName = methodName; + Details = details; + ShippingAddress = shippingAddress; + ShippingOption = shippingOption; + PayerEmail = payerEmail; + PayerPhone = payerPhone; + } + + /// + /// The payment method identifier for the payment method that the user + /// selected to fulfil the transaction + /// + [JsonProperty(PropertyName = "methodName")] + public string MethodName { get; set; } + + /// + /// A JSON-serializable object that provides a payment method specific + /// message used by the merchant to process the transaction and + /// determine successful fund transfer + /// + [JsonProperty(PropertyName = "details")] + public object Details { get; set; } + + /// + /// If the requestShipping flag was set to true in the PaymentOptions + /// passed to the PaymentRequest constructor, then shippingAddress + /// will be the full and final shipping address chosen by the user + /// + [JsonProperty(PropertyName = "shippingAddress")] + public PaymentAddress ShippingAddress { get; set; } + + /// + /// If the requestShipping flag was set to true in the PaymentOptions + /// passed to the PaymentRequest constructor, then shippingOption + /// will be the id attribute of the selected shipping option + /// + [JsonProperty(PropertyName = "shippingOption")] + public string ShippingOption { get; set; } + + /// + /// If the requestPayerEmail flag was set to true in the + /// PaymentOptions passed to the PaymentRequest constructor, then + /// payerEmail will be the email address chosen by the user + /// + [JsonProperty(PropertyName = "payerEmail")] + public string PayerEmail { get; set; } + + /// + /// If the requestPayerPhone flag was set to true in the + /// PaymentOptions passed to the PaymentRequest constructor, then + /// payerPhone will be the phone number chosen by the user + /// + [JsonProperty(PropertyName = "payerPhone")] + public string PayerPhone { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentShippingOption.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentShippingOption.cs new file mode 100644 index 0000000000..4d39674a99 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/Models/PaymentShippingOption.cs @@ -0,0 +1,61 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.Bot.Connector.Payments +{ + using System; + using System.Linq; + using System.Collections.Generic; + using Newtonsoft.Json; + + + + /// + /// Describes a shipping option + /// + public partial class PaymentShippingOption + { + /// + /// Initializes a new instance of the PaymentShippingOption class. + /// + public PaymentShippingOption() { } + + /// + /// Initializes a new instance of the PaymentShippingOption class. + /// + public PaymentShippingOption(string id = default(string), string label = default(string), PaymentCurrencyAmount amount = default(PaymentCurrencyAmount), bool? selected = default(bool?)) + { + Id = id; + Label = label; + Amount = amount; + Selected = selected; + } + + /// + /// String identifier used to reference this PaymentShippingOption + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Human-readable description of the item + /// + [JsonProperty(PropertyName = "label")] + public string Label { get; set; } + + /// + /// Contains the monetary amount for the item + /// + [JsonProperty(PropertyName = "amount")] + public PaymentCurrencyAmount Amount { get; set; } + + /// + /// Indicates whether this is the default selected + /// PaymentShippingOption + /// + [JsonProperty(PropertyName = "selected")] + public bool? Selected { get; set; } + + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentOperations.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentOperations.cs new file mode 100644 index 0000000000..032bee962f --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentOperations.cs @@ -0,0 +1,33 @@ +namespace Microsoft.Bot.Connector.Payments +{ + + /// + /// Names for invocable operations in the payment callback protocol + /// + public static class PaymentOperations + { + /// + /// Name for the Update Shipping Address operation invocation + /// + /// + /// This operation accepts a PaymentRequestUpdate object and returns a PaymentDetails object or an error + /// + public const string UpdateShippingAddressOperationName = "payments/update/shippingAddress"; + + /// + /// Name for the Update Shipping Option operation invocation + /// + /// + /// This operation accepts a PaymentRequestUpdate object and returns a PaymentDetails object or an error + /// + public const string UpdateShippingOptionOperationName = "payments/update/shippingOption"; + + /// + /// Name for the payment completion operation invocation + /// + /// + /// This operation accepts a PaymentRequestComplete object and returns a PaymentRequestResult object or an error + /// + public const string PaymentCompleteOperationName = "payments/complete"; + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentRequestEx.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentRequestEx.cs new file mode 100644 index 0000000000..55b39471d9 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentRequestEx.cs @@ -0,0 +1,15 @@ +namespace Microsoft.Bot.Connector.Payments +{ + public partial class PaymentRequest + { + /// + /// Action type for Payment action + /// + public const string PaymentActionType = "payment"; + + /// + /// Content-type for Payment card + /// + public const string PaymentContentType = "application/vnd.microsoft.card.payment"; + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentShippingTypes.cs b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentShippingTypes.cs new file mode 100644 index 0000000000..94f6fa665b --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Payments/PaymentShippingTypes.cs @@ -0,0 +1,23 @@ +namespace Microsoft.Bot.Connector.Payments +{ + /// + /// Different shipping types. See http://www.w3.org/TR/payment-request/#dom-paymentoptions-shippingtype for more information. + /// + public static class PaymentShippingTypes + { + /// + /// This is the default and refers to the address being collected as the destination for shipping. + /// + public const string Shipping = "shipping"; + + /// + /// This refers to the address being collected as being used for delivery. This is commonly faster than shipping. For example, it might be used for food delivery. + /// + public const string Delivery = "delivery"; + + /// + /// This refers to the address being collected as part of a service pickup. For example, this could be the address for laundry pickup. + /// + public const string PickUp = "pickup"; + } +} diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/Swagger/Connector-Payments.json b/CSharp/Library/Microsoft.Bot.Connector.Shared/Swagger/Connector-Payments.json new file mode 100644 index 0000000000..48546d6384 --- /dev/null +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/Swagger/Connector-Payments.json @@ -0,0 +1,366 @@ +{ + "swagger": "2.0", + "info": { + "version": "payments", + "title": "Bot Connector Payments API", + "description": "Bot Framework Payments", + "termsOfService": "https://www.microsoft.com/en-us/legal/intellectualproperty/copyright/default.aspx", + "contact": { + "name": "Bot Framework", + "url": "https://botframework.com", + "email": "botframework@microsoft.com" + }, + "license": { + "name": "The MIT License (MIT)", + "url": "https://opensource.org/licenses/MIT" + } + }, + "host": "api.botframework.com", + "schemes": [ "https" ], + "definitions": { + "Object": { + "type": "object", + "properties": {} + }, + "MicrosoftPayMethodData": { + "description": "W3C Payment Method Data for Microsoft Pay", + "type": "object", + "properties": { + "merchantId": { + "description": "Microsoft Pay Merchant ID", + "type": "string" + }, + "supportedNetworks": { + "description": "Supported payment networks (e.g., \"visa\" and \"mastercard\")", + "type": "array", + "items": { "type": "string" } + }, + "supportedTypes": { + "description": "Supported payment types (e.g., \"credit\")", + "type": "array", + "items": { "type": "string" } + } + } + }, + "PaymentAddress": { + "description": "Address within a Payment Request", + "type": "object", + "properties": { + "country": { + "description": "This is the CLDR (Common Locale Data Repository) region code. For example, US, GB, CN, or JP", + "type": "string" + }, + "addressLine": { + "description": "This is the most specific part of the address. It can include, for example, a street name, a house number, apartment number, a rural delivery route, descriptive instructions, or a post office box number.", + "type": "array", + "items": { "type": "string" } + }, + "region": { + "description": "This is the top level administrative subdivision of the country. For example, this can be a state, a province, an oblast, or a prefecture.", + "type": "string" + }, + "city": { + "description": "This is the city/town portion of the address.", + "type": "string" + }, + "dependentLocality": { + "description": "This is the dependent locality or sublocality within a city. For example, used for neighborhoods, boroughs, districts, or UK dependent localities.", + "type": "string" + }, + "postalCode": { + "description": "This is the postal code or ZIP code, also known as PIN code in India.", + "type": "string" + }, + "sortingCode": { + "description": "This is the sorting code as used in, for example, France.", + "type": "string" + }, + "languageCode": { + "description": "This is the BCP-47 language code for the address. It's used to determine the field separators and the order of fields when formatting the address for display.", + "type": "string" + }, + "organization": { + "description": "This is the organization, firm, company, or institution at this address.", + "type": "string" + }, + "recipient": { + "description": "This is the name of the recipient or contact person.", + "type": "string" + }, + "phone": { + "description": "This is the phone number of the recipient or contact person.", + "type": "string" + } + } + }, + "PaymentCurrencyAmount": { + "description": "Supplies monetary amounts", + "type": "object", + "properties": { + "currency": { + "description": "A currency identifier", + "type": "string" + }, + "value": { + "description": "Decimal monetary value", + "type": "string" + }, + "currencySystem": { + "description": "Currency system", + "type": "string" + } + } + }, + "PaymentDetails": { + "description": "Provides information about the requested transaction", + "type": "object", + "properties": { + "total": { + "$ref": "#/definitions/PaymentItem", + "description": "Contains the total amount of the payment request" + }, + "displayItems": { + "description": "Contains line items for the payment request that the user agent may display", + "type": "array", + "items": { "$ref": "#/definitions/PaymentItem" } + }, + "shippingOptions": { + "description": "A sequence containing the different shipping options for the user to choose from", + "type": "array", + "items": { "$ref": "#/definitions/PaymentShippingOption" } + }, + "modifiers": { + "description": "Contains modifiers for particular payment method identifiers", + "type": "array", + "items": { "$ref": "#/definitions/PaymentDetailsModifier" } + }, + "error": { + "description": "Error description", + "type": "string" + } + } + }, + "PaymentItem": { + "description": "Indicates what the payment request is for and the value asked for", + "type": "object", + "properties": { + "label": { + "description": "Human-readable description of the item", + "type": "string" + }, + "amount": { + "$ref": "#/definitions/PaymentCurrencyAmount", + "description": "Monetary amount for the item" + }, + "pending": { + "description": "When set to true this flag means that the amount field is not final.", + "type": "boolean" + } + } + }, + "PaymentShippingOption": { + "description": "Describes a shipping option", + "type": "object", + "properties": { + "id": { + "description": "String identifier used to reference this PaymentShippingOption", + "type": "string" + }, + "label": { + "description": "Human-readable description of the item", + "type": "string" + }, + "amount": { + "$ref": "#/definitions/PaymentCurrencyAmount", + "description": "Contains the monetary amount for the item" + }, + "selected": { + "description": "Indicates whether this is the default selected PaymentShippingOption", + "type": "boolean" + } + } + }, + "PaymentDetailsModifier": { + "description": "Provides details that modify the PaymentDetails based on payment method identifier", + "type": "object", + "properties": { + "supportedMethods": { + "description": "Contains a sequence of payment method identifiers", + "type": "array", + "items": { "type": "string" } + }, + "total": { + "$ref": "#/definitions/PaymentItem", + "description": "This value overrides the total field in the PaymentDetails dictionary for the payment method identifiers in the supportedMethods field" + }, + "additionalDisplayItems": { + "description": "Provides additional display items that are appended to the displayItems field in the PaymentDetails dictionary for the payment method identifiers in the supportedMethods field", + "type": "array", + "items": { "$ref": "#/definitions/PaymentItem" } + }, + "data": { + "$ref": "#/definitions/Object", + "description": "A JSON-serializable object that provides optional information that might be needed by the supported payment methods" + } + } + }, + "PaymentMethodData": { + "description": "Indicates a set of supported payment methods and any associated payment method specific data for those methods", + "type": "object", + "properties": { + "supportedMethods": { + "description": "Required sequence of strings containing payment method identifiers for payment methods that the merchant web site accepts", + "type": "array", + "items": { "type": "string" } + }, + "data": { + "$ref": "#/definitions/Object", + "description": "A JSON-serializable object that provides optional information that might be needed by the supported payment methods" + } + } + }, + "PaymentOptions": { + "description": "Provides information about the options desired for the payment request", + "type": "object", + "properties": { + "requestPayerName": { + "description": "Indicates whether the user agent should collect and return the payer's name as part of the payment request", + "type": "boolean" + }, + "requestPayerEmail": { + "description": "Indicates whether the user agent should collect and return the payer's email address as part of the payment request", + "type": "boolean" + }, + "requestPayerPhone": { + "description": "Indicates whether the user agent should collect and return the payer's phone number as part of the payment request", + "type": "boolean" + }, + "requestShipping": { + "description": "Indicates whether the user agent should collect and return a shipping address as part of the payment request", + "type": "boolean" + }, + "shippingType": { + "description": "If requestShipping is set to true, then the shippingType field may be used to influence the way the user agent presents the user interface for gathering the shipping address", + "type": "string" + } + } + }, + "PaymentRequest": { + "description": "A request to make a payment", + "type": "object", + "properties": { + "id": { + "description": "ID of this payment request", + "type": "string" + }, + "methodData": { + "description": "Allowed payment methods for this request", + "type": "array", + "items": { "$ref": "#/definitions/PaymentMethodData" } + }, + "details": { + "$ref": "#/definitions/PaymentDetails", + "description": "Details for this request" + }, + "options": { + "$ref": "#/definitions/PaymentOptions", + "description": "Provides information about the options desired for the payment request" + }, + "expires": { + "description": "Expiration for this request, in ISO 8601 duration format (e.g., 'P1D')", + "type": "string" + } + } + }, + "PaymentRequestComplete": { + "description": "Payload delivered when completing a payment request", + "type": "object", + "properties": { + "id": { + "description": "Payment request ID", + "type": "string" + }, + "paymentRequest": { + "$ref": "#/definitions/PaymentRequest", + "description": "Initial payment request" + }, + "paymentResponse": { + "$ref": "#/definitions/PaymentResponse", + "description": "Corresponding payment response" + } + } + }, + "PaymentResponse": { + "description": "A PaymentResponse is returned when a user has selected a payment method and approved a payment request", + "type": "object", + "properties": { + "methodName": { + "description": "The payment method identifier for the payment method that the user selected to fulfil the transaction", + "type": "string" + }, + "details": { + "$ref": "#/definitions/Object", + "description": "A JSON-serializable object that provides a payment method specific message used by the merchant to process the transaction and determine successful fund transfer" + }, + "shippingAddress": { + "$ref": "#/definitions/PaymentAddress", + "description": "If the requestShipping flag was set to true in the PaymentOptions passed to the PaymentRequest constructor, then shippingAddress will be the full and final shipping address chosen by the user" + }, + "shippingOption": { + "description": "If the requestShipping flag was set to true in the PaymentOptions passed to the PaymentRequest constructor, then shippingOption will be the id attribute of the selected shipping option", + "type": "string" + }, + "payerEmail": { + "description": "If the requestPayerEmail flag was set to true in the PaymentOptions passed to the PaymentRequest constructor, then payerEmail will be the email address chosen by the user", + "type": "string" + }, + "payerPhone": { + "description": "If the requestPayerPhone flag was set to true in the PaymentOptions passed to the PaymentRequest constructor, then payerPhone will be the phone number chosen by the user", + "type": "string" + } + } + }, + "PaymentRequestCompleteResult": { + "description": "Result from a completed payment request", + "type": "object", + "properties": { + "result": { + "description": "Result of the payment request completion", + "type": "string" + } + } + }, + "PaymentRequestUpdate": { + "description": "An update to a payment request", + "type": "object", + "properties": { + "id": { + "description": "ID for the payment request to update", + "type": "string" + }, + "details": { + "$ref": "#/definitions/PaymentDetails", + "description": "Update payment details" + }, + "shippingAddress": { + "$ref": "#/definitions/PaymentAddress", + "description": "Updated shipping address" + }, + "shippingOption": { + "description": "Updated shipping options", + "type": "string" + } + } + }, + "PaymentRequestUpdateResult": { + "description": "A result object from a Payment Request Update invoke operation", + "type": "object", + "properties": { + "details": { + "$ref": "#/definitions/PaymentDetails", + "description": "Update payment details" + } + } + } + } +} \ No newline at end of file diff --git a/CSharp/Library/Microsoft.Bot.Connector.Shared/generateClient.cmd b/CSharp/Library/Microsoft.Bot.Connector.Shared/generateClient.cmd index c26de85e3c..ff755eaa0b 100644 --- a/CSharp/Library/Microsoft.Bot.Connector.Shared/generateClient.cmd +++ b/CSharp/Library/Microsoft.Bot.Connector.Shared/generateClient.cmd @@ -4,6 +4,13 @@ call npm install replace@0.3.0 ..\..\packages\autorest.0.16.0\tools\AutoRest -namespace Microsoft.Bot.Connector -input swagger\ConnectorApi.json -outputDirectory ConnectorAPI -AddCredentials -ClientName ConnectorClient ..\..\packages\autorest.0.16.0\tools\AutoRest -namespace Microsoft.Bot.Connector -input swagger\StateAPI.json -outputDirectory StateApi -AddCredentials -ClientName StateClient + +rd /s /q Payments\Models\ +..\..\packages\autorest.0.16.0\tools\AutoRest -namespace Microsoft.Bot.Connector.Payments -input swagger\Connector-Payments.json -outputDirectory Payments\Models -AddCredentials -ClientName PaymentsClient +erase Payments\Models\*.cs +move Payments\Models\Models\* Payments\Models +rd /s /q Payments\Models\Models + cd ConnectorAPI call ..\node_modules\.bin\replace "Microsoft.Bot.Connector.Models" "Microsoft.Bot.Connector" . -r --include="*.cs" call ..\node_modules\.bin\replace "using Models;" "" . -r --include="*.cs" @@ -14,5 +21,11 @@ cd StateAPI call ..\node_modules\.bin\replace "Microsoft.Bot.Connector.Models" "Microsoft.Bot.Connector" . -r --include="*.cs" call ..\node_modules\.bin\replace "using Models;" "" . -r --include="*.cs" cd .. +cd Payments\Models\ +call ..\..\node_modules\.bin\replace "namespace Microsoft.Bot.Connector.Payments.Models" "namespace Microsoft.Bot.Connector.Payments" . -r --include="*.cs" +call ..\..\node_modules\.bin\replace "using Models;" "" . -r --include="*.cs" +call ..\..\node_modules\.bin\replace "using Microsoft.Rest;" "" . -r --include="*.cs" +call ..\..\node_modules\.bin\replace "using Microsoft.Rest.Serialization;" "" . -r --include="*.cs" +cd ..\.. @echo !!!!! Please review ConversationsExtensions.cs and BotStateExtensions.cs for custom throw code pause \ No newline at end of file