Closed philsturgeon closed 4 years ago
Hah, yes this would be nice. If we ever closed the loop and made transformers for HttpOperation -> Oas3 / Oas2, then we're back at a spec converter.
@philsturgeon if we added transformers for postman -> IHttpOperation
as you describe we would indeed be able to support mocking etc.
Additionally, if we added transformers for postman -> IHttpRequest
, and we updated analyzer to send IHttpRequest
up to platform along with all the other data, we could then display and use all of that in explorer (and the future requests module). Would simply be another node type that platform users could filter to. So basically if postman files exist in repositories, they'd be picked up.
Yep! We will also have to infer the schema based on the example, as Postman's new OpenAPI text-editor does not store the schema in the collection (at least as of Postman Collection 2.1). So, if an example exists they can infer from that, if not its just an empty schema and that's also fine, but don't expect much useful functionality!
Here lies the sadness of the existing Postman Collection format: copy and paste examples regularly or everything is wrong and/or useless. :(
User story. As a Postman user, I can use Prism CLI for mocking, Stoplight Docs via the stoplight-cli analyze to host documentation, and other read-only aspects of the Stoplight ecosystem.
Is your feature request related to a problem?
We should prove out how format agnostic our ecosystem is by adding a new format which is not OpenAPI/JSON Schema based.
Describe the solution you'd like
Similar to how we have helpers for loading up OpenAPI files and converting operations to http-spec, we should be converting the postman collection to http-spec.
Additional context
Here is a sample collection:
Notice how some "items" are top level and others are in a folder. Nested items are how you have operations at the top level or inside folders.
This was created from this OpenAPI file:
termsOfService: 'https://www.adyen.com/legal/terms-and-conditions' contact: name: Adyen Support url: 'https://support.adyen.com/' email: support@adyen.com x-groups:
SDK Integration paths: /paymentMethods: post: summary: Returns available payment methods. description: |- Queries the available payment methods for a transaction based on the transaction context (like amount, country, and currency). Besides giving back a list of the available payment methods, the response also returns which input details you need to collect from the shopper (to be submitted to
/payments
).x-groupName: API Integration x-sortIndex: 1 requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentMethodsRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaymentMethodsResponse' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. '401': description: Unauthorized - authentication required. '403': description: Forbidden - insufficient permissions to process the request. '422': description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. /paymentSession: post: summary: Creates a payment session. description: |- Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.
x-groupName: SDK Integration x-sortIndex: 1 requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentSetupRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaymentSetupResponse' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. '401': description: Unauthorized - authentication required. '403': description: Forbidden - insufficient permissions to process the request. '422': description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. /payments: post: summary: Starts a transaction. description: |- Sends payment parameters (like amount, country, and currency) together with the input details collected from the shopper. The response returns the result of the payment request:
resultCode
(e.g.authorised
orrefused
).For other payment methods, you'll receive
redirectShopper
asresultCode
together with aredirectUrl
. In this case, the shopper must finalize the payment on the page behind theredirectUrl
. x-groupName: API Integration x-sortIndex: 2 requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaymentResponse' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. '401': description: Unauthorized - authentication required. '403': description: Forbidden - insufficient permissions to process the request. '422': description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. /payments/details: post: summary: Submits details for a payment. description: |- Submits details for a payment created using/payments
. This step is only needed when no final state has been reached on the/payments
request (for example for 3D Secure, or when getting redirected back directly from a payment method using an app switch).The exact details, which need to be sent to this endpoint, are always specified in the response of the associated
/payments
request.In addition, the endpoint can be used to verify a
payload
, which is returned after coming back from the Checkout SDK or any of the redirect based methods on the Checkout API. x-groupName: API Integration x-sortIndex: 3 requestBody: content: application/json: schema: $ref: '#/components/schemas/DetailsRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaymentResponse' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. '401': description: Unauthorized - authentication required. '403': description: Forbidden - insufficient permissions to process the request. '422': description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. /payments/result: post: summary: Verifies payment result. description: |- Verifies the payment result using the payload returned from the Checkout SDK.For more information, refer to How it works. x-groupName: SDK Integration x-sortIndex: 2 requestBody: content: application/json: schema: $ref: '#/components/schemas/PaymentVerificationRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaymentVerificationResponse' description: OK - the request has succeeded. '400': description: Bad Request - a problem reading or understanding the request. '401': description: Unauthorized - authentication required. '403': description: Forbidden - insufficient permissions to process the request. '422': description: Unprocessable Entity - a request validation error. '500': description: Internal Server Error - the server could not process the request. components: schemas: AccountInfo: properties: accountAgeIndicator: description: |- Indicator for the length of time since this shopper account was created in the merchant's environment. Allowed values:
country Amount: properties: currency: description: 'The three-character ISO currency code.' maxLength: 3 minLength: 3 type: string value: description: |- The payable amount that can be charged for the transaction.
format: int64 type: integer required:
currency Avs: properties: addressEditable: description: Indicates whether the shopper is allowed to modify the billing address for the current payment request. type: boolean enabled: description: |- Specifies whether the shopper should enter their billing address during checkout.
enum:
automatic type: string BankAccount: properties: bankAccountNumber: description: The bank account number (without separators). type: string bankCity: description: The bank city. type: string bankLocationId: description: The location id of the bank. The field value is
nil
in most cases. type: string bankName: description: The name of the bank. type: string bic: description: 'The Business Identifier Code (BIC) is the SWIFT address assigned to a bank. The field value isnil
in most cases.' type: string countryCode: description: |- Country code where the bank is located.A valid value is an ISO two-character country code (e.g. 'NL'). type: string iban: description: 'The International Bank Account Number (IBAN).' type: string ownerName: description: |- The name of the bank account holder. If you submit a name with non-Latin characters, we automatically replace some of them with corresponding Latin characters to meet the FATF recommendations. For example:
holderName Company: properties: homepage: description: The company website's home page. type: string name: description: The company name. type: string registrationNumber: description: Registration number of the company. type: string registryLocation: description: Registry location of the company. type: string taxId: description: Tax ID of the company. type: string type: description: The company type. type: string Configuration: properties: avs: description: 'Describes the configuration for AVS (Address Verification System).' $ref: '#/components/schemas/Avs' cardHolderName: description: |- Determines whether the cardholder name should be provided or not.
enum:
/payments
call. type: object paymentData: description: ThepaymentData
value that you received in the response to the/payments
call. type: string threeDSAuthenticationOnly: description: Change theauthenticationOnly
indicator originally set in the/payments
request. Only needs to be set if you want to modify the value set previously. type: boolean required:accountScore InputDetail: properties: configuration: description: Configuration parameters for the required input. type: object details: description: Input details can also be provided recursively. items: $ref: '#/components/schemas/SubInputDetail' type: array itemSearchUrl: description: 'In case of a select, the URL from which to query the items.' type: string items: description: 'In case of a select, the items to choose from.' items: $ref: '#/components/schemas/Item' type: array key: description: The value to provide in the result. type: string optional: description: True if this input value is optional. type: boolean type: description: The type of the required input. type: string value: description: 'The value can be pre-filled, if available.' type: string Installments: properties: value: description: |- Defines the number of installments. Its value needs to be greater than zero.
format: int32 type: integer required:
shipToBillingAddress
shipToVerifiedAddress
shipToNewAddress
shipToStore
digitalGoods
goodsNotShipped
other
enum:electronicDelivery
sameDayShipping
overnightShipping
twoOrMoreDaysShipping
enum:gender PaymentMethod: properties: configuration: description: The configuration of the payment method. type: object details: description: All input details to be provided to complete the payment with this payment method. items: $ref: '#/components/schemas/InputDetail' type: array group: description: The group where this payment method belongs to. $ref: '#/components/schemas/PaymentMethodGroup' name: description: The displayable name of this payment method. type: string paymentMethodData: description: Echo data required to send in next calls. type: string supportsRecurring: description: Indicates whether this payment method supports tokenization or not. type: boolean type: description: The unique payment method code. type: string PaymentMethodGroup: properties: name: description: The name of the group. type: string paymentMethodData: description: Echo data to be used if the payment method is displayed as part of this group. type: string type: description: The unique code of the group. type: string PaymentMethodsGroup: properties: groupType: description: The type to submit for any payment method in this group. type: string name: description: The human-readable name of this group. type: string types: description: The types of payment methods that belong in this group. items: type: string type: array PaymentMethodsRequest: properties: additionalData: description: |- This field contains additional data, which may be required for a particular payment request.
type: object allowedPaymentMethods: description: 'List of payments methods to be presented to the shopper. To refer to payment methods, use their
brandCode
from Payment methods overview.' items: type: string type: array amount: description: 'The amount information for the transaction. For BIN or card verification requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' blockedPaymentMethods: description: 'List of payments methods to be hidden from the shopper. To refer to payment methods, use theirbrandCode
from Payment methods overview.' items: type: string type: array channel: description: |- The platform where a payment transaction takes place. This field can be used for filtering out payment methods that are only available on specific platforms. Possible values:reference PaymentMethodsResponse: properties: groups: description: Groups of payment methods. items: $ref: '#/components/schemas/PaymentMethodsGroup' type: array oneClickPaymentMethods: description: Detailed list of one-click payment methods. items: $ref: '#/components/schemas/RecurringDetail' type: array paymentMethods: description: Detailed list of payment methods required to generate payment forms. items: $ref: '#/components/schemas/PaymentMethod' type: array PaymentRequest: properties: accountInfo: description: |- Shopper account information for 3D Secure 2.
type: object amount: description: 'The amount information for the transaction. For BIN or card verification requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' billingAddress: description: |- The address where to send the invoice.
enum:
Web type: string company: description: Information regarding the company $ref: '#/components/schemas/Company' countryCode: description: |- The shopper country.
Format: ISO 3166-1 alpha-2 Example: NL or DE type: string dateOfBirth: description: |- The shopper's date of birth.
Format ISO-8601: YYYY-MM-DD format: date-time type: string dccQuote: description: The forex quote as returned in the response of the forex service. $ref: '#/components/schemas/ForexQuote' deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' deliveryDate: description: |- The date and time the purchased goods should be delivered.
Format ISO 8601: YYYY-MM-DDThh:mm:ss.sssTZD
Example: 2017-07-17T13:42:40.428+01:00 format: date-time type: string deviceFingerprint: description: 'A string containing the shopper''s device fingerprint. For more information, refer to Device fingerprinting.' type: string enableOneClick: description: 'When true and
shopperReference
is provided, the shopper will be asked if the payment details should be stored for future one-click payments.' type: boolean enablePayOut: description: 'When true andshopperReference
is provided, the payment details will be tokenized for payouts.' type: boolean enableRecurring: description: 'When true andshopperReference
is provided, the payment details will be tokenized for recurring payments.' type: boolean entityType: description: The type of the entity the payment is processed for. enum:CompanyName type: string fraudOffset: description: An integer value that is added to the normal fraud score. The value can be either positive or negative. format: int32 type: integer installments: description: 'Contains installment settings. For more information, refer to Installments.' $ref: '#/components/schemas/Installments' lineItems: description: Line items regarding the payment. items: $ref: '#/components/schemas/LineItem' type: array mcc: description: 'The merchant category code (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' type: string merchantAccount: description: 'The merchant account identifier, with which you want to process the transaction.' type: string merchantOrderReference: description: |- This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.
Set this parameter to the origin URL of the page that you are loading the 3D Secure Component from. type: string paymentMethod: description: The collection that contains the type of the payment method and its specific information (e.g.
idealIssuer
). type: object recurringProcessingModel: description: | Defines a recurring payment type. Allowed values:Subscription
– A transaction for a fixed or variable amount, which follows a fixed schedule.CardOnFile
– Card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction.UnscheduledCardOnFile
– A transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount. enum:UnscheduledCardOnFile type: string redirectFromIssuerMethod: description: Specifies the redirect method (GET or POST) when redirecting back from the issuer. type: string redirectToIssuerMethod: description: Specifies the redirect method (GET or POST) when redirecting to the issuer. type: string reference: description: |- The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters. type: string returnUrl: description: The URL to return to. type: string sessionValidity: description: The maximum validity of the session. type: string shopperEmail: description: |- The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.
This field has the following possible values:
Ecommerce
- Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.ContAuth
- Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).Moto
- Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.POS
- Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. enum:paymentMethod PaymentResponse: properties: additionalData: description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to Customer Area > Account > API URLs.' type: object details: description: 'When non-empty, contains all the fields that you must submit to the
/payments/details
endpoint.' items: $ref: '#/components/schemas/InputDetail' type: array fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' outputDetails: description: Contains the details that will be presented to the shopper. type: object paymentData: description: 'When non-empty, contains a value that you must submit to the/payments/details
endpoint.' type: string pspReference: description: |- Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.type: string redirect: description: 'When the payment flow requires a redirect, this object contains information about the redirect URL.' $ref: '#/components/schemas/Redirect' refusalReason: description: |- If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.
type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see Authorisation refusal reasons.' type: string resultCode: description: | The result of the payment. Possible values:
enum:
Refused type: string PaymentSetupRequest: properties: additionalData: description: |- This field contains additional data, which may be required for a particular payment request.
The
additionalData
object consists of entries, each of which includes the key and value. For more information on possible key-value pairs, refer to the additionalData section. type: object allowedPaymentMethods: description: 'List of payments methods to be presented to the shopper. To refer to payment methods, use theirbrandCode
from Payment methods overview.' items: type: string type: array amount: description: 'The amount information for the transaction. For BIN or card verification requests, set amount to 0 (zero).' $ref: '#/components/schemas/Amount' billingAddress: description: |- The address where to send the invoice.Possible values:
Web type: string company: description: Information regarding the company $ref: '#/components/schemas/Company' configuration: description: Specify configurations to enable additional features. $ref: '#/components/schemas/Configuration' countryCode: description: |- The shopper country.
Format: ISO 3166-1 alpha-2 Example: NL or DE type: string dateOfBirth: description: |- The shopper's date of birth.
Format ISO-8601: YYYY-MM-DD format: date-time type: string dccQuote: description: The forex quote as returned in the response of the forex service. $ref: '#/components/schemas/ForexQuote' deliveryAddress: description: The address where the purchased goods should be delivered. $ref: '#/components/schemas/Address' deliveryDate: description: |- The date and time the purchased goods should be delivered.
Format ISO 8601: YYYY-MM-DDThh:mm:ss.sssTZD
Example: 2017-07-17T13:42:40.428+01:00 format: date-time type: string enableOneClick: description: 'When true and
shopperReference
is provided, the shopper will be asked if the payment details should be stored for future one-click payments.' type: boolean enablePayOut: description: 'When true andshopperReference
is provided, the payment details will be tokenized for payouts.' type: boolean enableRecurring: description: 'When true andshopperReference
is provided, the payment details will be tokenized for recurring payments.' type: boolean entityType: description: The type of the entity the payment is processed for. enum:CompanyName type: string fraudOffset: description: An integer value that is added to the normal fraud score. The value can be either positive or negative. format: int32 type: integer installments: description: 'Contains installment settings. For more information, refer to Installments.' $ref: '#/components/schemas/Installments' lineItems: description: Line items regarding the payment. items: $ref: '#/components/schemas/LineItem' type: array mcc: description: 'The merchant category code (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.' type: string merchantAccount: description: 'The merchant account identifier, with which you want to process the transaction.' type: string merchantOrderReference: description: |- This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.
Set this parameter to the origin URL of the page that you are loading the SDK from. type: string reference: description: |- The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters. type: string returnUrl: description: The URL to return to. type: string sdkVersion: description: The version of the SDK you are using (for Web SDK integrations only). type: string sessionValidity: description: The maximum validity of the session. type: string shopperEmail: description: |- The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.
This field has the following possible values:
Ecommerce
- Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.ContAuth
- Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).Moto
- Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.POS
- Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. enum:POS type: string shopperLocale: description: The combination of a language code and a country code to specify the language to be used in the payment. type: string shopperName: description: The shopper's full name and gender (if specified). $ref: '#/components/schemas/Name' shopperReference: description: |- The shopper's reference to uniquely identify this shopper (e.g. user ID or account ID).
payload PaymentVerificationResponse: properties: additionalData: description: 'This field contains additional data, which may be required to return in a particular payment response. To choose data fields to be returned, go to Customer Area > Account > API URLs.' type: object fraudResult: description: The fraud result properties of the payment. $ref: '#/components/schemas/FraudResult' merchantReference: description: A unique value that you provided in the initial
/paymentSession
request as areference
field. type: string paymentMethod: description: The payment method used in the transaction. type: string pspReference: description: |- Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.type: string refusalReason: description: |- If the payment's authorisation is refused or an error occurs during authorisation, this field holds Adyen's mapped reason for the refusal or a description of the error.
type: string refusalReasonCode: description: 'Code that specifies the refusal reason. For more information, see Authorisation refusal reasons.' type: string resultCode: description: | The result of the payment. Possible values:
enum:
shopperLocale Recurring: properties: contract: description: |- The type of recurring contract to be used. Possible values:
ONECLICK
– Payment details can be used to initiate a one-click payment, where the shopper enters the card security code (CVC/CVV).RECURRING
– Payment details can be used without the card security code to initiate card-not-present transactions.ONECLICK,RECURRING
– Payment details can be used regardless of whether the shopper is on your site or not.PAYOUT
– Payment details can be used to make a payout. enum:MCTOKENSERVICE type: string RecurringDetail: properties: configuration: description: The configuration of the payment method. type: object details: description: All input details to be provided to complete the payment with this payment method. items: $ref: '#/components/schemas/InputDetail' type: array group: description: The group where this payment method belongs to. $ref: '#/components/schemas/PaymentMethodGroup' name: description: The displayable name of this payment method. type: string paymentMethodData: description: Echo data required to send in next calls. type: string recurringDetailReference: description: The reference that uniquely identifies the recurring detail. type: string storedDetails: description: Contains information on previously stored payment details. $ref: '#/components/schemas/StoredDetails' supportsRecurring: description: Indicates whether this payment method supports tokenization or not. type: boolean type: description: The unique payment method code. type: string Redirect: properties: data: description: 'When the redirect URL must be accessed via POST, use this data to post to the redirect URL.' type: object method: description: |- The web method that you must use to access the redirect URL.
Possible values: GET, POST. enum:
POST type: string url: description: 'The URL, to which you must redirect a shopper to complete a payment.' type: string SDKEphemPubKey: properties: crv: description: The
crv
value as received from the 3D Secure 2 SDK. type: string kty: description: Thekty
value as received from the 3D Secure 2 SDK. type: string x: description: Thex
value as received from the 3D Secure 2 SDK. type: string 'y': description: They
value as received from the 3D Secure 2 SDK. type: string ServiceError: properties: errorCode: type: string errorType: type: string message: type: string ShopperInput: properties: billingAddress: description: |- Specifies visibility of billing address fields.Permitted values:
readOnly type: string deliveryAddress: description: |- Specifies visibility of delivery address fields.
Permitted values:
readOnly type: string personalDetails: description: |- Specifies visibility of personal details.
Permitted values:
readOnly type: string Split: properties: account: description: |- The account to which this split applies.
type SplitAmount: properties: currency: description: |- The three-character ISO currency code.
maxLength: 3 minLength: 3 type: string value: description: |- The payable amount that can be charged for the transaction.
format: int64 type: integer required:
noPreference
requestNoChallenge
requestChallenge
enum:app
browser
type: string deviceRenderOptions: description: |- Display options for the 3D Secure 2 SDK. Required fordeviceChannel
app. $ref: '#/components/schemas/DeviceRenderOptions' messageVersion: description: ThemessageVersion
value indicating the 3D Secure 2 protocol version. type: string notificationURL: description: URL to where the issuer should send theCRes
. Required if you are not using components forchannel
Web or if you are using classic integrationdeviceChannel
browser. type: string sdkAppID: description: |- ThesdkAppID
value as received from the 3D Secure 2 SDK. Required fordeviceChannel
set to app. type: string sdkEncData: description: |- ThesdkEncData
value as received from the 3D Secure 2 SDK. Required fordeviceChannel
set to app. type: string sdkEphemPubKey: description: |- ThesdkEphemPubKey
value as received from the 3D Secure 2 SDK. Required fordeviceChannel
set to app. $ref: '#/components/schemas/SDKEphemPubKey' sdkMaxTimeout: description: |- The maximum amount of time in minutes for the 3D Secure 2 authentication process. Only fordeviceChannel
set to app. format: int32 type: integer sdkReferenceNumber: description: |- ThesdkReferenceNumber
value as received from the 3D Secure 2 SDK. Only fordeviceChannel
set to app. type: string sdkTransID: description: |- ThesdkTransID
value as received from the 3D Secure 2 SDK. Only fordeviceChannel
set to app. type: string threeDSCompInd: description: Completion indicator for the device fingerprinting. type: string threeDSRequestorID: description: 'Required for authentication-only integration for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorName: description: 'Required for authentication-only integration for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2.' type: string threeDSRequestorURL: description: URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. type: string required:deviceChannel ThreeDSecureData: properties: authenticationResponse: description: |- In 3D Secure 1, the authentication response if the shopper was redirected.
enum:
A type: string cavv: description: 'The cardholder authentication value (base64 encoded, 20 bytes in a decoded form).' format: byte type: string cavvAlgorithm: description: The CAVV algorithm used. Include this only for 3D Secure 1. type: string directoryResponse: description: |- In 3D Secure 1, this is the enrollment response from the 3D directory server.
In 3D Secure 2, this is the
transStatus
from 3D Secure device fingerprinting result. enum: