diff --git a/Api/InstrumentIdentifierApi.cs b/Api/InstrumentIdentifierApi.cs index 3ef03418..e70b4a2c 100644 --- a/Api/InstrumentIdentifierApi.cs +++ b/Api/InstrumentIdentifierApi.cs @@ -131,7 +131,7 @@ public interface IInstrumentIdentifierApi : IApiAccessor /// /// /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier PostInstrumentIdentifier (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null); @@ -143,10 +143,35 @@ public interface IInstrumentIdentifierApi : IApiAccessor /// /// /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// ApiResponse of Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier ApiResponse PostInstrumentIdentifierWithHttpInfo (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null); + /// + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// + /// + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// + void PostInstrumentIdentifierEnrollment (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null); + + /// + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// + /// + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// ApiResponse of Object(void) + ApiResponse PostInstrumentIdentifierEnrollmentWithHttpInfo (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null); #endregion Synchronous Operations #region Asynchronous Operations /// @@ -256,7 +281,7 @@ public interface IInstrumentIdentifierApi : IApiAccessor /// /// /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// Task of Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier System.Threading.Tasks.Task PostInstrumentIdentifierAsync (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null); @@ -268,10 +293,35 @@ public interface IInstrumentIdentifierApi : IApiAccessor /// /// /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// Task of ApiResponse (Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier) System.Threading.Tasks.Task> PostInstrumentIdentifierAsyncWithHttpInfo (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null); + /// + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// + /// + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// Task of void + System.Threading.Tasks.Task PostInstrumentIdentifierEnrollmentAsync (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null); + + /// + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// + /// + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// Task of ApiResponse + System.Threading.Tasks.Task> PostInstrumentIdentifierEnrollmentAsyncWithHttpInfo (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null); #endregion Asynchronous Operations } @@ -990,7 +1040,7 @@ public async System.Threading.Tasks.Task /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier PostInstrumentIdentifier (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null) @@ -1003,7 +1053,7 @@ public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifie /// Create an Instrument Identifier /// /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// ApiResponse of Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier public ApiResponse< Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier > PostInstrumentIdentifierWithHttpInfo (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null) @@ -1067,7 +1117,7 @@ public ApiResponse< Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstru /// Create an Instrument Identifier /// /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// Task of Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier public async System.Threading.Tasks.Task PostInstrumentIdentifierAsync (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null) @@ -1081,7 +1131,7 @@ public async System.Threading.Tasks.Task /// Thrown when fails to make API call - /// Please specify either a Card, Bank Account or Enrollable Card + /// Specify either a Card, Bank Account or Enrollable Card /// The id of a profile containing user specific TMS configuration. (optional) /// Task of ApiResponse (Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier) public async System.Threading.Tasks.Task> PostInstrumentIdentifierAsyncWithHttpInfo (PostInstrumentIdentifierRequest postInstrumentIdentifierRequest, string profileId = null) @@ -1141,5 +1191,170 @@ public async System.Threading.Tasks.Task + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// + public void PostInstrumentIdentifierEnrollment (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null) + { + PostInstrumentIdentifierEnrollmentWithHttpInfo(instrumentIdentifierTokenId, postInstrumentIdentifierEnrollmentRequest, profileId); + } + + /// + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// ApiResponse of Object(void) + public ApiResponse PostInstrumentIdentifierEnrollmentWithHttpInfo (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null) + { + // verify the required parameter 'instrumentIdentifierTokenId' is set + if (instrumentIdentifierTokenId == null) + throw new ApiException(400, "Missing required parameter 'instrumentIdentifierTokenId' when calling InstrumentIdentifierApi->PostInstrumentIdentifierEnrollment"); + // verify the required parameter 'postInstrumentIdentifierEnrollmentRequest' is set + if (postInstrumentIdentifierEnrollmentRequest == null) + throw new ApiException(400, "Missing required parameter 'postInstrumentIdentifierEnrollmentRequest' when calling InstrumentIdentifierApi->PostInstrumentIdentifierEnrollment"); + + var localVarPath = $"/tms/v1/instrumentidentifiers/{instrumentIdentifierTokenId}/enrollment"; + var localVarPathParams = new Dictionary(); + var localVarQueryParams = new Dictionary(); + var localVarHeaderParams = new Dictionary(Configuration.DefaultHeader); + var localVarFormParams = new Dictionary(); + var localVarFileParams = new Dictionary(); + Object localVarPostBody = null; + + // to determine the Content-Type header + String[] localVarHttpContentTypes = new String[] { + "application/json;charset=utf-8" + }; + String localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes); + + // to determine the Accept header + String[] localVarHttpHeaderAccepts = new String[] { + "application/json;charset=utf-8" + }; + String localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts); + if (localVarHttpHeaderAccept != null) + localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept); + + if (instrumentIdentifierTokenId != null) localVarPathParams.Add("instrumentIdentifierTokenId", Configuration.ApiClient.ParameterToString(instrumentIdentifierTokenId)); // path parameter + if (profileId != null) localVarHeaderParams.Add("profile-id", Configuration.ApiClient.ParameterToString(profileId)); // header parameter + if (postInstrumentIdentifierEnrollmentRequest != null && postInstrumentIdentifierEnrollmentRequest.GetType() != typeof(byte[])) + { + localVarPostBody = Configuration.ApiClient.Serialize(postInstrumentIdentifierEnrollmentRequest); // http body (model) parameter + } + else + { + localVarPostBody = postInstrumentIdentifierEnrollmentRequest; // byte array + } + + + // make the HTTP request + IRestResponse localVarResponse = (IRestResponse) Configuration.ApiClient.CallApi(localVarPath, + Method.POST, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams, + localVarPathParams, localVarHttpContentType); + + int localVarStatusCode = (int) localVarResponse.StatusCode; + + if (ExceptionFactory != null) + { + Exception exception = ExceptionFactory("PostInstrumentIdentifierEnrollment", localVarResponse); + if (exception != null) throw exception; + } + + return new ApiResponse(localVarStatusCode, + localVarResponse.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()), + null); // Return statement + } + + /// + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// Task of void + public async System.Threading.Tasks.Task PostInstrumentIdentifierEnrollmentAsync (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null) + { + await PostInstrumentIdentifierEnrollmentAsyncWithHttpInfo(instrumentIdentifierTokenId, postInstrumentIdentifierEnrollmentRequest, profileId); + + } + + /// + /// Enroll an Instrument Identifier for Network Tokenization + /// + /// Thrown when fails to make API call + /// The TokenId of a Instrument Identifier. + /// Specify Enrollable Card details + /// The id of a profile containing user specific TMS configuration. (optional) + /// Task of ApiResponse + public async System.Threading.Tasks.Task> PostInstrumentIdentifierEnrollmentAsyncWithHttpInfo (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null) + { + // verify the required parameter 'instrumentIdentifierTokenId' is set + if (instrumentIdentifierTokenId == null) + throw new ApiException(400, "Missing required parameter 'instrumentIdentifierTokenId' when calling InstrumentIdentifierApi->PostInstrumentIdentifierEnrollment"); + // verify the required parameter 'postInstrumentIdentifierEnrollmentRequest' is set + if (postInstrumentIdentifierEnrollmentRequest == null) + throw new ApiException(400, "Missing required parameter 'postInstrumentIdentifierEnrollmentRequest' when calling InstrumentIdentifierApi->PostInstrumentIdentifierEnrollment"); + + var localVarPath = $"/tms/v1/instrumentidentifiers/{instrumentIdentifierTokenId}/enrollment"; + var localVarPathParams = new Dictionary(); + var localVarQueryParams = new Dictionary(); + var localVarHeaderParams = new Dictionary(Configuration.DefaultHeader); + var localVarFormParams = new Dictionary(); + var localVarFileParams = new Dictionary(); + Object localVarPostBody = null; + + // to determine the Content-Type header + String[] localVarHttpContentTypes = new String[] { + "application/json;charset=utf-8" + }; + String localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes); + + // to determine the Accept header + String[] localVarHttpHeaderAccepts = new String[] { + "application/json;charset=utf-8" + }; + String localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts); + if (localVarHttpHeaderAccept != null) + localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept); + + if (instrumentIdentifierTokenId != null) localVarPathParams.Add("instrumentIdentifierTokenId", Configuration.ApiClient.ParameterToString(instrumentIdentifierTokenId)); // path parameter + if (profileId != null) localVarHeaderParams.Add("profile-id", Configuration.ApiClient.ParameterToString(profileId)); // header parameter + if (postInstrumentIdentifierEnrollmentRequest != null && postInstrumentIdentifierEnrollmentRequest.GetType() != typeof(byte[])) + { + localVarPostBody = Configuration.ApiClient.Serialize(postInstrumentIdentifierEnrollmentRequest); // http body (model) parameter + } + else + { + localVarPostBody = postInstrumentIdentifierEnrollmentRequest; // byte array + } + + + // make the HTTP request + IRestResponse localVarResponse = (IRestResponse) await Configuration.ApiClient.CallApiAsync(localVarPath, + Method.POST, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams, + localVarPathParams, localVarHttpContentType); + + int localVarStatusCode = (int) localVarResponse.StatusCode; + + if (ExceptionFactory != null) + { + Exception exception = ExceptionFactory("PostInstrumentIdentifierEnrollment", localVarResponse); + if (exception != null) throw exception; + } + + return new ApiResponse(localVarStatusCode, + localVarResponse.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()), + null); // Return statement + } + } } diff --git a/Model/PostInstrumentIdentifierEnrollmentRequest.cs b/Model/PostInstrumentIdentifierEnrollmentRequest.cs new file mode 100644 index 00000000..bbc7742c --- /dev/null +++ b/Model/PostInstrumentIdentifierEnrollmentRequest.cs @@ -0,0 +1,304 @@ +/* + * CyberSource Merged Spec + * + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using SwaggerDateConverter = CyberSource.Client.SwaggerDateConverter; + +namespace CyberSource.Model +{ + /// + /// PostInstrumentIdentifierEnrollmentRequest + /// + [DataContract] + public partial class PostInstrumentIdentifierEnrollmentRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Links. + /// The id of the Instrument Identifier Token. . + /// The type of Instrument Identifier. Valid values: - enrollable card . + /// Card. + /// BankAccount. + /// TokenizedCard. + /// Issuer. + /// ProcessingInformation. + /// BillTo. + /// Metadata. + public PostInstrumentIdentifierEnrollmentRequest(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierLinks Links = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierLinks), string Id = default(string), string Type = default(string), Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierCard Card = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierCard), Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBankAccount BankAccount = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBankAccount), Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierTokenizedCard TokenizedCard = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierTokenizedCard), Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierIssuer Issuer = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierIssuer), Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierProcessingInformation ProcessingInformation = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierProcessingInformation), Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBillTo BillTo = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBillTo), Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierMetadata Metadata = default(Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierMetadata)) + { + this.Links = Links; + this.Id = Id; + this.Type = Type; + this.Card = Card; + this.BankAccount = BankAccount; + this.TokenizedCard = TokenizedCard; + this.Issuer = Issuer; + this.ProcessingInformation = ProcessingInformation; + this.BillTo = BillTo; + this.Metadata = Metadata; + } + + /// + /// Gets or Sets Links + /// + [DataMember(Name="_links", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierLinks Links { get; set; } + + /// + /// The id of the Instrument Identifier Token. + /// + /// The id of the Instrument Identifier Token. + [DataMember(Name="id", EmitDefaultValue=false)] + public string Id { get; set; } + + /// + /// The type of token. Valid values: - instrumentIdentifier + /// + /// The type of token. Valid values: - instrumentIdentifier + [DataMember(Name="object", EmitDefaultValue=false)] + public string _Object { get; private set; } + + /// + /// Issuers state for the card number. Valid values: - ACTIVE - CLOSED : The account has been closed. + /// + /// Issuers state for the card number. Valid values: - ACTIVE - CLOSED : The account has been closed. + [DataMember(Name="state", EmitDefaultValue=false)] + public string State { get; private set; } + + /// + /// The type of Instrument Identifier. Valid values: - enrollable card + /// + /// The type of Instrument Identifier. Valid values: - enrollable card + [DataMember(Name="type", EmitDefaultValue=false)] + public string Type { get; set; } + + /// + /// Gets or Sets Card + /// + [DataMember(Name="card", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierCard Card { get; set; } + + /// + /// Gets or Sets BankAccount + /// + [DataMember(Name="bankAccount", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBankAccount BankAccount { get; set; } + + /// + /// Gets or Sets TokenizedCard + /// + [DataMember(Name="tokenizedCard", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierTokenizedCard TokenizedCard { get; set; } + + /// + /// Gets or Sets Issuer + /// + [DataMember(Name="issuer", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierIssuer Issuer { get; set; } + + /// + /// Gets or Sets ProcessingInformation + /// + [DataMember(Name="processingInformation", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierProcessingInformation ProcessingInformation { get; set; } + + /// + /// Gets or Sets BillTo + /// + [DataMember(Name="billTo", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBillTo BillTo { get; set; } + + /// + /// Gets or Sets Metadata + /// + [DataMember(Name="metadata", EmitDefaultValue=false)] + public Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierMetadata Metadata { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class PostInstrumentIdentifierEnrollmentRequest {\n"); + sb.Append(" Links: ").Append(Links).Append("\n"); + sb.Append(" Id: ").Append(Id).Append("\n"); + sb.Append(" _Object: ").Append(_Object).Append("\n"); + sb.Append(" State: ").Append(State).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Card: ").Append(Card).Append("\n"); + sb.Append(" BankAccount: ").Append(BankAccount).Append("\n"); + sb.Append(" TokenizedCard: ").Append(TokenizedCard).Append("\n"); + sb.Append(" Issuer: ").Append(Issuer).Append("\n"); + sb.Append(" ProcessingInformation: ").Append(ProcessingInformation).Append("\n"); + sb.Append(" BillTo: ").Append(BillTo).Append("\n"); + sb.Append(" Metadata: ").Append(Metadata).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object obj) + { + // credit: http://stackoverflow.com/a/10454552/677735 + return this.Equals(obj as PostInstrumentIdentifierEnrollmentRequest); + } + + /// + /// Returns true if PostInstrumentIdentifierEnrollmentRequest instances are equal + /// + /// Instance of PostInstrumentIdentifierEnrollmentRequest to be compared + /// Boolean + public bool Equals(PostInstrumentIdentifierEnrollmentRequest other) + { + // credit: http://stackoverflow.com/a/10454552/677735 + if (other == null) + return false; + + return + ( + this.Links == other.Links || + this.Links != null && + this.Links.Equals(other.Links) + ) && + ( + this.Id == other.Id || + this.Id != null && + this.Id.Equals(other.Id) + ) && + ( + this._Object == other._Object || + this._Object != null && + this._Object.Equals(other._Object) + ) && + ( + this.State == other.State || + this.State != null && + this.State.Equals(other.State) + ) && + ( + this.Type == other.Type || + this.Type != null && + this.Type.Equals(other.Type) + ) && + ( + this.Card == other.Card || + this.Card != null && + this.Card.Equals(other.Card) + ) && + ( + this.BankAccount == other.BankAccount || + this.BankAccount != null && + this.BankAccount.Equals(other.BankAccount) + ) && + ( + this.TokenizedCard == other.TokenizedCard || + this.TokenizedCard != null && + this.TokenizedCard.Equals(other.TokenizedCard) + ) && + ( + this.Issuer == other.Issuer || + this.Issuer != null && + this.Issuer.Equals(other.Issuer) + ) && + ( + this.ProcessingInformation == other.ProcessingInformation || + this.ProcessingInformation != null && + this.ProcessingInformation.Equals(other.ProcessingInformation) + ) && + ( + this.BillTo == other.BillTo || + this.BillTo != null && + this.BillTo.Equals(other.BillTo) + ) && + ( + this.Metadata == other.Metadata || + this.Metadata != null && + this.Metadata.Equals(other.Metadata) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + // credit: http://stackoverflow.com/a/263416/677735 + unchecked // Overflow is fine, just wrap + { + int hash = 41; + // Suitable nullity checks etc, of course :) + if (this.Links != null) + hash = hash * 59 + this.Links.GetHashCode(); + if (this.Id != null) + hash = hash * 59 + this.Id.GetHashCode(); + if (this._Object != null) + hash = hash * 59 + this._Object.GetHashCode(); + if (this.State != null) + hash = hash * 59 + this.State.GetHashCode(); + if (this.Type != null) + hash = hash * 59 + this.Type.GetHashCode(); + if (this.Card != null) + hash = hash * 59 + this.Card.GetHashCode(); + if (this.BankAccount != null) + hash = hash * 59 + this.BankAccount.GetHashCode(); + if (this.TokenizedCard != null) + hash = hash * 59 + this.TokenizedCard.GetHashCode(); + if (this.Issuer != null) + hash = hash * 59 + this.Issuer.GetHashCode(); + if (this.ProcessingInformation != null) + hash = hash * 59 + this.ProcessingInformation.GetHashCode(); + if (this.BillTo != null) + hash = hash * 59 + this.BillTo.GetHashCode(); + if (this.Metadata != null) + hash = hash * 59 + this.Metadata.GetHashCode(); + return hash; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Model/Ptsv2paymentsAcquirerInformation.cs b/Model/Ptsv2paymentsAcquirerInformation.cs index 781b2fb5..f32695eb 100644 --- a/Model/Ptsv2paymentsAcquirerInformation.cs +++ b/Model/Ptsv2paymentsAcquirerInformation.cs @@ -174,9 +174,9 @@ public override int GetHashCode() IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { // AcquirerBin (string) maxLength - if(this.AcquirerBin != null && this.AcquirerBin.Length >= 6) + if(this.AcquirerBin != null && this.AcquirerBin.Length >= 11) { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AcquirerBin, length must be less than or equal to 6.", new [] { "AcquirerBin" }); + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AcquirerBin, length must be less than or equal to 11.", new [] { "AcquirerBin" }); } // Country (string) maxLength diff --git a/Model/TssV2TransactionsGet200ResponseProcessingInformation.cs b/Model/TssV2TransactionsGet200ResponseProcessingInformation.cs index 623da06a..d98fe3e7 100644 --- a/Model/TssV2TransactionsGet200ResponseProcessingInformation.cs +++ b/Model/TssV2TransactionsGet200ResponseProcessingInformation.cs @@ -33,7 +33,7 @@ public partial class TssV2TransactionsGet200ResponseProcessingInformation : IEq /// /// Initializes a new instance of the class. /// - /// Type of digital payment solution for the transaction. Possible Values: - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/) - `001`: Apple Pay. - `004`: Cybersource In-App Solution. - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) - `006`: Android Pay. - `007`: Chase Pay. - `008`: Samsung Pay. - `012`: Google Pay. . + /// Type of digital payment solution for the transaction. . /// Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. Only `internet`, `moto`, `install`, `recurring`, and `recurring_internet` are valid values. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.) #### Payer Authentication Transactions For the possible values and requirements, see \"Payer Authentication,\" page 195. #### Other Types of Transactions See Appendix I, \"Commerce Indicators,\" on page 441. #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as “moto\" . /// Payouts transaction type. Required for OCT transactions. This field is a pass-through, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. **Note** When the request includes this field, this value overrides the information in your CyberSource account. For valid values, see the `invoiceHeader_businessApplicationID` field description in [Payouts Using the Simple Order API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SO/Payouts_SO_API.pdf) . /// AuthorizationOptions. @@ -50,9 +50,9 @@ public partial class TssV2TransactionsGet200ResponseProcessingInformation : IEq } /// - /// Type of digital payment solution for the transaction. Possible Values: - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/) - `001`: Apple Pay. - `004`: Cybersource In-App Solution. - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) - `006`: Android Pay. - `007`: Chase Pay. - `008`: Samsung Pay. - `012`: Google Pay. + /// Type of digital payment solution for the transaction. /// - /// Type of digital payment solution for the transaction. Possible Values: - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/) - `001`: Apple Pay. - `004`: Cybersource In-App Solution. - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) - `006`: Android Pay. - `007`: Chase Pay. - `008`: Samsung Pay. - `012`: Google Pay. + /// Type of digital payment solution for the transaction. [DataMember(Name="paymentSolution", EmitDefaultValue=false)] public string PaymentSolution { get; set; } @@ -205,9 +205,9 @@ public override int GetHashCode() IEnumerable IValidatableObject.Validate(ValidationContext validationContext) { // PaymentSolution (string) maxLength - if(this.PaymentSolution != null && this.PaymentSolution.Length >= 12) + if(this.PaymentSolution != null && this.PaymentSolution.Length >= 50) { - yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PaymentSolution, length must be less than or equal to 12.", new [] { "PaymentSolution" }); + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PaymentSolution, length must be less than or equal to 50.", new [] { "PaymentSolution" }); } // CommerceIndicator (string) maxLength diff --git a/Model/V1FileDetailsGet200ResponseFileDetails.cs b/Model/V1FileDetailsGet200ResponseFileDetails.cs index 2de4b7df..0cf9d4ca 100644 --- a/Model/V1FileDetailsGet200ResponseFileDetails.cs +++ b/Model/V1FileDetailsGet200ResponseFileDetails.cs @@ -40,7 +40,7 @@ public partial class V1FileDetailsGet200ResponseFileDetails : IEquatableDate and time for the file in PST. /// 'File extension' Valid values: - 'application/xml' - 'text/csv' - 'application/pdf' - 'application/octet-stream' . /// Size of the file in bytes. - public V1FileDetailsGet200ResponseFileDetails(string FileId = default(string), string Name = default(string), DateTime? CreatedTime = default(DateTime?), DateTime? LastModifiedTime = default(DateTime?), DateTime? Date = default(DateTime?), string MimeType = default(string), int? Size = default(int?)) + public V1FileDetailsGet200ResponseFileDetails(string FileId = default(string), string Name = default(string), DateTime? CreatedTime = default(DateTime?), DateTime? LastModifiedTime = default(DateTime?), DateTime? Date = default(DateTime?), string MimeType = default(string), decimal? Size = default(decimal?)) { this.FileId = FileId; this.Name = Name; @@ -99,7 +99,7 @@ public partial class V1FileDetailsGet200ResponseFileDetails : IEquatable /// Size of the file in bytes [DataMember(Name="size", EmitDefaultValue=false)] - public int? Size { get; set; } + public decimal? Size { get; set; } /// /// Returns the string presentation of the object diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 68003ab7..259abf3c 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -28,5 +28,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("0.0.1.7")] -[assembly: AssemblyFileVersion("0.0.1.7")] +[assembly: AssemblyVersion("0.0.1.8")] +[assembly: AssemblyFileVersion("0.0.1.8")] diff --git a/cybersource-rest-client-dotnet.csproj b/cybersource-rest-client-dotnet.csproj index 3b523d93..ec5f6f25 100644 --- a/cybersource-rest-client-dotnet.csproj +++ b/cybersource-rest-client-dotnet.csproj @@ -1,4 +1,4 @@ - + - Debug AnyCPU - {916D10BD-4CDB-439A-806A-A13D2F38C9DD} + {98BDC679-65E8-4071-B382-76C9A64DF83A} Library Properties CyberSource @@ -49,27 +48,25 @@ OpenAPI spec version: 0.0.1 - packages\CyberSource.Authentication.0.0.0.7\lib\AuthenticationSdk.dll + packages\CyberSource.Authentication.0.0.0.8\lib\AuthenticationSdk.dll packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll - packages\RestSharp.106.5.4\lib\net452\RestSharp.dll + packages\RestSharp.106.5.4\lib\net452\RestSharp.dll - + - - - + + + - - + \ No newline at end of file diff --git a/cybersource-rest-client-dotnet.nuspec b/cybersource-rest-client-dotnet.nuspec index 5866ec6e..46869d9d 100644 --- a/cybersource-rest-client-dotnet.nuspec +++ b/cybersource-rest-client-dotnet.nuspec @@ -2,7 +2,7 @@ CyberSource.Rest.Client - 0.0.1.7 + 0.0.1.8 CyberSource.Rest.Client CyberSource Corporation CyberSource @@ -13,7 +13,7 @@ - + diff --git a/cybersource-rest-client-dotnet.sln b/cybersource-rest-client-dotnet.sln index 8c1fcdeb..afe0f351 100644 --- a/cybersource-rest-client-dotnet.sln +++ b/cybersource-rest-client-dotnet.sln @@ -1,8 +1,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 -VisualStudioVersion = 16.0.30517.126 +VisualStudioVersion = 16.0.30621.155 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cybersource-rest-client-dotnet", "cybersource-rest-client-dotnet.csproj", "{916D10BD-4CDB-439A-806A-A13D2F38C9DD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cybersource-rest-client-dotnet", "cybersource-rest-client-dotnet.csproj", "{98BDC679-65E8-4071-B382-76C9A64DF83A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cybersource-rest-client-dotnet.Test", "test\cybersource-rest-client-dotnet.Test.csproj", "{19F1DEBC-DE5E-4517-8062-F000CD499087}" EndProject @@ -12,10 +12,10 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {916D10BD-4CDB-439A-806A-A13D2F38C9DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {916D10BD-4CDB-439A-806A-A13D2F38C9DD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {916D10BD-4CDB-439A-806A-A13D2F38C9DD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {916D10BD-4CDB-439A-806A-A13D2F38C9DD}.Release|Any CPU.Build.0 = Release|Any CPU + {98BDC679-65E8-4071-B382-76C9A64DF83A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {98BDC679-65E8-4071-B382-76C9A64DF83A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {98BDC679-65E8-4071-B382-76C9A64DF83A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {98BDC679-65E8-4071-B382-76C9A64DF83A}.Release|Any CPU.Build.0 = Release|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU {19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -25,6 +25,6 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {8A5AA581-6C98-490F-B407-837FBB93A131} + SolutionGuid = {84A720B9-BB06-4A6D-BC54-BC832687E1C6} EndGlobalSection EndGlobal diff --git a/docs/InstrumentIdentifierApi.md b/docs/InstrumentIdentifierApi.md index 40a01317..a32ef40b 100644 --- a/docs/InstrumentIdentifierApi.md +++ b/docs/InstrumentIdentifierApi.md @@ -9,6 +9,7 @@ Method | HTTP request | Description [**GetInstrumentIdentifierPaymentInstrumentsList**](InstrumentIdentifierApi.md#getinstrumentidentifierpaymentinstrumentslist) | **GET** /tms/v1/instrumentidentifiers/{instrumentIdentifierTokenId}/paymentinstruments | List Payment Instruments for an Instrument Identifier [**PatchInstrumentIdentifier**](InstrumentIdentifierApi.md#patchinstrumentidentifier) | **PATCH** /tms/v1/instrumentidentifiers/{instrumentIdentifierTokenId} | Update an Instrument Identifier [**PostInstrumentIdentifier**](InstrumentIdentifierApi.md#postinstrumentidentifier) | **POST** /tms/v1/instrumentidentifiers | Create an Instrument Identifier +[**PostInstrumentIdentifierEnrollment**](InstrumentIdentifierApi.md#postinstrumentidentifierenrollment) | **POST** /tms/v1/instrumentidentifiers/{instrumentIdentifierTokenId}/enrollment | Enroll an Instrument Identifier for Network Tokenization @@ -283,7 +284,7 @@ namespace Example public void main() { var apiInstance = new InstrumentIdentifierApi(); - var postInstrumentIdentifierRequest = new PostInstrumentIdentifierRequest(); // PostInstrumentIdentifierRequest | Please specify either a Card, Bank Account or Enrollable Card + var postInstrumentIdentifierRequest = new PostInstrumentIdentifierRequest(); // PostInstrumentIdentifierRequest | Specify either a Card, Bank Account or Enrollable Card var profileId = profileId_example; // string | The id of a profile containing user specific TMS configuration. (optional) try @@ -305,7 +306,7 @@ namespace Example Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **postInstrumentIdentifierRequest** | [**PostInstrumentIdentifierRequest**](PostInstrumentIdentifierRequest.md)| Please specify either a Card, Bank Account or Enrollable Card | + **postInstrumentIdentifierRequest** | [**PostInstrumentIdentifierRequest**](PostInstrumentIdentifierRequest.md)| Specify either a Card, Bank Account or Enrollable Card | **profileId** | **string**| The id of a profile containing user specific TMS configuration. | [optional] ### Return type @@ -323,3 +324,65 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **PostInstrumentIdentifierEnrollment** +> void PostInstrumentIdentifierEnrollment (string instrumentIdentifierTokenId, PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest, string profileId = null) + +Enroll an Instrument Identifier for Network Tokenization + +### Example +```csharp +using System; +using System.Diagnostics; +using CyberSource.Api; +using CyberSource.Client; +using CyberSource.Model; + +namespace Example +{ + public class PostInstrumentIdentifierEnrollmentExample + { + public void main() + { + var apiInstance = new InstrumentIdentifierApi(); + var instrumentIdentifierTokenId = instrumentIdentifierTokenId_example; // string | The TokenId of a Instrument Identifier. + var postInstrumentIdentifierEnrollmentRequest = new PostInstrumentIdentifierEnrollmentRequest(); // PostInstrumentIdentifierEnrollmentRequest | Specify Enrollable Card details + var profileId = profileId_example; // string | The id of a profile containing user specific TMS configuration. (optional) + + try + { + // Enroll an Instrument Identifier for Network Tokenization + apiInstance.PostInstrumentIdentifierEnrollment(instrumentIdentifierTokenId, postInstrumentIdentifierEnrollmentRequest, profileId); + } + catch (Exception e) + { + Debug.Print("Exception when calling InstrumentIdentifierApi.PostInstrumentIdentifierEnrollment: " + e.Message ); + } + } + } +} +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **instrumentIdentifierTokenId** | **string**| The TokenId of a Instrument Identifier. | + **postInstrumentIdentifierEnrollmentRequest** | [**PostInstrumentIdentifierEnrollmentRequest**](PostInstrumentIdentifierEnrollmentRequest.md)| Specify Enrollable Card details | + **profileId** | **string**| The id of a profile containing user specific TMS configuration. | [optional] + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json;charset=utf-8 + - **Accept**: application/json;charset=utf-8 + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/PostInstrumentIdentifierEnrollmentRequest.md b/docs/PostInstrumentIdentifierEnrollmentRequest.md new file mode 100644 index 00000000..fa1a9bd7 --- /dev/null +++ b/docs/PostInstrumentIdentifierEnrollmentRequest.md @@ -0,0 +1,20 @@ +# CyberSource.Model.PostInstrumentIdentifierEnrollmentRequest +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Links** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierLinks**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierLinks.md) | | [optional] +**Id** | **string** | The id of the Instrument Identifier Token. | [optional] +**_Object** | **string** | The type of token. Valid values: - instrumentIdentifier | [optional] +**State** | **string** | Issuers state for the card number. Valid values: - ACTIVE - CLOSED : The account has been closed. | [optional] +**Type** | **string** | The type of Instrument Identifier. Valid values: - enrollable card | [optional] +**Card** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierCard**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierCard.md) | | [optional] +**BankAccount** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBankAccount**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBankAccount.md) | | [optional] +**TokenizedCard** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierTokenizedCard**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierTokenizedCard.md) | | [optional] +**Issuer** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierIssuer**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierIssuer.md) | | [optional] +**ProcessingInformation** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierProcessingInformation**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierProcessingInformation.md) | | [optional] +**BillTo** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBillTo**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierBillTo.md) | | [optional] +**Metadata** | [**Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierMetadata**](Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifierMetadata.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/docs/TssV2TransactionsGet200ResponseProcessingInformation.md b/docs/TssV2TransactionsGet200ResponseProcessingInformation.md index 0dbf9e81..620f6183 100644 --- a/docs/TssV2TransactionsGet200ResponseProcessingInformation.md +++ b/docs/TssV2TransactionsGet200ResponseProcessingInformation.md @@ -3,7 +3,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**PaymentSolution** | **string** | Type of digital payment solution for the transaction. Possible Values: - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/) - `001`: Apple Pay. - `004`: Cybersource In-App Solution. - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/) - `006`: Android Pay. - `007`: Chase Pay. - `008`: Samsung Pay. - `012`: Google Pay. | [optional] +**PaymentSolution** | **string** | Type of digital payment solution for the transaction. | [optional] **CommerceIndicator** | **string** | Type of transaction. Some payment card companies use this information when determining discount rates. #### Used by **Authorization** Required payer authentication transactions; otherwise, optional. **Credit** Required for standalone credits on Chase Paymentech solutions; otherwise, optional. Only `internet`, `moto`, `install`, `recurring`, and `recurring_internet` are valid values. #### Ingenico ePayments When you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.) #### Payer Authentication Transactions For the possible values and requirements, see \"Payer Authentication,\" page 195. #### Other Types of Transactions See Appendix I, \"Commerce Indicators,\" on page 441. #### Card Present You must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be used when the cardholder and card are present at the time of the transaction. For all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator should be submitted as “moto\" | [optional] **BusinessApplicationId** | **string** | Payouts transaction type. Required for OCT transactions. This field is a pass-through, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. **Note** When the request includes this field, this value overrides the information in your CyberSource account. For valid values, see the `invoiceHeader_businessApplicationID` field description in [Payouts Using the Simple Order API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SO/Payouts_SO_API.pdf) | [optional] **AuthorizationOptions** | [**TssV2TransactionsGet200ResponseProcessingInformationAuthorizationOptions**](TssV2TransactionsGet200ResponseProcessingInformationAuthorizationOptions.md) | | [optional] diff --git a/docs/V1FileDetailsGet200ResponseFileDetails.md b/docs/V1FileDetailsGet200ResponseFileDetails.md index 07c2b72b..54f9b2f1 100644 --- a/docs/V1FileDetailsGet200ResponseFileDetails.md +++ b/docs/V1FileDetailsGet200ResponseFileDetails.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **LastModifiedTime** | **DateTime?** | Date and time for the file in PST | [optional] **Date** | **DateTime?** | Date and time for the file in PST | [optional] **MimeType** | **string** | 'File extension' Valid values: - 'application/xml' - 'text/csv' - 'application/pdf' - 'application/octet-stream' | [optional] -**Size** | **int?** | Size of the file in bytes | [optional] +**Size** | **decimal?** | Size of the file in bytes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generator/cybersource-rest-spec.json b/generator/cybersource-rest-spec.json index 45d5c9ae..752de1fb 100644 --- a/generator/cybersource-rest-spec.json +++ b/generator/cybersource-rest-spec.json @@ -3811,7 +3811,7 @@ "properties": { "acquirerBin": { "type": "string", - "maxLength": 6, + "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { @@ -27179,7 +27179,7 @@ }, "responses": { "204": { - "description": "The server fulfilled the request but does not need to return a body", + "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation id passed by upstream (calling) system.", @@ -28069,6 +28069,75 @@ } } }, + "424": { + "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Profile not found" + } + ] + } + } + }, "500": { "description": "Unexpected error.", "headers": { @@ -28562,6 +28631,75 @@ } } }, + "403": { + "description": "403ForbiddenResponse: e.g. The profile might not have permission to perform the operation.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "403ForbiddenResponse", + "message": "Request not permitted" + } + ] + } + } + }, "404": { "description": "Token Not Found. The `tokenid` may not exist or was entered incorrectly.", "headers": { @@ -28700,6 +28838,75 @@ } } }, + "424": { + "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Profile not found" + } + ] + } + } + }, "500": { "description": "Unexpected error.", "headers": { @@ -29034,6 +29241,75 @@ } } }, + "403": { + "description": "403ForbiddenResponse: e.g. The profile might not have permission to perform the operation.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "403ForbiddenResponse", + "message": "Request not permitted" + } + ] + } + } + }, "404": { "description": "Token Not Found. The `tokenid` may not exist or was entered incorrectly.", "headers": { @@ -29703,6 +29979,75 @@ } } }, + "403": { + "description": "403ForbiddenResponse: e.g. The profile might not have permission to perform the operation.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "403ForbiddenResponse", + "message": "Request not permitted" + } + ] + } + } + }, "404": { "description": "Token Not Found. The `tokenid` may not exist or was entered incorrectly.", "headers": { @@ -30110,7 +30455,7 @@ }, "responses": { "204": { - "description": "The server fulfilled the request but does not need to return a body", + "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation id passed by upstream (calling) system.", @@ -30329,6 +30674,75 @@ } } }, + "410": { + "description": "Token Not Available. The token has been deleted.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique ID associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." + } + ] + } + } + }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { @@ -35940,7 +36354,7 @@ }, "responses": { "204": { - "description": "The server fulfilled the request but does not need to return a body", + "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation id passed by upstream (calling) system.", @@ -36159,6 +36573,75 @@ } } }, + "410": { + "description": "Token Not Available. The token has been deleted.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique ID associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." + } + ] + } + } + }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { @@ -40551,7 +41034,7 @@ }, "responses": { "204": { - "description": "The server fulfilled the request but does not need to return a body", + "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation id passed by upstream (calling) system.", @@ -40927,7 +41410,7 @@ { "name": "postInstrumentIdentifierRequest", "in": "body", - "description": "Please specify either a Card, Bank Account or Enrollable Card", + "description": "Specify either a Card, Bank Account or Enrollable Card", "required": true, "schema": { "type": "object", @@ -43894,7 +44377,7 @@ }, "responses": { "204": { - "description": "The server fulfilled the request but does not need to return a body", + "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation id passed by upstream (calling) system.", @@ -45421,6 +45904,772 @@ } } }, + "/tms/v1/instrumentidentifiers/{instrumentIdentifierTokenId}/enrollment": { + "post": { + "summary": "Enroll an Instrument Identifier for Network Tokenization", + "parameters": [ + { + "name": "profile-id", + "in": "header", + "description": "The id of a profile containing user specific TMS configuration.", + "required": false, + "type": "string", + "minLength": 36, + "maxLength": 36 + }, + { + "name": "instrumentIdentifierTokenId", + "in": "path", + "description": "The TokenId of a Instrument Identifier.", + "required": true, + "type": "string", + "minLength": 12, + "maxLength": 32 + }, + { + "name": "postInstrumentIdentifierEnrollmentRequest", + "in": "body", + "description": "Specify Enrollable Card details", + "required": true, + "schema": { + "type": "object", + "properties": { + "_links": { + "type": "object", + "readOnly": true, + "properties": { + "self": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Instrument Identifier.\n", + "example": "tms/v1/instrumentidentifiers/9B8D20D13FF328CCE0539399D30A70N4" + } + } + }, + "paymentInstruments": { + "type": "object", + "readOnly": true, + "properties": { + "href": { + "type": "string", + "readOnly": true, + "description": "Link to the Instrument Identifiers Payment Instruments.\n", + "example": "tms/v1/instrumentidentifiers/9B8D20D13FF328CCE0539399D30A70N4/paymentinstruments" + } + } + } + } + }, + "id": { + "type": "string", + "description": "The id of the Instrument Identifier Token.\n" + }, + "object": { + "type": "string", + "readOnly": true, + "example": "instrumentIdentifier", + "description": "The type of token.\n\nValid values:\n- instrumentIdentifier\n" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" + }, + "type": { + "type": "string", + "description": "The type of Instrument Identifier.\nValid values:\n- enrollable card\n" + }, + "card": { + "type": "object", + "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier token.\n", + "properties": { + "number": { + "type": "string", + "minLength": 12, + "maxLength": 19, + "description": "The customer\u2019s payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" + }, + "expirationMonth": { + "type": "string", + "maxLength": 2, + "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "maxLength": 4, + "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" + }, + "securityCode": { + "type": "string", + "maxLength": 4, + "description": "Card Verification Number.\n" + } + } + }, + "bankAccount": { + "type": "object", + "properties": { + "number": { + "type": "string", + "maxLength": 17, + "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" + }, + "routingNumber": { + "type": "string", + "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" + } + } + }, + "tokenizedCard": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The network token card association brand\nValid values:\n- visa\n- mastercard\n", + "example": "visa" + }, + "state": { + "type": "string", + "readOnly": true, + "example": "ACTIVE", + "description": "Issuers state for the network token\nValid values:\n- ACTIVE\n- SUSPENDED : This state can change to ACTIVE or DELETED.\n- DELETED : This is a final state for the network token.\n" + }, + "number": { + "type": "string", + "readOnly": true, + "description": "The token requestors customer\u2019s payment network token\n" + }, + "expirationMonth": { + "type": "string", + "readOnly": true, + "maxLength": 2, + "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "readOnly": true, + "maxLength": 4, + "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" + }, + "cryptogram": { + "type": "string", + "readOnly": true, + "description": "Generated value used in conjunction with the network token for making a payment.\n", + "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" + }, + "card": { + "type": "object", + "readOnly": true, + "description": "The latest card details associated with the network token", + "properties": { + "suffix": { + "type": "string", + "readOnly": true, + "description": "The customer\u2019s latest payment card number suffix\n", + "example": "1111" + }, + "expirationMonth": { + "type": "string", + "readOnly": true, + "maxLength": 2, + "description": "\nTwo-digit month in which the customer\u2019s latest payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`.\n" + }, + "expirationYear": { + "type": "string", + "readOnly": true, + "maxLength": 4, + "description": "Four-digit year in which the customer\u2019s latest payment card expires.\n\nFormat: `YYYY`.\n" + } + } + } + } + }, + "issuer": { + "type": "object", + "readOnly": true, + "properties": { + "paymentAccountReference": { + "type": "string", + "readOnly": true, + "maxLength": 32, + "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" + } + } + }, + "processingInformation": { + "type": "object", + "properties": { + "authorizationOptions": { + "type": "object", + "properties": { + "initiator": { + "type": "object", + "properties": { + "merchantInitiatedTransaction": { + "type": "object", + "properties": { + "previousTransactionId": { + "type": "string", + "maxLength": 15, + "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" + } + } + } + } + } + } + } + } + }, + "billTo": { + "type": "object", + "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier token.\n", + "properties": { + "address1": { + "type": "string", + "maxLength": 60, + "description": "Payment card billing street address as it appears on the credit card issuer\u2019s records.\n" + }, + "address2": { + "type": "string", + "maxLength": 60, + "description": "Additional address information.\n" + }, + "locality": { + "type": "string", + "maxLength": 50, + "description": "Payment card billing city.\n" + }, + "administrativeArea": { + "type": "string", + "maxLength": 20, + "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" + }, + "postalCode": { + "type": "string", + "maxLength": 10, + "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" + }, + "country": { + "type": "string", + "maxLength": 2, + "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" + } + } + }, + "metadata": { + "type": "object", + "readOnly": true, + "properties": { + "creator": { + "type": "string", + "readOnly": true, + "description": "The creator of the Instrument Identifier token." + } + } + } + } + } + } + ], + "tags": [ + "Instrument Identifier" + ], + "operationId": "postInstrumentIdentifierEnrollment", + "x-devcenter-metaData": { + "categoryTag": "Token_Management" + }, + "consumes": [ + "application/json;charset=utf-8" + ], + "produces": [ + "application/json;charset=utf-8" + ], + "x-depends": { + "example": { + "path": "/tms/v1/instrumentidentifiers", + "verb": "post", + "exampleId": "example0" + }, + "fieldMapping": [ + { + "sourceField": "id", + "destinationField": "instrumentIdentifierTokenId", + "fieldTypeInDestination": "path" + } + ] + }, + "responses": { + "202": { + "description": "The request has been accepted for processing, but the processing has not been completed.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique ID associated with your request.", + "type": "string" + } + } + }, + "204": { + "description": "The request is fulfilled but does not need to return a body", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique ID associated with your request.", + "type": "string" + } + } + }, + "400": { + "description": "Bad Request: e.g. A required header value could be missing.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "Invalid Customer request body": { + "errors": [ + { + "type": "invalidRequest", + "message": "Invalid HTTP Body" + } + ] + } + } + }, + "403": { + "description": "403ForbiddenResponse: e.g. The profile might not have permission to perform the operation.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "403ForbiddenResponse", + "message": "Request not permitted" + } + ] + } + } + }, + "404": { + "description": "Token Not Found. The `tokenid` may not exist or was entered incorrectly.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique ID associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Token not found" + } + ] + } + } + }, + "410": { + "description": "Token Not Available. The token has been deleted.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique ID associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notAvailable", + "message": "Token not available." + } + ] + } + } + }, + "424": { + "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "notFound", + "message": "Profile not found" + } + ] + } + } + }, + "500": { + "description": "Unexpected error.", + "headers": { + "v-c-correlation-id": { + "description": "The mandatory correlation id passed by upstream (calling) system.", + "type": "string" + }, + "uniqueTransactionID": { + "description": "A globally unique id associated with your request.", + "type": "string" + } + }, + "examples": { + "application/json": { + "errors": [ + { + "type": "serverError", + "message": "Internal server error" + } + ] + } + }, + "schema": { + "type": "object", + "readOnly": true, + "properties": { + "errors": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of error." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed message related to the type stated above." + }, + "details": { + "type": "array", + "readOnly": true, + "items": { + "type": "object", + "readOnly": true, + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the field that caused the error." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The location of the field that caused the error." + } + } + } + } + } + } + } + } + } + } + }, + "x-example": { + "example0": { + "summary": "Enroll Instrument Identifier for Network Tokenization", + "value": { + "type": "enrollable card", + "card": { + "expirationMonth": "12", + "expirationYear": "2031", + "securityCode": "123" + }, + "billTo": { + "address1": "1 Market St", + "locality": "San Francisco", + "administrativeArea": "CA", + "postalCode": "94105", + "country": "US" + } + } + } + } + } + }, "/flex/v1/keys": { "x-name": "Generate Key", "x-description": "Generate a one-time use public key and key ID to encrypt the card number in the follow-on Tokenize Card request. The key used to encrypt the card number on the cardholder\u2019s device or browser is valid for 15 minutes and must be used to verify the signature in the response message. CyberSource recommends creating a new key for each order. Generating a key is an authenticated request initiated from your servers, prior to requesting to tokenize the card data from your customer\u2019s device or browser.", @@ -46800,7 +48049,7 @@ "properties": { "acquirerBin": { "type": "string", - "maxLength": 6, + "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { @@ -49522,7 +50771,7 @@ "properties": { "acquirerBin": { "type": "string", - "maxLength": 6, + "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { @@ -55150,8 +56399,8 @@ "properties": { "paymentSolution": { "type": "string", - "maxLength": 12, - "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n" + "maxLength": 50, + "description": "Type of digital payment solution for the transaction. \n" }, "commerceIndicator": { "type": "string", @@ -62689,7 +63938,7 @@ "example": "application/xml" }, "size": { - "type": "integer", + "type": "number", "description": "Size of the file in bytes", "example": 2245397 } diff --git a/packages.config b/packages.config index d033deac..f3c02ff3 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file diff --git a/test/Api/InstrumentIdentifierApiTests.cs b/test/Api/InstrumentIdentifierApiTests.cs index e499c5fb..fa03d524 100644 --- a/test/Api/InstrumentIdentifierApiTests.cs +++ b/test/Api/InstrumentIdentifierApiTests.cs @@ -133,6 +133,20 @@ public void PostInstrumentIdentifierTest() //Assert.IsInstanceOf (response, "response is Tmsv2customersEmbeddedDefaultPaymentInstrumentEmbeddedInstrumentIdentifier"); } + /// + /// Test PostInstrumentIdentifierEnrollment + /// + [Test] + public void PostInstrumentIdentifierEnrollmentTest() + { + // TODO uncomment below to test the method and replace null with proper value + //string instrumentIdentifierTokenId = null; + //PostInstrumentIdentifierEnrollmentRequest postInstrumentIdentifierEnrollmentRequest = null; + //string profileId = null; + //instance.PostInstrumentIdentifierEnrollment(instrumentIdentifierTokenId, postInstrumentIdentifierEnrollmentRequest, profileId); + + } + } } diff --git a/test/Model/PostInstrumentIdentifierEnrollmentRequestTests.cs b/test/Model/PostInstrumentIdentifierEnrollmentRequestTests.cs new file mode 100644 index 00000000..6cdae144 --- /dev/null +++ b/test/Model/PostInstrumentIdentifierEnrollmentRequestTests.cs @@ -0,0 +1,166 @@ +/* + * CyberSource Merged Spec + * + * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html + * + * OpenAPI spec version: 0.0.1 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + + +using NUnit.Framework; + +using System; +using System.Linq; +using System.IO; +using System.Collections.Generic; +using CyberSource.Api; +using CyberSource.Model; +using CyberSource.Client; +using System.Reflection; + +namespace CyberSource.Test +{ + /// + /// Class for testing PostInstrumentIdentifierEnrollmentRequest + /// + /// + /// This file is automatically generated by Swagger Codegen. + /// Please update the test case below to test the model. + /// + [TestFixture] + public class PostInstrumentIdentifierEnrollmentRequestTests + { + // TODO uncomment below to declare an instance variable for PostInstrumentIdentifierEnrollmentRequest + //private PostInstrumentIdentifierEnrollmentRequest instance; + + /// + /// Setup before each test + /// + [SetUp] + public void Init() + { + // TODO uncomment below to create an instance of PostInstrumentIdentifierEnrollmentRequest + //instance = new PostInstrumentIdentifierEnrollmentRequest(); + } + + /// + /// Clean up after each test + /// + [TearDown] + public void Cleanup() + { + + } + + /// + /// Test an instance of PostInstrumentIdentifierEnrollmentRequest + /// + [Test] + public void PostInstrumentIdentifierEnrollmentRequestInstanceTest() + { + // TODO uncomment below to test "IsInstanceOfType" PostInstrumentIdentifierEnrollmentRequest + //Assert.IsInstanceOfType (instance, "variable 'instance' is a PostInstrumentIdentifierEnrollmentRequest"); + } + + /// + /// Test the property 'Links' + /// + [Test] + public void LinksTest() + { + // TODO unit test for the property 'Links' + } + /// + /// Test the property 'Id' + /// + [Test] + public void IdTest() + { + // TODO unit test for the property 'Id' + } + /// + /// Test the property '_Object' + /// + [Test] + public void _ObjectTest() + { + // TODO unit test for the property '_Object' + } + /// + /// Test the property 'State' + /// + [Test] + public void StateTest() + { + // TODO unit test for the property 'State' + } + /// + /// Test the property 'Type' + /// + [Test] + public void TypeTest() + { + // TODO unit test for the property 'Type' + } + /// + /// Test the property 'Card' + /// + [Test] + public void CardTest() + { + // TODO unit test for the property 'Card' + } + /// + /// Test the property 'BankAccount' + /// + [Test] + public void BankAccountTest() + { + // TODO unit test for the property 'BankAccount' + } + /// + /// Test the property 'TokenizedCard' + /// + [Test] + public void TokenizedCardTest() + { + // TODO unit test for the property 'TokenizedCard' + } + /// + /// Test the property 'Issuer' + /// + [Test] + public void IssuerTest() + { + // TODO unit test for the property 'Issuer' + } + /// + /// Test the property 'ProcessingInformation' + /// + [Test] + public void ProcessingInformationTest() + { + // TODO unit test for the property 'ProcessingInformation' + } + /// + /// Test the property 'BillTo' + /// + [Test] + public void BillToTest() + { + // TODO unit test for the property 'BillTo' + } + /// + /// Test the property 'Metadata' + /// + [Test] + public void MetadataTest() + { + // TODO unit test for the property 'Metadata' + } + + } + +} diff --git a/test/cybersource-rest-client-dotnet.Test.csproj b/test/cybersource-rest-client-dotnet.Test.csproj index c4568638..0732b8ee 100644 --- a/test/cybersource-rest-client-dotnet.Test.csproj +++ b/test/cybersource-rest-client-dotnet.Test.csproj @@ -66,7 +66,7 @@ OpenAPI spec version: 0.0.1 - {916D10BD-4CDB-439A-806A-A13D2F38C9DD} + {98BDC679-65E8-4071-B382-76C9A64DF83A} cybersource-rest-client-dotnet