swagger: '2.0' info: title: Mastercard Bill Payment Validator Account Opening Transactions API description: This service is provided on behalf of the Mastercard Remote Payment and Presentment (RPPS) Bill Payment Processing Network, which supports consumer to business "push" bill payments (i.e. those which are not funded by debit/credit card transactions) in the U.S. version: '1.0' x-artifactId: billpay-api contact: name: Bill Pay Development Support email: Bill_Pay_Development_Support@mastercard.com host: sandbox.api.mastercard.com basePath: /billpayAPI/v1 schemes: - https consumes: - application/json produces: - application/json tags: - name: Transactions paths: /donations/transactions: get: tags: - Transactions summary: Donation Transaction Status description: This API can retrieve the status of a particular donation transaction by passing the respective transaction Id or correlation Id. To retrieve the transaction status, donor need to provide either the `transactionId` or `correlationId` or both as query parameters. In case both parameters are passed, transaction Id value takes precedence over correlation Id. operationId: fetchDonationTransactionStatusGET parameters: - $ref: '#/components/parameters/ClientId' - name: transactionId in: query description: TransactionId is a unique identifier for the donation at Mastercard Donate platform. It is recommended to pass the transactionId as query parameter by the customer while retrieving its status. If correlation Id not passed as query parameter, then this field becomes mandatory. required: false schema: type: string example: OTimfp86SL6Q7eaRRh2KfA - name: correlationId in: query description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer while retrieving the donation transaction status. If transaction Id not passed as query parameter, then this field becomes mandatory. required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 responses: '200': $ref: '#/components/responses/RetrieveTransactionStatus' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-DonationTransactionStatus' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-InternalServerError' deprecated: false /donors/{donor_id}/transactions: post: tags: - Transactions summary: Donation History API description: Get Donation History based on given request."cardID", "charityID" and "donationType" are optional fields. If a Micro donation is setup, it won't show up in Donation History until the end of the month when the transaction happen. Encrypting request body is not required. operationId: getDonationHistoryUsingPOST parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/ProgramId' - $ref: '#/components/parameters/Donor' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' requestBody: $ref: '#/components/requestBodies/DonationHistory' responses: '200': $ref: '#/components/responses/DonationHistoryPaged' '201': $ref: '#/components/responses/Created' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '415': $ref: '#/components/responses/Unsupported' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /donations/program/{programId}/transactions: post: tags: - Transactions summary: Program Transaction History API description: Get Program Transaction History Details based on retrieves a list of donation transactions by programId in a given timeframe."cardID", "charityID" and "donationType" are optional fields. If a Micro donation is setup, it won't show up in Program Transaction History until the end of the month when the transaction happen. Encrypting request body is not required. operationId: getProgramTransactionHistoryUsingPOST parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/CorrelationId' - $ref: '#/components/parameters/Programid' - $ref: '#/components/parameters/donorId' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' requestBody: $ref: '#/components/requestBodies/ProgramTransactionHistoryRequest' responses: '200': $ref: '#/components/responses/ProgramTransactionHistoryPaged' '201': $ref: '#/components/responses/Created' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '415': $ref: '#/components/responses/Unsupported' '500': $ref: '#/components/responses/InternalServerError' deprecated: false /donations/non-ma/transactions: post: tags: - Transactions summary: Upload Non Mastercard Brand Card transactions API description: This API is to be used by API Consumer to upload the non-Mastercard transactions details to the Donate Platform. operationId: uploadDonationNonMA parameters: - $ref: '#/components/parameters/ClientId' - $ref: '#/components/parameters/ProgramId' - name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. ***Note:*** If there is a timeout when doing the guest api call, it is important to redo the same api call with same x-correlation-id to get the status of the previous api call required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 requestBody: $ref: '#/components/requestBodies/UploadNonMACardTrxRequest' responses: '200': $ref: '#/components/responses/UploadNonMACardTrxResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-IncorrectNonMACardTransactionData' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-InternalServerError' deprecated: false /api/orders: post: tags: - Transactions summary: Searches order details based on the search criteria description: Search for orders based on transaction fields that you currently support operationId: getTransactionDetails parameters: - $ref: '#/components/parameters/eth_date' - $ref: '#/components/parameters/authorization' requestBody: $ref: '#/components/requestBodies/OrderApi' responses: '200': $ref: '#/components/responses/OrderApiAcknowledgement' '400': $ref: '#/components/responses/BadRequest_2' '401': $ref: '#/components/responses/Unauthorized_2' '403': $ref: '#/components/responses/Forbidden_2' '405': $ref: '#/components/responses/MethodNotAllowed' /transactions: post: tags: - Transactions responses: '200': $ref: '#/components/responses/TransactionResponse' '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthorizedError' description: Provides merchants transaction or device or identity scores to help with pre-authorization and pre-authentication decisioning. Using this API enables merchants or acquirer to be able to catch fraud early on & reduce fraudulent transactions while improving their risk models. summary: Mastercard Response Will Be Individual and Device Insights for Mvp. operationId: retrieveTransactionInsights requestBody: $ref: '#/components/requestBodies/TransactionRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: requestBodies: ProgramTransactionHistoryRequest: description: ProgramTransactionHistoryRequest content: application/json: schema: $ref: '#/components/schemas/ProgramTransactionHistory' required: true UploadNonMACardTrxRequest: description: uploadNonMATransactions content: application/json: schema: $ref: '#/components/schemas/UploadNonMACardTrxRequest' required: false DonationHistory: description: donationHistoryRequest content: application/json: schema: $ref: '#/components/schemas/DonationHistory' required: true OrderApi: description: The request object Merchant API expects required: true content: application/json: schema: $ref: '#/components/schemas/OrderApi' TransactionRequest: required: true content: application/json: schema: $ref: '#/components/schemas/TransactionInsightsData' schemas: PagedResult_RealTimeTransaction_DonationHistoryResponse_: type: object properties: items: type: array description: Items items: $ref: '#/components/schemas/DonationHistoryRes' limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalItems: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Items title: PagedResult�DonationHistoryResponse� description: ONE-TIME or Monthly transactions will be returned in list,because for monthly setup one real time transaction happens and then monthly donation is started Error-415: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: UNSUPPORTED_CONTENT_TYPE description: A unique constant identifying the error case encountered during API processing Description: type: string example: The request Content-Type () is not supported for this service description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-InternalServerError: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INTERNAL_SERVER_ERROR description: A unique constant identifying the error case encountered during API processing Description: type: string example: An error occurred on the server. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-DonationTransactionStatus: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INVALID_TXN_OR_CORRELATION_ID description: A unique constant identifying the error case encountered during API processing Description: type: string example: No record found in DB. Please verify client-id/transactionId/correlationId passed in the request and re-try. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: null description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-401: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to authorization failure properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: AUTHENTICATION_FAILED description: A unique constant identifying the error case encountered during API processing Description: type: string example: OAuth signatures did not match. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error-403: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to forbidden requests properties: Error: type: array description: Only returned in the event of forbidden request. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: INVALID_KEY description: A unique constant identifying the error case encountered during API processing Description: type: string example: The signing certificate is not valid. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. ProgramTransactionHistoryPaged: type: object properties: limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalTransactions: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Transactions filteredTransactions: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Filtered Transactions realTimeTransaction: $ref: '#/components/schemas/PagedResult_RealTimeTransaction_ProgramTransactionHistoryResponse_' recurringTransaction: $ref: '#/components/schemas/PagedResult_RecurringTransaction_ProgramTransactionHistoryResponse_' title: ProgramTransactionHistoryPaged Error-201: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused properties: Error: type: array description: Only returned in the event of an authorization is failed. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: CREATED description: A unique constant identifying the error case encountered during API processing Description: type: string example: OAuth signatures did not match. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. PagedResult_RecurringTransaction_DonationHistoryResponse_: type: object properties: items: type: array description: Items items: $ref: '#/components/schemas/DonationHistoryRes' limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalItems: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Items title: PagedResult�DonationHistoryResponse� description: All Micro OR Monthly transactions will be returned in list PagedResult_RealTimeTransaction_ProgramTransactionHistoryResponse_: type: object properties: items: type: array description: Items items: $ref: '#/components/schemas/DonationHistoryRes' limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalItems: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Items title: PagedResult�ProgramTransactionHistoryResponse� description: ONE-TIME or Monthly transactions will be returned in list,because for monthly setup one real time transaction happens and then monthly donation is started ProgramTransactionHistory: type: object required: - fromDate - toDate properties: cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card Id (UUID) charityId: type: string example: ae3c5f35-084a-4df9-a2af-7e0efd512fc0 minLength: 36 maxLength: 36 description: Charity Id (UUID) donorId: type: string minLength: 36 maxLength: 36 example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 format: uuid description: Valid UUID. donationType: type: string example: Micro minLength: 5 maxLength: 20 description: Donation Type fromDate: type: string example: '2019-02-25' minLength: 10 maxLength: 10 description: From Date toDate: type: string example: '2020-02-25' minLength: 10 maxLength: 10 description: To Date transactionStatus: type: string example: SUCCESS minLength: 3 maxLength: 30 description: Transaction Status limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset title: ProgramTransactionHistory DonationHistoryRes: type: object properties: amount: type: number format: double example: 11 minLength: 1 maxLength: 20 description: Amount cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card Id (UUID) charityId: type: string example: ae3c5f35-084a-4df9-a2af-7e0efd512fc0 minLength: 36 maxLength: 36 description: Charity Id (UUID) charityName: type: string example: WFP minLength: 3 maxLength: 30 description: Charity Name clientId: type: string example: 0a7e433a-63fc-4557-8cf4 minLength: 3 maxLength: 30 description: Client Id currency: type: string example: USD minLength: 3 maxLength: 3 description: Currency date: type: string example: '2021-09-03' format: date minLength: 10 maxLength: 10 description: Date donationType: type: string example: Micro minLength: 5 maxLength: 20 description: Donation Type donorId: type: string example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 minLength: 36 maxLength: 36 description: Donor Id (UUID) orderId: type: string example: 5dfa4509-1bf2-425b-965b-d44dd11f5f95 minLength: 36 maxLength: 36 description: Order Id paymentNetwork: type: string example: mastercard minLength: 3 maxLength: 30 description: Payment Network primaryAccountNumberSuffix: type: string example: '3538' minLength: 4 maxLength: 4 description: PAN Suffix programId: type: string example: 80380ef2-5037-4e57-86bf-1bdd1efb0ae2 minLength: 36 maxLength: 36 description: Program Id (UUID) transactionId: type: string example: 3311e859-3ee4-4155-a640-8cae447c27ca minLength: 36 maxLength: 36 description: Transaction Id transactionStatus: type: string example: SUCCESS minLength: 3 maxLength: 30 description: Transaction Status updatedDate: type: string example: '2021-09-14' format: date minLength: 10 maxLength: 10 description: Updated Date title: DonationHistoryResponse Transactions: type: object required: - transactionId - transactionDate - amount properties: transactionId: type: string example: 3311e859-3ee4-4155-a640-8cae447c27ca minLength: 36 maxLength: 36 description: Transaction Id transactionDate: type: string example: '2021-09-03' format: date minLength: 10 maxLength: 10 description: Date of the transaction amount: type: string example: 50 minLength: 3 maxLength: 30 description: Transaction amount title: Transactions RetrieveTransactionStatus: type: object properties: transactionId: type: string example: OTimfp86SL6Q7eaRRh2KfA minLength: 22 maxLength: 22 description: Transaction Id transactionStatus: type: string example: SUCCESS minLength: 5 maxLength: 20 description: Transaction Status transactionMessage: type: string example: Transaction APPROVED. minLength: 3 maxLength: 30 description: Transaction Message title: RetrieveTransactionStatus Error-404: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to resource not found properties: Error: type: array description: Only returned in the event of an resource not found. items: type: object properties: Source: type: string example: Gateway description: The application that generated this error ReasonCode: type: string example: NOT_FOUND description: A unique constant identifying the error case encountered during API processing Description: type: string example: The signing certificate is not valid. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. UploadNonMACardTrxRequest: type: object required: - currencyCode - transactionsSummary properties: currencyCode: type: string example: USD minLength: 3 maxLength: 3 description: Currency transactionsSummary: $ref: '#/components/schemas/TransactionsSummary' title: UploadNonMACardTrxRequest DonationHistory: type: object required: - fromDate - toDate properties: cardId: type: string example: ebee3d81-18d4-409a-8330-73db083f2cfc minLength: 36 maxLength: 36 description: Card Id (UUID) charityId: type: string example: ae3c5f35-084a-4df9-a2af-7e0efd512fc0 minLength: 36 maxLength: 36 description: Charity Id (UUID) donationType: type: string example: Micro minLength: 5 maxLength: 20 description: Donation Type fromDate: type: string example: '2019-02-25' minLength: 10 maxLength: 10 description: From Date toDate: type: string example: '2020-02-25' minLength: 10 maxLength: 10 description: To Date transactionStatus: type: string example: SUCCESS/PENDING/FAILURE/ALL minLength: 3 maxLength: 30 description: Transaction Status title: DonationHistoryRequest UploadNonMACardResponse: type: string example: '{Data load for Non MA Card Transactions is success.}' TransactionsSummary: type: object required: - card_id - card_brand - transactions properties: card_id: type: string example: 79bfa3d3-235a-4985-8137-447849fe797d minLength: 3 maxLength: 20 description: Card Id card_brand: type: string example: VISA minLength: 3 maxLength: 3 description: Card Brand transactions: $ref: '#/components/schemas/Transactions' title: TransactionsSummary PagedResult_RecurringTransaction_ProgramTransactionHistoryResponse_: type: object properties: items: type: array description: Items items: $ref: '#/components/schemas/DonationHistoryRes' limit: type: integer example: 25 format: int32 minLength: 1 maxLength: 5 description: Limit offset: type: integer example: 10 format: int32 minLength: 1 maxLength: 10 description: Offset totalItems: type: integer example: 60 format: int64 minLength: 1 maxLength: 10 description: Total Items title: PagedResult�ProgramTransactionHistoryResponse� description: All Micro OR Monthly transactions will be returned in list Error-500: type: object required: - Errors properties: Errors: type: object required: - Error description: Contains all errors caused due to server error properties: Error: type: array description: Only returned in the event of an server issue. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: PROGRAM_ID_NOT_FOUND description: A unique constant identifying the error case encountered during API processing Description: type: string example: Program id is required as this client is mapped to multiple programs. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: 'null' description: Where appropriate, indicates detailed information about data received and calculated during request processing. DonationHistoryPaged: type: object properties: realTimeTransaction: $ref: '#/components/schemas/PagedResult_RealTimeTransaction_DonationHistoryResponse_' recurringTransaction: $ref: '#/components/schemas/PagedResult_RecurringTransaction_DonationHistoryResponse_' title: DonationHistoryPagedResponse Error-IncorrectNonMACardTransactionData: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: INVALID_REQUEST_PARAMETER description: A unique constant identifying the error case encountered during API processing Description: type: string example: One of the request parameters is invalid, try again with the correct request. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: - currencyCode, Currency code cannot be empty description: Where appropriate, indicates detailed information about data received and calculated during request processing. Error: type: object required: - Errors properties: Errors: type: object required: - Error properties: Error: type: array description: Only returned in the event of an error condition. items: type: object properties: Source: type: string example: DONATE_SERVICE description: The application that generated this error ReasonCode: type: string example: DONOR_ID_INVALID description: A unique constant identifying the error case encountered during API processing Description: type: string example: Invalid donorId, it must be a valid UUID. description: Short description of the ReasonCode field Recoverable: type: boolean example: false description: Indicates whether this error will always be returned for this request, or retrying could change the outcome Details: type: string example: Provided donorId is not valid, Please check and provide valid Unique Id. description: Where appropriate, indicates detailed information about data received and calculated during request processing. RequestReference: title: Request References description: Request Information details, such as tracking details type: object properties: originatorChannel: title: Original Requester Channel type: string minLength: 1 maxLength: 20 description: "Example value :\n - DIGITAL\n - CALL_CENTRE\n - FIRST_PARTY_TRUST\n" example: DIGITAL originatorId: title: Requester ID type: string minLength: 1 maxLength: 100 description: Hashed Requesters/Aggregator Issuer ID example: 420f0845bd9b808abd7acc053b0b372ceb461edd584e9b9db02b35304255715f sourceId: title: Source ID type: string minLength: 1 maxLength: 100 description: Aggregator's Actual Issuer ID Hashed example: 66666688ggg0845bd9b808abd7acc053b0b372ceb461edd584e9b9db02b324gf originatorDescription: title: Requester Description type: string minLength: 1 maxLength: 100 description: Description about the issuer example: Test Issuer correlationId: title: Correlation Id description: Correlation ID between Ethoca and merchant tracking type: string minLength: 1 maxLength: 201 example: zebj8evpeo locale: type: string minLength: 5 maxLength: 5 description: 'The locale, or language-country combination, associated with the caller of the service in ISO 639-1 and ISO-3166-1 format - ''en-US'' - ''en-CA'' - ''en-GB'' - ''es-ES'' - ''es-MX'' - ''es-US'' - ''fr-CA'' - ''fr-FR'' - ''pt-BR'' - ''pt-PT'' - ''he-IL'' ' example: en-US Payment: type: object properties: id: minLength: 1 maxLength: 100 type: string description: Payment object unique identifier (merchant generated sequence-based ID for each payment, for example 1, 2, 3, 4...) example: '3' matchedPayment: type: boolean description: Indicates whether a payment record matches the transaction search attributes example: true paymentType: $ref: '#/components/schemas/PaymentType' cardFirstSix: minLength: 6 maxLength: 6 type: string description: The first six digits of the card number associated with the transaction. Format - exactly six numeric characters. example: '524167' cardLastFour: $ref: '#/components/schemas/CardLastFour' cardCvv2ValidationOutcomeAtPurchase: type: string minLength: 1 maxLength: 1 pattern: ^[A-Za-z0-9]{1,1}$ description: "Card CVV2 verification code received at the purchase\n\nAllowed values:\n - X\n - U\n - P\n - Y\n - D\n - N\n\nDefinition of allowed values:\n - X: No information available\n - U: The issuer has not certified or has not provided the encryption keys\n - P: Card verification not performed\n - Y: Valid\n - D: Invalid\n - N: Not attempted\n" example: X addressValidationServiceMatch: type: string minLength: 1 maxLength: 1 description: "Indicates whether the billing address was validated with an AVS service\n\nAllowed values:\n - Y\n - N\n - U\n\nDefinition of allowed values:\n - Y: Yes\n - N: No\n - U: Unavailable\n" example: Y totalBeforeTax: description: Subtotal (before tax). Maximum number of fractional digits supported is 2. type: string minLength: 1 maxLength: 12 example: '898.96' paymentAmount: type: string minLength: 1 maxLength: 12 description: Total amount of this payment. Maximum number of fractional digits supported is 2. example: '250.35' transactionIdentifierValue: minLength: 1 maxLength: 30 type: string description: The TransactionId for this order; for Mastercard purchases, this is field DE63, and for Visa this is Tran ID or Tran ID1. example: 90989JJJNM7767 acquirerReferenceNumber: minLength: 23 maxLength: 23 type: string description: Display of the Acquirer Reference Number for this order example: '12345678901234567890123' issuerAuthorizationCode: minLength: 6 maxLength: 6 type: string description: Pre-authorization code returned by the processor example: 89ii88 authorizationDateTime: type: string minLength: 20 maxLength: 20 description: Display of the Authorization date (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' transactionType: type: string minLength: 4 maxLength: 10 description: "Type of payment transaction\n\nAllowed values:\n - Adjustment\n - Credit\n - Reversal\n - Sale\n" example: Credit merchantIdentificationNumber: minLength: 1 maxLength: 50 type: string description: Merchant Identification Number (MID). Assigned by acquirer. example: GOOG9898K87 paymentGatewayId: minLength: 1 maxLength: 10 type: string description: This is passed as part of the transaction. Key for merchants with more than one gateway. example: CH8989V01 paymentGatewayDescriptor: minLength: 1 maxLength: 50 type: string description: The descriptor for the payment gateway example: Channel 89 version 1 gateway. merchantBillingDescriptor: minLength: 1 maxLength: 24 type: string description: The settled descriptor that shows on the credit card holder's statement at settlement example: Google Storage. authorizedMerchantBillingDescriptor: minLength: 1 maxLength: 24 type: string description: The pre-settlement authorized descriptor that shows on the website or app being used by the credit card holder example: Subscription renewal billingName: $ref: '#/components/schemas/NameType' billingAddress: $ref: '#/components/schemas/AddressType' description: List of payments for the order (requires at least one, may repeat) OrderApi: type: object required: - requestReference - searchCriteria properties: requestReference: $ref: '#/components/schemas/RequestReference' searchCriteria: $ref: '#/components/schemas/SearchCriteria' MerchantReceiptContact: type: object properties: phoneForReceipt: minLength: 3 maxLength: 30 type: string description: Merchant's primary phone (such as the sales number shown on receipt) include the country code and any applicable separators example: +1-234-567-8901 emailForReceipt: minLength: 1 maxLength: 200 type: string description: Merchant's sales email (such as the sales email shown on receipt) example: sales.merchant@example.com websiteForReceipt: minLength: 1 maxLength: 100 type: string description: URL for merchant's orders (such as the website address shown on receipt) example: http://merchantwebsite.example.com receiptAddress: $ref: '#/components/schemas/AddressType' Loyalty: type: object properties: id: minLength: 1 maxLength: 100 type: string description: Loyalty unique identifier (merchant generated sequence-based ID for each loyalty account, for example 1, 2, 3, 4...) example: '123' programName: minLength: 1 maxLength: 200 type: string description: Name of the loyalty program example: GoldClub numberRegistered: minLength: 1 maxLength: 20 type: string description: Loyalty program number assigned to registered account example: '7678767' nameRegistered: $ref: '#/components/schemas/NameType' addressRegistered: $ref: '#/components/schemas/AddressType' description: List of loyalty membership accounts that relate to the order OrderApiAcknowledgement: type: object required: - responseStatus properties: responseStatus: $ref: '#/components/schemas/ResponseStatus' order: $ref: '#/components/schemas/Order' merchantProfile: $ref: '#/components/schemas/MerchantProfile' paymentFacilitatorProfile: $ref: '#/components/schemas/MerchantProfile' facilitatorProfile: $ref: '#/components/schemas/FacilitatorProfile' accountProfile: $ref: '#/components/schemas/AccountProfile' VehicleRental: type: object description: List of rental vehicle reservations required: - rentalCompanyName - confirmationNumber - vehicleType - pickupDateTime - pickupLocation properties: rentalCompanyName: minLength: 1 maxLength: 100 type: string description: Vehicle rental company name example: Enterprise Rentals confirmationNumber: minLength: 1 maxLength: 50 type: string description: The confirmation number at the rental agency example: XT5654T loyaltyReferenceId: type: string minLength: 1 maxLength: 100 description: 'Reference to loyalty object (in: /loyalty.id)' example: YU7676K vehicleRentalPrice: type: string minLength: 1 maxLength: 12 example: '45.99' description: The cost of the daily rate for a vehicle rental vehicleType: minLength: 1 maxLength: 20 type: string description: Rental vehicle type example: Full size pickupDateTime: type: string minLength: 20 maxLength: 20 description: Rental vehicle pick up date and time (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' pickupTimezone: type: string minLength: 1 maxLength: 50 description: The timezone for the pickup location of the vehicle as it appears in the TZ database example: Europe/Istanbul actualPickupDateTime: type: string minLength: 20 maxLength: 20 description: The actual pick up date and time (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' pickupLocation: minLength: 1 maxLength: 200 type: string description: Rental vehicle pick up location example: Toronto West dropoffDateTime: type: string minLength: 20 maxLength: 20 description: Rental vehicle drop-off date and time (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' dropoffTimezone: type: string minLength: 1 maxLength: 50 description: The timezone for the drop off location of the vehicle as it appears in the TZ database example: Asia/Muscat actualDropoffDateTime: type: string minLength: 20 maxLength: 20 description: The actual drop-off date and time (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' dropoffLocation: minLength: 1 maxLength: 200 type: string description: Rental vehicle drop off location example: Toronto West driverLicenseNumberLast3: minLength: 3 maxLength: 3 type: string description: The last 3 digits of the Driver's license number example: '963' driverLicenseIssuer: minLength: 1 maxLength: 25 type: string description: The state or country that the Driver's license was issued in example: Ontario driverLicenseExpiryDate: description: Driver's license expiry data (String based date/time representation in International Date Format (ISO 8601) YYYY-MM-DD) type: string format: date minLength: 10 maxLength: 10 example: '2017-06-19' operatorName: $ref: '#/components/schemas/NameType' relatedPurchases: type: array items: $ref: '#/components/schemas/RelatedPurchase' vehiclePickupAddress: $ref: '#/components/schemas/AddressType' vehicleDropoffAddress: $ref: '#/components/schemas/AddressType' Delivery: type: object description: List of deliveries created for the order properties: id: minLength: 1 maxLength: 100 type: string description: Unique identifier for delivery item (merchant generated sequence-based ID for each delivery, for example 1, 2, 3, 4...) example: '32' digitalDelivery: $ref: '#/components/schemas/DigitalDelivery' physicalDelivery: $ref: '#/components/schemas/PhysicalDelivery' Lodging: type: object required: - lodgingCompanyName - confirmationNumber - stayDuration - roomsBooked - checkInDateTime - checkoutDateTime properties: lodgingCompanyName: minLength: 1 maxLength: 100 type: string description: The name of the property example: Mantle Lodging and Hotels confirmationNumber: minLength: 1 maxLength: 50 type: string description: The confirmation number at the property example: CT67Y01 roomType: minLength: 1 maxLength: 20 type: string description: The type of room booked example: Suite stayDuration: type: integer minimum: 0 maximum: 99999 description: The room stay duration (in days) format: int32 example: 15 roomsBooked: type: integer minimum: 0 maximum: 99999 description: The number of rooms that were booked format: int32 example: 1 lodgingPrice: type: string minLength: 1 maxLength: 12 example: '199.99' description: The cost of a nightly rate for a lodging rental. If there are multiple prices over different nights, you may use an average. checkInDateTime: type: string minLength: 20 maxLength: 20 description: The date and time the guest will check in to the property (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' lodgingTimezone: type: string minLength: 1 maxLength: 50 description: The timezone of the lodging's location. This is not the timezone of the property's corporate office, but rather the specific location of the property that is being booked as it appears in the TZ database. example: America/New_York actualCheckInDateTime: type: string minLength: 20 maxLength: 20 description: The actual date and time the guest checked in to the property (String based date time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' checkoutDateTime: type: string minLength: 20 maxLength: 20 description: The date and time the guest will check out of the property (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' actualCheckOutDateTime: type: string minLength: 20 maxLength: 20 description: The actual date and time the guest checked out of the property (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' roomPreferences: minLength: 1 maxLength: 200 type: string description: Request preferences for the room example: High speed WiFi required loyaltyReferenceId: type: string minLength: 1 maxLength: 100 description: 'Reference to loyalty object (in: /loyalty.id)' example: RT6545E01 relatedPurchases: type: array description: Additional charges related to the property stay (such as restaurant charges, mini-bar, etc.) items: $ref: '#/components/schemas/RelatedPurchase' lodgingAddress: $ref: '#/components/schemas/AddressType' description: List of accommodation rentals ResponseStatus: title: Response Status required: - code type: object properties: code: title: Code type: string minLength: 17 maxLength: 27 description: "API status code, not an HTTP status code\n\nAllowed values:\n - TRANSACTION_FOUND\n - TRANSACTION_NOT_FOUND\n - MULTIPLE_TRANSACTIONS_FOUND\n" example: TRANSACTION_FOUND message: title: Message minLength: 1 maxLength: 100 type: string description: API status message, not an HTTP status message example: Transaction details provided trackingId: title: Tracking Id description: Any internal merchant reference ID linked to this search type: string minLength: 1 maxLength: 201 example: zebj8evpeo description: Result status of the request RelatedPurchase: type: object description: Additional charges related to the property stay (such as restaurant charges, mini-bar, etc.) properties: id: minLength: 1 maxLength: 100 type: string description: Related purchases unique identifier (merchant generated sequence-based ID for each reservation, for example 1, 2, 3, 4...) example: '8987' productName: minLength: 1 maxLength: 100 type: string description: Description of what was purchased example: flower bouquet quantity: description: Quantity of items purchased (1, 3, 30 etc.) type: string minLength: 1 maxLength: 100 example: '2' unitOfMeasurement: description: The unit of measurement for the product purchased (i.e. weight of a product) type: string minLength: 1 maxLength: 100 example: kg productPrice: type: string minLength: 1 maxLength: 12 description: Price per unit (maximum number of fractional digits supported is 2) example: '29' purchaseDateTime: type: string minLength: 20 maxLength: 20 description: The date and time that the purchase was made (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' purchaseLocation: minLength: 1 maxLength: 25 type: string description: Source of the related purchase, and not the initial purchase (such as website, mobile, ticket counter, etc.) example: In-Store SearchCriteria: title: Search Criteria for order lookup description: Parameters used to look up order type: object properties: paymentType: title: Transaction Card Type type: string minLength: 2 maxLength: 8 description: "The card brand or network as provided by the issuer\n\nAllowed values:\n - AMEX\n - DISCOVER\n - MC\n - VISA\n\nDefinition of allowed values:\n - AMEX: American Express\n - DISCOVER: Discover\n - MC: Mastercard\n - VISA: Visa\n" example: MC transactionIdentifierType: type: string minLength: 1 maxLength: 20 description: "Payment type-specific transaction identifier type associated with the value specified in transactionIdentifierValue.\n\nCurrent values:\n - BANKNET_REF_NUM\n - INVOICE_REF_NUM\n\nDefinition of current values:\n- Mastercard: DE 63, Subfield 2: Banknet Reference Number\n- American Express: TAB Field 26: Invoice/Reference Number\n" example: BANKNET_REF_NUM transactionIdentifierValue: title: Transaction Identifier Value type: string minLength: 1 maxLength: 30 description: Transaction identifier value associated with the type specified in transactionIdentifierType example: T123456 acquirerReferenceNumber: title: Acquirer Reference Number (ARN) minLength: 23 maxLength: 23 type: string description: Acquirer Reference Number of the transaction example: '12345678901234567890123' transactionDateTime: title: Transaction Date and/or Time minLength: 10 maxLength: 25 type: string description: "Date, time, and time zone of the authorization of the transaction \n(for example, \"2020-06-18T17:11:05-05:00\"), OR Date and time of the \ntransaction in Coordinated Universal Time (UTC) (for example, \n\"2020-06-18T17:11:05+00:00\"), OR If time or time zone is unknown, \nthen date of the transaction (for example, \"2020-06-18\"). ISO 8601 \nformat. This is the date and time of the authorization of the \ntransaction, not the date and time of the settlement of the transaction.\n" example: '2020-06-18T17:11:05-05:00' cardFirstSix: title: Card First Six minLength: 6 maxLength: 6 type: string pattern: ^\d{6}$ description: First six characters of the card used in the transaction example: '123456' cardLastFour: title: Card Last Four minLength: 4 maxLength: 4 type: string pattern: ^\d{4}$ description: Last four characters of the card used in the transaction example: '1234' issuerAuthorizationCode: title: Issuer Authorization Code maxLength: 6 minLength: 6 type: string description: Issuer authorization code for the transaction example: '123456' transactionAmount: title: Transaction Value minLength: 1 maxLength: 12 type: string description: 'Total amount value associated with the transaction.

Decimal point period is expected to denote separation of the fractional suffix from the rest of the amount, if applicable for the currency. Decimal point period must not be the first character. Examples:
- USD exponent is 2, so $250 USD value should be represented as 250.00, 34¢ USD value should be represented as 0.34
- JPY exponent is 0, so ¥250 JPY value should be represented as 250 ' example: '250.35' transactionCurrencyCode: title: Transaction Currency Code maxLength: 3 minLength: 3 type: string description: Alphabetic currency code associated with the value in ISO 4217 format example: USD merchantId: title: Merchant Identifier description: The alphanumeric ID of the sub-merchant associated with the purchase details. Required for channel partner type: string minLength: 1 maxLength: 100 example: GHF5F67DFSD468GJJXH78 cardAcceptorId: title: Card Acceptor Id description: An identifier for the store location or transaction point. Also known as Card Acceptor ID and it is assigned by the merchant acquirer. type: string minLength: 1 maxLength: 15 example: 12345671234567 cardAcceptorName: title: Card Acceptor Name description: 'Merchant ''doing business as'' name, or website name
- Mastercard: DE 43, Subfield 1; Card Acceptor Name
- Visa: TC 05, positions 92-116; Merchant Name' type: string minLength: 1 maxLength: 50 example: MicrosoftXBox cardAcceptorLocation: title: Card Acceptor Location description: 'Merchant city, telephone number, email address, or URL
- Mastercard: DE 43, Subfield 3: Card Acceptor City
- Visa: TC 05, positions 117-129: Merchant City' type: string minLength: 1 maxLength: 50 example: Austin cardAcceptorRegionCode: title: CardAcceptor Region Code description: The abbreviation for a subdivision (State, Province, Parish, Territory, etc.) provided in the ISO 639-1 and ISO-3166-2 format type: string minLength: 1 maxLength: 3 pattern: ^[A-Za-z0-9]*$ example: TX cardAcceptorCountryCode: title: CardAcceptor Country Code description: The Country Code associated with the cardAcceptorNames location data. type: string minLength: 2 maxLength: 3 example: US AirTravel: type: object description: List of air travel reservations required: - id - passengerNameRecord - designatorCode - flightNumber - originAirportCode - destinationAirportCode properties: id: minLength: 1 maxLength: 100 type: string description: AirTravel unique identifier (merchant generated sequence-based ID for each reservation, for example 1, 2, 3, 4...) example: 1 passengerNameRecord: minLength: 1 maxLength: 6 type: string description: The Passenger Name Record or Record Locator for the reservation example: XY8UI9 designatorCode: minLength: 2 maxLength: 2 type: string description: The two digit IATA airline code example: AI airlineName: type: string minLength: 1 maxLength: 100 description: The full name of the airline example: Paradise Island Airlines flightNumber: minLength: 1 maxLength: 10 type: string description: The flight number assigned to that travel leg, not the full flight designator example: '8788' flightPrice: minLength: 1 maxLength: 12 type: string description: The cost of a single flight on the itinerary example: '245.99' originAirportCode: minLength: 3 maxLength: 3 type: string description: The 3 digit IATA code for the originating airport example: LAX originAirportName: type: string minLength: 1 maxLength: 200 description: The full name of the originating airport example: Metropolis International Airport destinationAirportCode: minLength: 3 maxLength: 3 type: string description: The 3 digit IATA code for the destination airport example: ISL destinationAirportName: type: string minLength: 1 maxLength: 200 description: The full name of the destination airport example: Smallville Regional Airport scheduledDepartureDateTime: type: string minLength: 20 maxLength: 20 description: The scheduled time of departure (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' departureTimezone: type: string minLength: 1 maxLength: 50 description: The timezone of the departure as it appears in the TZ database example: Europe/Paris actualDepartureDateTime: minLength: 20 maxLength: 20 type: string description: The actual time of departure (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' scheduledArrivalDateTime: type: string minLength: 20 maxLength: 20 description: The scheduled time of arrival (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' arrivalTimezone: type: string minLength: 1 maxLength: 50 description: The timezone of the arrival as it appears in the TZ database example: Europe/Istanbul actualArrivalDateTime: minLength: 20 maxLength: 20 type: string description: The actual time of arrival (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' fareClass: minLength: 1 maxLength: 25 type: string description: The type of fare the passenger paid (such as First Class or Economy) example: Economy flightStatus: type: string minLength: 7 maxLength: 11 description: "The status of the flight\n\nAllowed values:\n - Arrived\n - Cancelled\n - Delayed\n - Departed\n - Diverted\n - En_Route\n - Past_Flight\n - Scheduled\n" example: Arrived mealInfo: minLength: 1 maxLength: 50 type: string description: The information about the meal that was requested/available example: Available specialRequest: minLength: 1 maxLength: 500 type: string description: Any special requests or instructions for the flight (such as lap child, wheelchair, or unaccompanied minor) example: Wheelchair Requested. passengers: type: array description: The list of passengers flying on this particular flight items: $ref: '#/components/schemas/Passenger' Discount: type: object description: List of discounts applied to the order required: - id - description - amount properties: id: minLength: 1 maxLength: 100 type: string description: Unique identifier for each discount record (merchant generated sequence-based ID for each discount, for example 1, 2, 3, 4...) example: '54' description: minLength: 1 maxLength: 50 type: string description: Description/Name of the discount example: summer sale- code 1234 amount: type: string minLength: 1 maxLength: 12 description: Amount of this specific discount given (maximum number of fractional digits supported is 2) example: '250.35' Tax: type: object required: - id - description - amount properties: id: minLength: 1 maxLength: 100 type: string description: Unique identifier for each tax record (merchant generated sequence-based ID for each tax record, for example 1, 2, 3, 4...) example: '32' description: minLength: 1 maxLength: 50 type: string description: Description of tax paid, for example 9.25% CA Sales Tax, VAT, etc. Can repeat if multiple taxes were processed. example: 9.25% CA Sales Tax amount: type: string minLength: 1 maxLength: 12 description: Sum of the taxes for this order for this tax type (maximum number of fractional digits supported is 2) example: '250.35' Passenger: description: The list of passengers flying on this particular flight type: object properties: id: minLength: 1 maxLength: 100 type: string description: Passenger unique identifier (merchant generated sequence-based ID for each reservation, for example 1, 2..) example: '89' ticketNumber: minLength: 1 maxLength: 25 type: string description: The ticket number of the passenger example: 89YU87U seatNumber: description: The seat number assigned to the passenger type: string minLength: 1 maxLength: 5 example: 45E loyaltyReferenceId: type: string minLength: 1 maxLength: 100 description: 'Reference to loyalty object (in: /loyalty.id)' example: '98987' knownTravelerNumber: type: boolean description: Known traveler or redress number example: true checkInDateTime: type: string minLength: 20 maxLength: 20 description: The date and time the passenger checked in (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' travelUtilizationIndicator: type: boolean description: Indicates whether the flight was taken example: true name: $ref: '#/components/schemas/NameType' relatedPurchases: type: array description: Additional charges related to the passenger on the flight items: $ref: '#/components/schemas/RelatedPurchase' DigitalDelivery: type: object properties: digitalDeliveryDateTime: type: string minLength: 20 maxLength: 20 description: Date and Time the product was downloaded/delivered to the user (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' digitalDeliveryNotificationMessageSent: type: boolean description: Was a delivery notification message sent to user account? example: true digitalDeliveryNotificationMethod: minLength: 1 maxLength: 50 type: string description: Indicates how the delivery notification message was provided (email, SMS, etc.) example: Email digitalDeliveryNotificationMessageDateTime: type: string minLength: 20 maxLength: 20 description: Date the delivery notification was sent to the user. (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' downloadStartDateTime: type: string minLength: 20 maxLength: 20 description: Download start date and time (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' downloadCompletionDateTime: type: string minLength: 20 maxLength: 20 description: Download completion date and time (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' digitalDeliveryIpAddress: minLength: 1 maxLength: 45 type: string description: Device IP address that was used at the time of the digital download example: 129.0.0.1 Reservation: type: object description: List of reservations created for the order required: - id - reservationStartDateTime - reservationEndDateTime - reservationNumber properties: id: minLength: 1 maxLength: 100 type: string description: Reservation unique identifier (merchant generated sequence-based ID for each reservation, for example 1, 2, 3, 4...) example: '34' reservationStartDateTime: type: string minLength: 20 maxLength: 20 description: Start date of reservation (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' reservationEndDateTime: type: string minLength: 20 maxLength: 20 description: End date of reservation (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' reservationNumber: minLength: 1 maxLength: 50 type: string description: Confirmation number of the reservation; note that this is not the PNR (Passenger Name Record) number or the ticket number of a flight; used primarily for OTAs (Online Travel Agencies), hotel rentals, and car rentals example: SAT76576UYT342 reservationStatus: minLength: 1 maxLength: 50 type: string description: Current status of the reservation example: Accepted reservationStatusOther: minLength: 1 maxLength: 50 type: string description: Reservation status description if 'Other' is provided example: Onhold travelInsurancePolicyRecap: minLength: 1 maxLength: 250 type: string description: Short version of the Travel Insurance Policy - specific to this order example: Short version of the policy travelInsurancePolicy: minLength: 1 maxLength: 200000 type: string description: Entire Travel Insurance Policy, formatted for text display example: Travel Insurance Policy details travelInsurancePolicyLink: minLength: 1 maxLength: 500 type: string description: Link to travel policy purchased example: http://somehost.com/policydocument.html itineraries: type: array description: List of air travel reservations items: $ref: '#/components/schemas/AirTravel' vehicleRentals: type: array description: List of rental vehicle reservations items: $ref: '#/components/schemas/VehicleRental' lodgings: type: array description: List of accommodation rentals items: $ref: '#/components/schemas/Lodging' ErrorResponse: required: - Errors type: object properties: Errors: $ref: '#/components/schemas/Errors' description: Error response object CustomData: type: object properties: customFieldName: type: string description: The name of the custom field that is being sent minLength: 1 maxLength: 500 example: Driver Rating customFieldValue: type: string description: The custom data value that is associated with the custom field minLength: 1 maxLength: 500 example: 5 Stars CardLastFour: title: Card Last Four minLength: 4 maxLength: 4 type: string pattern: ^\d{4}$ description: Last four characters of the card used in the transaction example: '1234' NameType: type: object properties: prefix: minLength: 1 maxLength: 10 type: string description: Prefix of the person example: Mr. givenName: minLength: 1 maxLength: 40 type: string description: Given name of the person example: Raymond additionalName: minLength: 1 maxLength: 40 type: string description: Middle name or initial of the person example: Jacob familyName: minLength: 1 maxLength: 80 type: string description: Family name of the person example: Holt suffix: minLength: 1 maxLength: 10 type: string description: Suffix of the person example: Sr. CallToActionLink: type: object required: - linkUrl - linkType properties: linkUrl: type: string description: CTA URL minLength: 9 maxLength: 500 example: https://support.testmerchant.com/cta linkType: title: CTA type description: "The CTA types\n\nAllowed values:\n - VIEW_ORDER\n - REQUEST_REFUND\n - BUY_AGAIN\n - WRITE_REVIEW\n" type: string minLength: 1 maxLength: 20 example: VIEW_ORDER FacilitatorProfile: type: object properties: profileType: type: string minLength: 2 maxLength: 3 description: "Type of facilitator\n\nAllowed values:\n - OTA\n" example: OTA profile: $ref: '#/components/schemas/MerchantProfile' CreditReimbursement: type: object description: List of credits for the order required: - id - creditReimbursementDateTime properties: id: minLength: 1 maxLength: 100 type: string description: Credit Reimbursement Object ID (merchant generated sequence based ID for each credit, for example 1, 2, 3, 4...) example: '90' creditReimbursementDateTime: type: string minLength: 20 maxLength: 20 description: Credit Reimbursement Date (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' creditReimbursementMethod: minLength: 1 maxLength: 20 type: string description: Method of credit example: Cheque voucherDetails: minLength: 1 maxLength: 1000 type: string description: Description of the voucher example: Voucher voucherExpirationDateTime: type: string minLength: 20 maxLength: 20 description: Date voucher expires, if applicable (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' voucherAmount: type: string minLength: 1 maxLength: 12 description: Amount of voucher (maximum number of fractional digits supported is 2) example: '250.35' voucherDateTime: type: string minLength: 20 maxLength: 20 description: Date voucher was issued (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' voucherReference: minLength: 1 maxLength: 255 type: string description: Voucher reference identifier example: 5435KJH45Y123 creditAmount: type: string minLength: 1 maxLength: 12 description: Amount of credit applied (maximum number of fractional digits supported is 2) example: '250.35' creditReference: minLength: 1 maxLength: 255 type: string description: Credit reference information example: Credit report TransactionDetails: description: Details about the order transaction aspects type: object properties: deviceIpAddress: minLength: 1 maxLength: 45 type: string description: Device IP address that was used at the time of the original transaction example: 120.0.0.1 geolocation: minLength: 1 maxLength: 30 type: string description: Geographical location of customer at the date/time of the transaction example: Toronto/CA geoLocationLongitude: minLength: 1 maxLength: 30 type: string description: The longitude of the users device at the time of the initial transaction being created. example: -81.0005857 geoLocationLatitude: minLength: 1 maxLength: 30 type: string description: The latitude of the users device at the time of the initial transaction being created. example: 46.4992699 orderDeviceId: minLength: 1 maxLength: 40 type: string description: ID of the device used to place order example: DAX9090989 orderDeviceName: minLength: 1 maxLength: 20 type: string description: Name of the device used to place order example: ETHOCAMAC909 orderDeviceFingerprint: minLength: 20 maxLength: 200 type: string description: The fingerprint of the device used for the transaction. example: a48d8a6de1453c98eefdb906f08e8f1314cc2ec41a20291ab70ff75d47c66a3d deviceType: minLength: 1 maxLength: 20 type: string description: Type of device used to make the purchase example: COMPUTER appSourceBrowserType: minLength: 1 maxLength: 45 type: string description: The application or browser used to make the purchase example: Firefox v10.3.2 simDetails: minLength: 1 maxLength: 21 type: string description: SIM card reference number example: 898898988CD98980 mobileNetworkProvider: minLength: 1 maxLength: 45 type: string description: Mobile network the phone was connected to during the purchase (if any) example: Rogers imeiId: minLength: 1 maxLength: 32 type: string description: Device IMEI ID example: 987979KHH78798JHJHJ iccId: minLength: 1 maxLength: 22 type: string description: SIM card identifier (integrated circuit card identifier). Stored in the SIM card and engraved on the outside. example: '56897687870898' salesChannel: minLength: 1 maxLength: 25 type: string description: Source of the purchase (such as website, mobile, ticket counter, etc.) example: Mobile HistoricOrder: type: object description: List of historic orders for this account. properties: orderId: minLength: 1 maxLength: 65 type: string description: Merchant internal Order ID example: '7768576' orderDateTime: type: string minLength: 20 maxLength: 20 description: Date of historical order (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' orderTotal: description: Total amount of order type: string minLength: 1 maxLength: 12 example: '878.96' primaryDeviceId: minLength: 1 maxLength: 40 type: string description: Primary device ID example: 98JYI77 primaryDeviceName: minLength: 1 maxLength: 20 type: string description: Primary device name example: Mark's iPad deviceIpAddress: minLength: 1 maxLength: 45 type: string description: Device IP address that was used at the time of the historical/previous transaction example: 127.0.0.1 paymentType: $ref: '#/components/schemas/PaymentType' userIdName: minLength: 1 maxLength: 65 type: string description: Merchant unique identifier for cardholder example: testuser1234 matchCreditCard: type: boolean description: Indicates whether this card matches orders that have been previously placed with this merchant example: true matchDeviceId: type: boolean description: Indicates whether this device ID matches orders that have been previously placed with this merchant example: true matchDeviceName: type: boolean description: Indicates whether this device name matches orders that have been previously placed with this merchant example: true matchIpAddress: type: boolean description: Indicates whether this IP Address matches orders that have been previously placed with this merchant example: true matchGeoLocation: type: boolean description: Indicates whether this Geo Location matches orders that have been previously placed with this merchant example: true currencyCode: $ref: '#/components/schemas/CurrencyCode' Refund: type: object description: List of refunds made for the order required: - id - refundDateTime - total properties: id: minLength: 1 maxLength: 100 type: string description: Refund object unique identifier (merchant generated sequence-based ID for each refund, for example 1, 2, 3, 4..) example: '23' referenceNumber: minLength: 1 maxLength: 65 type: string description: Refund reference number, sequence, or reference number provided by acquirer. This will be hidden from the cardholder. example: 89U897Y09K5 refundDateTime: type: string minLength: 20 maxLength: 20 description: Date and time when the refund is requested. (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' cardLastFour: $ref: '#/components/schemas/CardLastFour' paymentType: $ref: '#/components/schemas/PaymentType' total: description: Total amount that was refunded on the transaction type: string minLength: 1 maxLength: 12 example: '787.96' orderBalance: description: Amount remaining after the refund on the order (maximum number of fractional digits supported is 2) type: string minLength: 1 maxLength: 12 example: '898.96' issuerAuthorizationCode: type: string minLength: 6 maxLength: 6 description: Authorization code for the refund pattern: ^[a-zA-Z0-9]*$ example: 89iui8 Consequence: type: object properties: consequenceStatus: type: boolean description: Indicates whether there is a consequence/merchant action for this account/transaction if it is disputed example: true consequence: minLength: 1 maxLength: 500 type: string description: Free form text displayed to issuer that can be shared verbatim with the cardholder. Can be specific to customer or generated in real time based on other aspects of order example: No Change/Cancellation is Allowed. PaymentType: title: Transaction Card Type type: string minLength: 2 maxLength: 8 pattern: ^[A-Za-z0-9]{2,8}$ description: "The card brand or network as provided by the issuer\n\nAllowed values:\n - AMEX\n - DISCOVER\n - MC\n - VISA\n\nDefinition of allowed values:\n - AMEX: American Express\n - DISCOVER: Discover\n - MC: Mastercard\n - VISA: Visa\n" example: MC Usage: type: object description: Item (product) usage details properties: productInUse: type: boolean description: Indicates whether product has been delivered, used, or accessed? example: true lastUtilizationDateTime: description: Date of last login to the application/utilization of subscription by consumer (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) type: string minLength: 20 maxLength: 20 format: date-time example: '2017-06-19T13:18:18Z' totalUsage: type: integer minimum: 0 maximum: 99999 description: Total number of times the product was delivered, used or accessed format: int32 example: 78 consumptionDescription: minLength: 1 maxLength: 500 type: string description: Details about the usage of the product, for example how many minutes of game play, number of times video was viewed, number of pages read in a digital book, etc. example: Movie has been viewed 52 times. consumptionMethod: minLength: 1 maxLength: 500 type: string description: How the product was used/accessed (further proof the consumer used the product), for example how they used it, device details and/or IP address, etc. example: User accessed the movie from iPad Application. AccountProfile: type: object properties: email: type: string minLength: 1 maxLength: 200 pattern: ^[A-Za-z0-9]{1,200}$ description: Customer's email address for communication example: first.user@gmail.com phone: minLength: 3 maxLength: 30 type: string description: Primary phone number on the account; include the country code and any applicable separators example: +1-234-567-8901 userIdName: minLength: 1 maxLength: 65 type: string description: Merchant unique identifier for customer (if email address is used as the User ID, this field should still be populated) example: testuser123 customerNameDuration: type: integer minimum: 0 maximum: 99999 description: Duration from customer registration to purchase date (in full months). If less than 1 full month or 30 days, then use zero. format: int32 example: 1 accountCreationDateTime: minLength: 20 maxLength: 20 type: string format: date-time description: Date & Time the account was created or opened. (String based date time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) example: '2017-06-19T13:18:18Z' accountLastUsageDateTime: type: string description: Date of the last access or usage or transaction for this account (note that this may be different from lastLoginDate if customer uses guest checkout, etc.)(String based date time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) minLength: 20 maxLength: 20 format: date-time example: '2017-06-19T13:18:18Z' totalSpendAmount: type: string minLength: 1 maxLength: 12 description: Total amount spent on this account since it was created. Maximum number of fractional digits supported is 2. example: '250.35' cardholderVisitCountPrior: type: integer minimum: 0 maximum: 99999 description: Number of visits from cardholder prior to purchase transaction date format: int32 example: 7 cardholderVisitCountSince: type: integer minimum: 0 maximum: 99999 description: Number of visits from cardholder since purchase date to Purchase Inquiry transaction date format: int32 example: 9 monthsSinceFirstPurchase: type: integer minimum: 0 maximum: 99999 description: Months since the first purchase made by account holder and device format: int32 example: 2 countOfPurchasesSinceRegistration: type: integer minimum: 0 maximum: 99999 description: Number of purchases since account and device were registered format: int32 example: 90 countOfDisputedPurchasesSinceRegistration: type: integer minimum: 0 maximum: 99999 description: Number of disputed purchases since account and device were registered format: int32 example: 9 additionalRelatedDisputes: type: integer minimum: 0 maximum: 99999 description: Number of additional related disputes format: int32 example: 3 disputeHistoryMatch: type: boolean description: Indicates whether this cardholder has disputed orders with this merchant in the past 6 months example: true lastLoginDateTime: minLength: 20 maxLength: 20 type: string description: Date of last login to customer account (string based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' membershipSubscriptionType: minLength: 1 maxLength: 75 type: string description: 'Additional information about type of membership or subscription. Example: level in membership, annual subscription, etc.' example: Gold Membership goodOrders90DaysOld: type: boolean description: Indicates whether the Device ID and bank card match what was used with the current disputed transaction and if there are previous orders that are at least 90 days old example: true accountPrimaryDeviceId: minLength: 1 maxLength: 40 type: string description: Primary Device ID example: JCKJ78UY666L90 accountPrimaryDeviceName: minLength: 1 maxLength: 20 type: string description: Primary Device Name example: Mark's iPad accountAuthenticationConducted: minLength: 1 maxLength: 50 type: string description: Type of authentication conducted (2.F1) (Password provided and authenticated, any levels in between?, guest checkout) example: Password Authentication passwordLastUpdatedDateTime: description: Password last updated date and time. (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) type: string minLength: 20 maxLength: 20 format: date-time example: '2017-06-19T13:18:18Z' passwordAuthenticationDateTime: type: string description: Password Authentication date and time (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time minLength: 20 maxLength: 20 example: '2017-06-19T13:18:18Z' emailAccountHistory: type: integer minimum: 0 maximum: 99999 description: Duration of email account since first registered (by initial purchase - in full months). If less than 1 full month or 30 days, then use zero format: int32 example: 9 accountCreationIpAddress: minLength: 1 maxLength: 45 type: string description: IP Address for device used when creating the account example: 127.0.0.1 name: $ref: '#/components/schemas/NameType' accountShippingAddress: $ref: '#/components/schemas/AddressType' accountBillingAddress: $ref: '#/components/schemas/AddressType' consequence: $ref: '#/components/schemas/Consequence' historicOrders: type: array description: List of the historic orders for this account items: $ref: '#/components/schemas/HistoricOrder' PhysicalDelivery: type: object properties: trackingNumber: minLength: 1 maxLength: 255 type: string description: Tracking number for delivery - provide 'Not Yet Available' if number has not been issued yet example: 6765TYE45F43 deliveryProvider: minLength: 1 maxLength: 45 type: string description: Name of shipping provider, such as UPS, FedEx, USPS, etc. example: UPS deliveryService: minLength: 1 maxLength: 50 type: string description: Name of the delivery service (for example, Next Day, Overnight, 3 Day, etc.) example: 2 Day Delivery deliveryStatus: type: string minLength: 5 maxLength: 18 description: "Status of the delivery. Must provide one of the available, enumerated values.\n\nAllowed values:\n - Backordered\n - Cancelled\n - In_Transit\n - Not_Shipped\n - Other\n - Partial_Shipped\n - Pickup\n - Shipped\n - Shipping_Exception\n" example: Backordered descriptionOfOtherStatus: minLength: 1 maxLength: 50 type: string description: Delivery status description if 'other' is provided in deliveryStatus example: Shipment status is not available from sender. dateShipped: type: string description: Date shipped from warehouse/merchant (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time minLength: 20 maxLength: 20 example: '2017-06-19T13:18:18Z' dateDelivered: type: string minLength: 20 maxLength: 20 description: Date delivered (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' signatureRequiredForDelivery: type: boolean description: Indicates whether delivery requires a signature example: true proofOfDeliverySigned: type: boolean description: Indicates whether proof of delivery signature was captured example: true proofOfDeliverySignedBy: minLength: 1 maxLength: 75 type: string description: Indicates the proof of the delivery signature (this is an open text field) example: Digital signature captured and send to merchant. numberOfItemsDelivered: minLength: 1 maxLength: 100 type: string description: Number or quantity of items delivered example: 2 lbs specialShippingInstructions: minLength: 1 maxLength: 75 type: string description: Special instructions provided by the customer for shipping (for example, leave on front porch, gate code, etc.) example: Buzz Code 999 packingSlipContents: minLength: 1 maxLength: 2000 type: string description: Packing slip contents example: 6 Items and a Manual. addressVerificationForShipping: type: boolean description: Indicates whether the shipping address was verified with a vendor example: true billingAddressMatchesShippingAddress: type: boolean description: Indicates whether the shipping address matched the billing address for a payment example: true customerPickup: type: boolean description: Indicates whether the customer did/will pick up from the store or shipping center example: true reasonForPickup: minLength: 1 maxLength: 30 type: string description: The reason for the customer pick up, such as Customer Requested (online option for some merchants) or Delivery Missed (customer was not present to sih for delivery) example: Delivery missed. pickupDateTime: type: string minLength: 20 maxLength: 20 description: The date on which the item or the ordered good was picked up (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' idVerifiedAtPickupLocation: type: boolean description: Indicates whether an ID was verified at the pickup location example: true idVerificationAtPickupLocation: minLength: 1 maxLength: 25 type: string description: Identification used for verification (Driver's license, credit card, etc.) example: GREEN CARD shippingName: $ref: '#/components/schemas/NameType' shippingAddress: $ref: '#/components/schemas/AddressType' pickupAddressLocation: $ref: '#/components/schemas/AddressType' nameOfSigner: $ref: '#/components/schemas/NameType' MerchantProfile: type: object properties: name: minLength: 1 maxLength: 200 type: string description: Name of the merchant that the item was purchased from example: Amazon description: minLength: 1 maxLength: 250 type: string description: Description of the primary merchant tied to the transaction and responsible for providing the products or services (description of the business, what they do, markets, etc.). Used to help cardholder understand business responsible for the charge. example: Online Sales Platform merchantCategoryCode: minLength: 4 maxLength: 4 type: string description: A four-digit number listed in ISO 18245 for retail financial services. MCC is used to classify the business by the type of goods or services it provides. example: AC98 refundPolicyRecap: minLength: 1 maxLength: 250 type: string description: Short version of the merchant policy, specific to this order example: Short version of the policy refundPolicy: minLength: 1 maxLength: 200000 type: string description: Entire merchant refund policy, formatted for text display example: Complete merchant refund policy refundPolicyLink: minLength: 1 maxLength: 500 type: string description: Link to the refund policy document online that is specific to this individual receipt example: http://somesite.com/refundpolicy.html termsAndConditionsRecap: minLength: 1 maxLength: 250 type: string description: Short version of the merchant policy, specific to this order example: Damaged products are seller's responsibility termsAndConditions: minLength: 1 maxLength: 200000 type: string description: Entire merchant Terms & Conditions, formatted for text display example: Entire merchant Terms & Conditions termsAndConditionsLink: minLength: 1 maxLength: 500 type: string description: Link to the Terms & Conditions document online that is specific to this individual receipt example: http://somesite.com/termsandconditions.html cancellationPolicyRecap: minLength: 1 maxLength: 250 type: string description: Short version of the cancellation policy example: Short version of the cancellation policy cancellationPolicy: minLength: 1 maxLength: 200000 type: string description: Entire cancellation policy, formatted for text display example: Entire cancellation policy cancellationPolicyLink: minLength: 1 maxLength: 500 type: string description: Link to the full version of the cancellation policy example: http://somesite.com/cancellationPolicy.html logoUrl: type: string minLength: 1 maxLength: 500 description: Link to the merchant logo example: http://somesite.com/logoUrl.html merchantReceiptContact: $ref: '#/components/schemas/MerchantReceiptContact' merchantCustomerServiceContact: $ref: '#/components/schemas/MerchantCustomerServiceContact' Errors: required: - Error type: object properties: Error: type: array description: List of error objects items: $ref: '#/components/schemas/Error_2' description: Errors object OrderItem: description: List of items (products) included in the order (requires at least one, may repeat). This item identified one product of the list. type: object required: - id - productName - unitOfMeasurement properties: id: minLength: 1 maxLength: 100 type: string description: Order item unique identifier (merchant generated sequence-based ID for each order item, for example 1, 2, 3, 4...) example: '898989' productId: minLength: 1 maxLength: 100 type: string description: Item ID/Product ID. Internal ID created to track an individual product in the system. example: 7676776R78 productSku: minLength: 1 maxLength: 100 type: string description: Product SKU example: R76776R78 productName: minLength: 1 maxLength: 100 type: string description: Name of the product example: Monitor productDescription: minLength: 1 maxLength: 1000 type: string description: 'Description of item, which can contain extended details of the product, for example size: 6, color: blue' example: 32 Inches Wide Screen artistSeller: minLength: 1 maxLength: 100 type: string description: Name of the artist or seller example: Amazon conditionOfGoods: minLength: 1 maxLength: 20 type: string description: Item condition (such as new, used, etc.) example: Used linkToItemPurchased: minLength: 1 maxLength: 500 type: string description: Hyperlink to web page for item purchased example: http://amazon.ca/items/Samsung32Monitor quantity: type: string minLength: 1 maxLength: 100 description: Quantity of items purchased (1, 3, 30 etc.) example: 2 lbs unitOfMeasurement: description: The unit of measurement for the product purchased (i.e. weight of a product) type: string minLength: 1 maxLength: 100 example: kg productPrice: type: string minLength: 1 maxLength: 12 description: Price per unit. Maximum number of fractional digits supported is 2. example: '890.79' productType: minLength: 1 maxLength: 30 type: string description: Physical good, membership/subscription, digital good (such as game, ad, video, music, book/text, other) example: Screen itemDeliveryFormat: minLength: 1 maxLength: 100 type: string description: Indicates how the customer gets the product or service example: Overnight, 2nd Day deliveryReferenceId: minLength: 1 maxLength: 100 type: string description: 'Reference to delivery object (in: /order.deliveries)' example: R76776R78 refundReferenceId: minLength: 1 maxLength: 100 type: string description: 'Reference to refund object (in: /order.refunds)' example: R76776R78 creditReimbursementReferenceId: minLength: 1 maxLength: 100 type: string description: 'Reference to creditReimbursement object (in: /order.creditReimbursements)' example: R76776R78 reservationReferenceId: minLength: 1 maxLength: 100 type: string description: Reference to reservation object example: R76776R78 adultContent: description: Indicates whether this order item contains adult content type: boolean example: false itemDiscount: $ref: '#/components/schemas/Discount' usage: $ref: '#/components/schemas/Usage' recurring: $ref: '#/components/schemas/Recurring' Order: type: object description: Contains items, payments, transaction details, shipping, and other information related to the order (purchase) required: - merchantOrderId - orderDateTime - subtotal - total - currencyCode - orderItems properties: merchantOrderId: minLength: 1 maxLength: 50 type: string description: Merchant's internal order tracking number example: 765656JCHJDJ898HYJY90 orderDateTime: type: string minLength: 20 maxLength: 20 description: The date and time the order was made (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' orderStatus: type: string minLength: 5 maxLength: 18 description: "Status of the order\n\nAllowed values:\n - Open_Pending\n - Open_PendingReturn\n - Closed_Complete\n - Closed_Canceled\n - Other\n" example: Closed_Canceled orderStatusOther: minLength: 1 maxLength: 50 type: string description: Order status description if -Other- is provided example: Unidentified orderEmail: minLength: 1 maxLength: 200 type: string description: Customer email address for the order/transaction. This is not the account email. example: onetwothree@example.com orderPhone: minLength: 3 maxLength: 30 type: string description: Customer phone number for the order, if different from the billing phone number. Include the country code and any applicable separators example: +91 99898989800 relationshipToAccountHolder: minLength: 1 maxLength: 45 type: string description: Customer relationship to account holder (if different) example: Spouse subtotal: type: string minLength: 1 maxLength: 12 description: Order subtotal. Total amount of all products purchased in this order, not including tax and shipping. The maximum number of fractional digits supported is 2. example: '7878.98' shippingHandling: type: string minLength: 1 maxLength: 12 description: Total cost of shipping and handling for the order. If several different shipping and handling fees, summarize into one field. example: '898.9' tax: type: string minLength: 1 maxLength: 12 description: Total amount of tax. Maximum number of fractional digits supported is 2. example: '13.78' total: type: string minLength: 1 maxLength: 12 description: Total amount of the order, including tax and shipping. Maximum number of fractional digits supported is 2. example: '8898.9' refundTotal: type: string minLength: 1 maxLength: 12 description: Total amount of all refunds that have been issued for this purchase. example: '20.21' currencyCode: $ref: '#/components/schemas/CurrencyCode' specialInstructions: minLength: 1 maxLength: 2000 type: string description: Any special instructions requested at time of order example: Handle with care. communications: minLength: 1 maxLength: 1000 type: string description: Provide additional communications between consumer and merchant example: Any further info needed. proofOfConsent: minLength: 1 maxLength: 500 type: string description: Allows merchant to describe when and how the customer agreed to the terms and conditions at checkout example: Signed the Terms & Conditions document at office. refundEligible: type: boolean description: Indicates whether the transaction is eligible for a refund example: true orderRecipientName: $ref: '#/components/schemas/NameType' storeAddress: $ref: '#/components/schemas/AddressType' orderItems: type: array description: List of items (products) included in the order (requires at least one, may repeat) items: $ref: '#/components/schemas/OrderItem' transactionDetails: $ref: '#/components/schemas/TransactionDetails' payments: type: array description: List of payments for the order (requires at least one, may repeat) items: $ref: '#/components/schemas/Payment' creditReimbursements: type: array description: List of credits for the order items: $ref: '#/components/schemas/CreditReimbursement' refunds: type: array description: List of refunds made for the order items: $ref: '#/components/schemas/Refund' taxItems: type: array description: List of taxes applied to the order (requires at least one, may repeat) items: $ref: '#/components/schemas/Tax' discounts: type: array description: List of discounts applied to the order items: $ref: '#/components/schemas/Discount' deliveries: type: array description: List of deliveries created for the order items: $ref: '#/components/schemas/Delivery' reservations: type: array description: List of reservations created for the order items: $ref: '#/components/schemas/Reservation' loyalties: type: array description: List of loyalty membership accounts that relate to the order items: $ref: '#/components/schemas/Loyalty' customData: type: array description: custom data that can be part of Order items: $ref: '#/components/schemas/CustomData' callToActionLinks: type: array description: Call to Action Links for merchants items: $ref: '#/components/schemas/CallToActionLink' MerchantCustomerServiceContact: type: object properties: phoneNumber: minLength: 3 maxLength: 30 type: string description: Merchant's customer service phone number including the country code and any applicable separators example: +1-234-567-8901 email: minLength: 1 maxLength: 200 type: string description: Merchant's customer service email address example: customerservice.merchant@example.com website: minLength: 1 maxLength: 100 type: string description: URL for merchant's customer service focused information example: http://merchantwebsite.example.com/customerservice.html customerServiceInstructions: minLength: 1 maxLength: 250 type: string description: Free form text displayed to issuer that can be sent to the cardholder. Can be specific to transaction. example: Include Transaction ID in all communications. address: $ref: '#/components/schemas/AddressType' AddressType: type: object properties: line1: minLength: 1 maxLength: 100 type: string description: The street detail for the address example: 223 Blythwood Rd line2: minLength: 1 maxLength: 100 type: string description: The secondary street detail for the address example: Main floor line3: minLength: 1 maxLength: 100 type: string description: The tertiary street detail for the address example: Main floor city: minLength: 1 maxLength: 100 type: string description: The city detail for the address example: Toronto countrySubdivision: minLength: 1 maxLength: 80 type: string description: The state/province detail for the address example: Ontario postalCode: minLength: 1 maxLength: 10 type: string description: The zip/postal detail for the address example: M4N1A7 country: minLength: 1 maxLength: 80 type: string description: The country detail for the address example: Canada latitude: minLength: 1 maxLength: 11 type: string description: The latitude coordinate of the address example: '30.286254' longitude: minLength: 1 maxLength: 11 type: string description: The longitude coordinate of the address example: '-97.739378' Recurring: type: object description: Recurring product details properties: trialPeriod: type: boolean description: Indicates whether there is a trial period associated with this item example: true trialStatus: type: string minLength: 6 maxLength: 11 description: "Current status of the trial (if applicable)\n\nAllowed values:\n - Active\n - Cancelled\n - Expired\n - Not_Started\n" example: Active trialInterval: type: integer minimum: 0 maximum: 99999 format: int32 description: The multiplier for the trial period, combines with trialIntervalUnit (for example, a 1 in this field + Month in trialIntervalUnit = once per month example: 2 trialIntervalUnit: type: string minLength: 3 maxLength: 5 description: "The trial renewal interval\n\nAllowed values:\n - Day\n - Week\n - Month\n - Year\n" example: Month trialActivationDateTime: type: string minLength: 20 maxLength: 20 description: Date the trial was activated for the customer (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' trialStartDateTime: type: string minLength: 20 maxLength: 20 description: Date the trial began with the customer (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' trialEndDateTime: type: string minLength: 20 maxLength: 20 description: Date the trial expires (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' trialPrice: type: string minLength: 1 maxLength: 12 description: Cost of the trial, pre-tax (maximum number of fractional digits supported is 2) example: '12' subscriptionActivationDateTime: type: string minLength: 20 maxLength: 20 description: Date the subscription was activated for the customer (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionStartDateTime: type: string minLength: 20 maxLength: 20 description: Date the subscription/contract began with the customer (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionExpirationDateTime: type: string minLength: 20 maxLength: 20 description: Date the subscription expires (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionCancellationDateTime: type: string minLength: 20 maxLength: 20 description: Date the subscription was cancelled (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionPrice: type: string minLength: 1 maxLength: 12 description: Cost of the subscription, pre-tax (maximum number of fractional digits supported is 2) example: '16' subscriptionInterval: type: integer minimum: 0 maximum: 99999 format: int32 description: The multiplier for the subscription renewal period, combines with subscriptionIntervalUnit (for example, a 1 in this field + Month in subscriptionIntervalUnit means subscription renews once per month example: 1 subscriptionIntervalUnit: type: string minLength: 3 maxLength: 5 description: "The subscription renewal interval\n\nAllowed values:\n - Day\n - Week\n - Month\n - Year\n" example: Year subscriptionStatus: type: string minLength: 6 maxLength: 11 description: "Current status of the subscription\n\nAllowed values:\n - Active\n - Cancelled\n - Expired\n - Not_Started\n" example: Active subscriptionCurrentPeriodStarted: type: string minLength: 20 maxLength: 20 description: Date the subscription period/billing cycle started. (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionCurrentPeriodEnds: type: string minLength: 20 maxLength: 20 description: Date the subscription period/billing cycle ends (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionFirstPaymentDateTime: type: string minLength: 20 maxLength: 20 description: Date of the first subscription payment, not the trial payment (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionFirstPayment: description: Amount of the first subscription payment, not the trial payment (maximum number of fractional digits supported is 2) type: string minLength: 1 maxLength: 12 example: '909.96' subscriptionNextBillingDateTime: type: string minLength: 20 maxLength: 20 description: Next subscription billing date in the cycle (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' subscriptionDuration: type: integer minimum: 0 maximum: 99999 format: int32 description: Number of remaining billing cycles example: 3 numberOfHistoricSuccessfulPayments: type: integer minimum: 0 maximum: 99999 format: int32 description: Number of historical successful payments example: 6 balanceOnSubscription: description: Balance on the subscription contract (maximum number of fractional digits supported is 2) type: string minLength: 1 maxLength: 12 example: '120' cancellationPenalty: type: boolean description: Indicates whether there is a cancellation penalty example: true cancellationPenaltyDescription: minLength: 1 maxLength: 500 type: string description: A short written description of the penalty/policy example: Users have to pay penalty fee for cancellation subscriptionCancellationPolicy: minLength: 1 maxLength: 200000 type: string description: The full subscription cancellation policy example: Some description explaining all cancellation policies and conditions. subscriptionCancellationPolicyLink: minLength: 1 maxLength: 500 type: string description: The link to the full subscription cancellation policy example: http://somesite.com/cancellationpolicy.html subscriptionContract: minLength: 1 maxLength: 200000 type: string description: The full subscription contract example: Contract description for the subscription with all details. subscriptionContractLink: minLength: 1 maxLength: 500 type: string description: Link to the full subscription contract example: http://somelink.com/contract.html subscriptionDisputed: type: boolean description: Indicates whether this recurring item was disputed previously example: true subscriptionFirstPaymentDisputed: type: boolean description: Indicates whether the dispute was for the first subscription payment or trial payment example: true subscriptionDisputeDateTime: type: string minLength: 20 maxLength: 20 description: Date the Subscription was disputed (String based date/time representation in International Date Time Format (ISO 8601) in UTC - yyyy-mm-ddThh:mm:ssZ) format: date-time example: '2017-06-19T13:18:18Z' CurrencyCode: minLength: 3 maxLength: 3 type: string description: Currency code applied to order. This currency will apply to all amount/price fields throughout entire payload. Must be three character ISO currency code (https://en.wikipedia.org/wiki/ISO_4217#Active_codes) example: USD Error_2: type: object required: - ReasonCode properties: Source: maxLength: 100 minLength: 0 type: string description: Source of the error example: Service ReasonCode: maxLength: 100 minLength: 0 type: string description: Unique code identifying the error case example: REQUEST_BODY_MALFORMED Description: maxLength: 1000 minLength: 0 type: string description: Short description of the error example: MerchantCriteria must not be null. Recoverable: type: boolean description: Indicates whether this error will always be returned for this request, or if retrying could change the outcome example: false default: false Details: maxLength: 1000 minLength: 0 type: string description: Optional detailed description of the issue example: MerchantCriteria object is a mandatory field and must not be null. description: Error object BillingInsights: type: object properties: validityLevel: description: 'The most granular level to which the address could be validated. Ex. If the address was only valid to the city level (but not to the house level), it would return valid_to_city.Possible Values are: * valid_to_house_number * missing_address * invalid * valid * valid_to_street * valid_to_country * valid_to_city * valid_to_house_number_missing_apt' example: valid_to_street type: string minLength: 1 maxLength: 100 firstSeenDays: description: Number of days that have passed since the address was first seen. example: 234 type: integer format: int64 minimum: 0 maximum: 999999999 lastSeenDays: description: Number of days that have passed since the address was last seen. example: 234 type: integer format: int64 minimum: 0 maximum: 999999999 matchToName: description: 'The match status between either of the input names (person or business) and the queried entity. Possible values are: * not-found * match * no-match' example: no-match type: string minLength: 1 maxLength: 100 shippingAddressRelationship: description: 'The relationship between billing and shipping address. Possible values are: * `match` * `city_match` * `seen_together` * `seen_with_others` * `no_relationship` * `null`' example: no_relationship type: string minLength: 1 maxLength: 100 Scores: type: object properties: ipRisk: $ref: '#/components/schemas/IpRisk' identityRisk: $ref: '#/components/schemas/IdentityRisk' IdentityRisk: type: object properties: score: description: A comprehensive 0-500 score associated with the individual's identity. minimum: 0 maximum: 500 example: 375 type: integer format: int64 reasonCode: description: 'Reason code explanation value for the identity risk score based on data provided. Possible values are: * High Severity : AA-AP * Medium Severity : JA-JF * Low Severity : RA-RP' example: RA type: string minLength: 2 maxLength: 2 ShippingInsights: type: object properties: validityLevel: description: 'The most granular level to which the address could be validated. Ex. If the address was only valid to the city level (but not to the house level), it would return valid_to_city. Possible Values are: * valid_to_house_number * missing_address * invalid * valid * valid_to_street * valid_to_country * valid_to_city * valid_to_house_number_missing_apt' example: valid_to_street type: string minLength: 1 maxLength: 100 firstSeenDays: description: Number of days that have passed since the address was first seen. example: 234 type: integer format: int64 minimum: 0 maximum: 999999999 lastSeenDays: description: Number of days that have passed since the address was last seen. example: 234 type: integer format: int64 minimum: 0 maximum: 999999999 matchToName: description: 'The match status between either of the input names (person or business) and the queried entity. Possible values are: * not-found * match * no-match' example: no-match type: string minLength: 1 maxLength: 100 PrimaryEmail: type: object properties: firstSeenDays: description: Count of days since the email was first observed in Ekata's Identity Network. If the email has not been observed before, first_seen_days will be 0. example: 234 type: integer format: int64 minimum: 0 maximum: 999999999 lastSeenDays: description: Number of days that have passed since the email address was last seen. example: 234 type: integer format: int64 minimum: 0 maximum: 999999999 valid: description: True if the email address is valid type: boolean example: true domainCreationDate: description: The date when the email domain was created. Format is YYYY-MM-DD. example: '2000-11-29' pattern: ^\d{4}-\d{2}-\d{2} type: string matchToName: description: The match status between the input name and the queried entity. example: no-match type: string minLength: 1 maxLength: 100 mailboxVelocity: description: Number of times email has been seen in last 180 days. example: 3 type: integer format: int64 minimum: 0 maximum: 1000 isDisposable: description: True if the email domain is disposable. Disposable emails are generally associated with fraudulent activities. If true, this is one of the strongest risk indicators and the transaction should be flagged for further review. example: false type: boolean emailRisk: $ref: '#/components/schemas/EmailRiskScore' PhoneDetails: type: object properties: cc: description: Country code example: '1' type: string minLength: 1 maxLength: 3 pattern: ^\d{1,3}$ subscriber: description: Subscriber section of the number example: '3143978691' type: string minLength: 1 maxLength: 15 pattern: ^\d{1,15}$ example: cc: '1' subscriber: '3143978691' Ip: type: object properties: billingAddressDistance: description: The distance (in miles) between the IP address and the physical address. example: 240 type: integer format: int64 lastSeenDays: description: Number of days that have passed since the IP address was last seen. example: 234 type: integer format: int64 minimum: 0 maximum: 999999999 connectionType: description: 'Ip Connection type description. Possible values are: * cable-dsl * corporate * cellular * dialup' example: cable-dsl type: string shippingAddressDistance: description: The distance (in miles) between the IP address and the physical address. example: 240 type: integer format: int64 PaymentCard: type: object properties: cardHolderNamefirstSeenDays: description: Count of days since the payment card and name was first observed in the network. If they have not been observed together before, first seen days will be 0. format: int64 type: integer example: 55 cardHolderNameVelocity: description: Count of times the payment card and name have been observed in the network over the past 90 days. If they have not been observed together in the past 90 days, velocity will be 0. format: int64 type: integer example: 24 Phone: type: object properties: matchToName: description: 'The match status between either of the input names (person or business) and the queried entity. Possible values are: * not-found * match * no-match' example: no-match type: string minLength: 1 maxLength: 100 lineType: description: The line type of the phone number. * landline - Traditional wired phone line. * fixed-voip - VOIP-based fixed line phones. * mobile - Wireless phone line. * voicemail - Voicemail-only service. * toll-free - Callee pays for call. * premium - Caller pays a premium for the call-e.g. 976 area code. * non-fixed-voip - Skype, for example. * other - Anything that does not match the previous categories. example: other type: string valid: description: True if the phone number is valid. type: boolean example: true phoneNumberCarrier: description: The company that provides voice and/or data services for the phone number. Carriers are returned at the MVNO level. example: Ekata Telco type: string minLength: 1 maxLength: 50 EmailRiskScore: type: object properties: score: description: Comprehensive risk score associated with an email address, with a higher score indicating a riskier individual. A number between 0 and 1 rounded to three decimal places. format: double maximum: 1 type: number minimum: 0 example: 0.445 TransactionInsights: type: object required: - id properties: id: type: string description: The generated unique transaction identifier. example: be3ad617-04ad-43e1-a438-79425b6511b6 pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$ minLength: 36 maxLength: 36 deviceInsights: $ref: '#/components/schemas/DeviceInsights' individualInsights: $ref: '#/components/schemas/IndividualInsights' IndividualInsights: type: object description: The details associated with the individual insights. properties: primaryEmail: $ref: '#/components/schemas/PrimaryEmail' ip: $ref: '#/components/schemas/Ip' homePhone: $ref: '#/components/schemas/Phone' mobilePhone: $ref: '#/components/schemas/Phone' billingAddress: $ref: '#/components/schemas/BillingInsights' shippingAddress: $ref: '#/components/schemas/ShippingInsights' scores: $ref: '#/components/schemas/Scores' workPhone: $ref: '#/components/schemas/Phone' paymentCard: $ref: '#/components/schemas/PaymentCard' paymentAmount: $ref: '#/components/schemas/PaymentAmount' alerts: example: - firstSeenDays - valid type: array items: type: string description: Returns a list of fields affected in the rare case of a partial data outage; otherwise it will be empty. In the case of a partial data outage, it is recommended to use the partial response in the real-time transaction model and use the alerts field data for diagnostics in post transaction. warnings: description: An array containing warning messages. example: - 'Primary Email: Invalid username syntax' - 'Shipping Address: Missing country_code' type: array items: type: string additionalProperties: false InsightFactor: description: 'The insight factor is represented numerically using a range from 0 (no risk data) to 5 (high risk). Each numerical value and its associated risk representation is shown below. * `0` - Represents an unknown risk because no data on this device is available. * `1` - Represents a no or low risk request. * `2` - Represents a low risk request. * `3` - Represents a medium risk request. * `4` - Represents a high risk request. * `5` - Represents a very high risk request. The insight factor is typically used to identify scenarios where a service provider may want to introduce consumer friction on the authorization process to validate the identity of the consumer. Example usage by a service provider may be to implement controls such as multifactor authentication for calculated risk factors of `3` or `4` and request blocking for risk factors of `5`.' maximum: 5 type: integer minimum: 0 example: 2 ErrorResponse_2: required: - Errors type: object description: The error response model used by all of our API endpoints properties: Errors: $ref: '#/components/schemas/Errors_2' AccountDetails: type: object properties: accountNumber: description: Unique identifier for the Primary Account Number of the card. example: '2303770003400262' type: string minLength: 13 maxLength: 19 cardLast4: description: The last four digits of the card number. example: '4242' type: string minLength: 4 maxLength: 4 pattern: ^\d{4}$ cardExpiryDate: description: The expiry year and month of the card in YYMM format. example: '2311' type: string minLength: 4 maxLength: 4 pattern: ^\d{4}$ cardBin: description: The first digits of the card number. example: '12345' type: string minLength: 4 maxLength: 8 PaymentAmount: type: object properties: merchantCategoryRatio: description: A ratio of the purchase amount compared to the median purchase amount seen for other similar merchants in the same category. The higher the ratio means that the purchase amount is further from the median purchase amount observed. format: double type: number example: 1.5 DeviceInfo: description: This field contains information related to the consumer device used to authorize with your product or service. type: object properties: deviceType: description: The device type used to authorize your product or service. type: string example: iPhone country: description: The country where the consumer device is located when attempting to authorize with your product or service. type: string example: USA ipCarrier: description: The service provider used by the consumer device when attempting to authorize with your product or service. type: string example: AT&T city: description: The city where the consumer device is located when attempting to authorize with your product or service. type: string example: Los Angeles browser: description: The name of the browser used to authorize your product or service. type: string example: Safari state: description: The state where the consumer device is located when attempting to authorize with your product or service. type: string example: CA platform: description: The device platform used to authorize your product or service. type: string example: iOS required: - browser - platform - deviceType Errors_2: required: - Error type: object description: The error response model used by all of our API endpoints properties: Error: description: a list of Error objects minItems: 1 type: array items: $ref: '#/components/schemas/Error_3' example: [] TrustFactor: description: The trust factor value associated with the device. type: integer example: 5 minimum: 1 maximum: 5 Address: type: object properties: addressLine1: description: The first line of the street part in the structured address. example: 912 Uclan Dr type: string minLength: 1 maxLength: 50 addressLine2: description: The second line of the street part in the structured address. example: Apt 34 type: string minLength: 1 maxLength: 50 addressCity: description: The name of the city in the structured address. example: Houston type: string minLength: 1 maxLength: 50 addressState: description: The state/province/parent subdivision code of the structured address. example: TX type: string minLength: 1 maxLength: 3 addressPostCode: description: The postal code of the structured address. example: '63124' type: string minLength: 1 maxLength: 16 addressCountry: example: '840' type: string format: ISO-3166-1 description: 'The ISO-3166-1 numeric country code of the billing or shipping address requested by the cardholder. See: [ISO-3166](https://www.nationsonline.org/oneworld/country_code_list.htm).' minLength: 3 maxLength: 3 IpRisk: type: object properties: score: description: A 0-1 score (rounded to three decimal places) associated with an IP address. format: double type: number example: 0.562 DeviceInsights: description: The insights details associated with the device. type: object properties: uDeviceId: type: string description: The generated unique device identifier. example: UDID-9284e12b85b0d2763c13d734c70b1d62 lastSeen: description: The ISO UTC timestamp when the device was last seen. type: string example: '2022-06-03T18:00:50Z' firstSeen: description: The ISO UTC timestamp when the device was first seen. type: string example: '2022-03-01T13:00:50Z' lastSeenDays: description: Number of of days since the device was last seen. If the device has not been observed before, lastSeenDays will be 0. type: integer format: int64 example: 10 minimum: 0 maximum: 999999999 firstSeenDays: description: Number of days since the device was first seen. If the device has not been observed before, firstSeenDays will be 0. type: integer format: int64 example: 10 minimum: 0 maximum: 999999999 accountDeviceId: description: This field contains the account device identification hash. If hashedAccountId (optional field) is not present in the request or the device resolved to a default UDID, the accountDeviceId field will be omitted from the response type: string example: b01e4f5e5e984a79ad5ff38e65ddf198 deviceInfo: $ref: '#/components/schemas/DeviceInfo' insightFactor: $ref: '#/components/schemas/InsightFactor' riskFactor: $ref: '#/components/schemas/RiskFactor' trustFactor: $ref: '#/components/schemas/TrustFactor' alerts: type: array example: - Unable to generate Insights items: type: string description: Returns alert message when unable to generate insights. RiskFactor: description: 'The risk factor is represented numerically using a range from 0 (no risk data) to 5 (high risk). Each numerical value and its associated risk representation is shown below. * `0` - Represents an unknown risk because no data on this device is available. * `1` - Represents a no or low risk request. * `2` - Represents a low risk request. * `3` - Represents a medium risk request. * `4` - Represents a high risk request. * `5` - Represents a very high risk request. The risk factor is typically used to identify scenarios where a service provider may want to introduce consumer friction on the authorization process to validate the identity of the consumer. Example usage by a service provider may be to implement controls such as multifactor authentication for calculated risk factors of `3` or `4` and request blocking for risk factors of `5`.' maximum: 5 type: integer minimum: 0 example: 2 TransactionInsightsData: required: - purchaseDate - purchaseAmount - purchaseCurrencyExponent - purchaseCurrency - merchantName - merchantCountryCode - mcc type: object properties: purchaseDate: description: The purchase date in format YYYYMMDDHHMMSS example: '20220721173228' type: string minLength: 14 maxLength: 14 purchaseAmount: description: The amount of the transaction in the currency's basic unit. If the purchase amount is USD 123.45, element will contain the value 12345. Max value is MAX_LONG (9223372036854775807) example: '12345' type: string minLength: 1 maxLength: 19 pattern: ^\d{1,19}$ purchaseCurrencyExponent: description: The Purchase currency Exponent. If the purchase amount is USD 123.45, then the exponent will contain 2. example: '2' type: string minimum: 0 maximum: 9 purchaseCurrency: description: 'The currency of the transaction amount, as an ISO-4217 currency code. See: [ISO-4217](https://www.nationsonline.org/oneworld/currencies.htm)' type: string format: ISO-4217-3, minLength: 3 maxLength: 3 example: '840' merchantName: description: The name of the business. example: Acme Inc type: string minLength: 1 maxLength: 40 merchantCountryCode: example: '840' type: string format: ISO-3166 description: 'The ISO-3166 numeric country code of the merchant associated with the transaction. See: [ISO-3166](https://www.nationsonline.org/oneworld/country_code_list.htm).' minLength: 3 maxLength: 3 mcc: description: The Merchant Category Code associated with the transaction. example: '0742' type: string minLength: 4 maxLength: 4 ipAddress: description: 'IPv4 address is represented in the dotted decimal format of 4 sets of decimal numbers separated by dots. The decimal number in each and every set is in the range 0 to 255. IPv6 address is represented as eight groups of four hexadecimal digits, each group representing 16 bits (two octets. The groups are separated by colons (:). - Optional to generate individual insights - Required to generate device insights' example: 198.51.100.42 type: string minLength: 7 maxLength: 45 userAgent: pattern: ^(?!\s*$).+ description: 'The user-agent string of the consumer device attempting to authorize with your product or service. The user-agent must represent the HTTP client of the service consumer with details on the software originating the request. - Optional to generate individual insights - Required to generate device insights' type: string example: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 7.0; InfoPath.3; .NET CLR 3.1.40767; Trident/6.0; en-IN) canvas: description: The canvas signature of the browser installed on the consumer device. type: string example: e1af96a2e8af1115 minLength: 0 maxLength: 999 webGl: description: The webGL signature of the browser installed on the consumer device. type: string example: wg1-ce04533340ea94cf minLength: 0 maxLength: 999 timeZone: description: Time-zone of the consumer device. The timezone must be a number of the time-zone offset, in minutes, from the date based on current host system settings to UTC. type: string example: '600' pattern: ^-?\d+$ screenResolution: description: The screen resolution of the consumer device attempting to authorize with your product or service. type: string example: 1024x820 pattern: ^\s*\d+\s*x\s*\d+\s*\d*\s*$ localStorage: description: Flag to local storage is enabled on the consumer device. type: boolean example: true language: description: The language of the consumer device. The language must be a string representing the language version as defined in BCP-47. type: string example: zh-TW pattern: ^[a-zA-Z]{1,3}(-{1}[a-zA-Z0-9]{1,10})*? colorDepth: description: The device screen color depth value. type: integer example: 24 minimum: 0 maximum: 99999 buildManufacturer: description: Manufacturer of the product/hardware. type: string example: Apple placement: description: This optional field contains the placement identifier within the application. type: string example: Registration androidBuildVersion: description: Build is used to determine information about the current build, extracted from system properties. type: string example: '12' androidSdkInt: description: The user-visible SDK version of the framework; its possible values are defined in Build.VERSION_CODES. type: string example: '31' buildFingerprint: description: String that uniquely identifies this build. type: string example: samsung/a32xsq/a32x:12/SP1A.210812.016/A326USQS7BVF2:user/release-keys buildBrand: description: Consumer-visible brand with which the product/hardware will be associated, if any. type: string example: Apple supportedFeatures: description: List of the supported features on the consumer device. type: array items: type: string example: '["mhac","mhtse","mhcdma","mhgy"]' model: description: 'Mobile device manufacturer and modelAndroid: Build.MANUFACTURER + " " + Build.MODEL returns the mobile device manufacturer and model, For example,"samsung SM-G960U1", iOS: utsname.machine returns the device model, For example, "iPhone10.4". Note: Apple as a manufacturer is not included because it is the same for all iOS devices.' type: string example: iPhone sdkUserAgent: description: 'The unique package name/bundle identifier of the client''s application. Android: obtained from the applicationContext.getPackageName() method. iOS: obtained from the [NSBundle mainBundle] bundleIdentifier property.' type: string example: 14.3.1.7 majorOsVersion: description: Major operating system version. type: integer example: 12 minorOsVersion: description: Minor operating system version. type: integer example: 0 simCountryIso: description: ISO country code equivalent for the SIM provider's country code. type: string example: us simOperator: description: MCC+MNC (mobile country code + mobile network code) of the SIM provider. type: string example: T-Mobile primaryStorage: format: int64 description: Device primary storage size. type: integer example: 117027876864 systemMemory: format: int64 description: Device System memory size. type: integer example: 5847543808 buildProduct: description: Name of the overall product. type: string example: beyond0qltesq vendorAppId: description: Alphanumeric string that uniquely identifies a device to the app vendor. type: string example: 64BAA4F0-9EBC-713E-5B5B-2AF40AB4123A storedDeviceId: description: Optional unique device identifier that merchant can store on consumer device. E.g with cookie in web flow. type: string example: wyett276tuygey6r androidId: description: Google's unique device identifier. A 64-bit number (as a hex string) that is randomly generated when the end user first sets up the device. type: string example: 38400000-8cf0-11bd-b23e-10b96e40000d hashedAccountId: description: The hashed account identifier used during the authorization attempt. type: string example: d1e8a70b5ccab1dc2f56bbf7e99f064a660c08e361a3 minLength: 0 maxLength: 999 endCustomerRefId: description: The End Customer Reference identifier is used during the reseller transaction request. type: string example: '45342' minLength: 1 maxLength: 40 cookiesEnabled: description: Flag to indicate cookies are enabled on the consumer device. type: boolean example: true plugins: description: A list of browser plugins. type: array items: type: string example: - Adobe Acrobat - QuickTime acquirerMerchantId: description: The merchant ID that the transaction was processed under, as assigned by the acquirer. type: string example: ACME minLength: 1 maxLength: 40 acquirerBin: description: The BIN (Bank Identification Number) of the acquirer. example: '444444' type: string minLength: 1 maxLength: 11 cardHolderName: description: The full name of the person. example: Waidong L Syrws type: string minLength: 1 maxLength: 45 secondaryName: description: The full name of the person. example: Waidong L Syrws type: string minLength: 1 maxLength: 45 primaryEmail: description: The primary contact detail - Email id example: john@mastercard.com type: string format: email minLength: 3 maxLength: 254 secondaryEmail: description: Secondary email to contact if primary details are not reachable example: ted@mastercard.com type: string minLength: 3 maxLength: 254 format: email mobilePhone: $ref: '#/components/schemas/PhoneDetails' billingAddress: $ref: '#/components/schemas/Address' shippingAddress: $ref: '#/components/schemas/Address' homePhone: $ref: '#/components/schemas/PhoneDetails' workPhone: $ref: '#/components/schemas/PhoneDetails' accountDetails: $ref: '#/components/schemas/AccountDetails' Error_3: type: object properties: Source: type: string description: The source of the problem. i.e where the error occurred example: IIT minLength: 1 maxLength: 15 ReasonCode: type: string description: A code defining the error, as defined in documentation example: VALIDATION_ERROR minLength: 1 Description: type: string description: A description for this specific occurrence of the above ReasonCode example: Invalid Format minLength: 1 Recoverable: type: boolean description: Whether or not retrying this request could result in a successful response. example: false Details: type: string description: More details of this specific error. This is an optional field and is sometimes used to give a more comprehensive description of the error that has occurred, when required. example: purchaseDate, billingAddress.city minLength: 1 responses: Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-403' Created: description: The specified resource was created content: application/json: schema: $ref: '#/components/schemas/Error-201' RetrieveTransactionStatus: description: Success content: application/json: schema: $ref: '#/components/schemas/RetrieveTransactionStatus' examples: SUCCESS: $ref: '#/components/examples/oneTimePaymentSuccess' FAILURE: $ref: '#/components/examples/oneTimePaymentFail' Unauthorized: description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/Error-401' InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-500' Unsupported: description: Unsupported Content Type content: application/json: schema: $ref: '#/components/schemas/Error-415' DonationHistoryPaged: description: Success content: application/json: schema: $ref: '#/components/schemas/DonationHistoryPaged' examples: success: $ref: '#/components/examples/DonationHistoryPagedExample' NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/Error-404' BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' ProgramTransactionHistoryPaged: description: Success content: application/json: schema: $ref: '#/components/schemas/ProgramTransactionHistoryPaged' examples: success: $ref: '#/components/examples/ProgramTransactionHistoryPagedExample' UploadNonMACardTrxResponse: description: Success content: application/json: schema: $ref: '#/components/schemas/UploadNonMACardResponse' Forbidden_2: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: ForbiddenExample: $ref: '#/components/examples/ForbiddenExample' MethodNotAllowed: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: MethodNotAllowedExample: $ref: '#/components/examples/MethodNotAllowedExample' Unauthorized_2: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: UnauthorizedExample: $ref: '#/components/examples/UnauthorizedExample' OrderApiAcknowledgement: description: The response object Merchant API returns content: application/json: schema: $ref: '#/components/schemas/OrderApiAcknowledgement' BadRequest_2: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: BadRequestExample: $ref: '#/components/examples/BadRequestExample' UnauthorizedError: description: Unauthorized request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' examples: UnauthorizedExample: $ref: '#/components/examples/UnauthorizedExample_2' TransactionResponse: description: Success headers: X-MC-Correlation-ID: schema: type: string format: uuid description: A random 128-bit UUID representing the transaction content: application/json: schema: $ref: '#/components/schemas/TransactionInsights' BadRequestError: description: Something was wrong with the request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse_2' examples: InvalidFormatBadRequestErrorExample: $ref: '#/components/examples/InvalidFormatBadRequestErrorExample' MissingRequiredDataBadRequestErrorExample: $ref: '#/components/examples/MissingRequiredDataBadRequestErrorExample' parameters: ClientId: name: x-openapi-clientid in: header description: ClientId is a unique and a mandatory ID shared while creating a project on Mastercard Developers Portal. required: true schema: type: string example: 0a7e433a-63fc-4557-8cf4 Limit: name: limit in: query description: limit required: false schema: type: integer format: int32 example: 25 ProgramId: name: ProgramId in: header description: ProgramId is an optional field, but if a client has more than one program associated to it, then this field becomes mandatory. required: false schema: type: string example: 80380ef2-5037-4e57-86bf-1bdd1efb0ae2 Offset: name: offset in: query description: offset required: false schema: type: integer format: int32 example: 10 Donor: name: donor_id in: path description: donor_id required: true schema: type: string example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 donorId: name: donor_id in: query description: Donor required: false schema: type: integer example: 652ce9ff-fa5f-4e9f-8151-c73fa20088f7 Programid: name: ProgramId in: header description: ProgramId is an required field. required: true schema: type: string example: 80380ef2-5037-4e57-86bf-1bdd1efb0ae2 CorrelationId: name: x-correlation-id in: header description: CorrelationId is a unique donation request ID. It is recommended to pass the x-correlation-id by the customer and to use the format "bankname_UUID" (bank name can be indicated using the first 4 digits). Maximum length of this field should be 100 alphanumeric characters. If not passed, Mastercard will generate it. required: false schema: type: string example: 03f8c4e8-8bdc-4a30-a2b4-b6f989e96ca3 authorization: name: Authorization in: header description: Every request sent to the Merchant API must be authorized. To facilitate authorization, every request must contain a time stamped, symmetric-key based HMAC signature header. The HMAC signature ensures that the API secret key and key ID are exchanged securely between Ethoca and the merchant out-of-band. The entropy of the issued API key must be no less than 128 bits. ETHOCA-SHA1 KeyRef=,Signature= required: true example: 1c723b9ddda75f6348cd939c5a3140f58e58c70d schema: type: string eth_date: name: X-Eth-Date in: header description: Date time in UTC format when request was sent to the Merchant API required: false example: '2017-06-19T13:18:16Z' schema: type: string minLength: 10 maxLength: 25 examples: oneTimePaymentSuccess: summary: Payment success value: transactionId: OTBVMrlAQa6Ecl7PlKSDyw transactionStatus: SUCCESS transactionMessage: Transaction APPROVED ProgramTransactionHistoryPagedExample: value: limit: 2000, offset: 0, totalTransactions: 602, filteredTransactions: 4, realTimeTransaction: totalTransactions: 137, filteredTransactions: 3, transactions: - charityName: Save the Children, primaryAccountNumberSuffix: 1111, donationType: ONE-TIME, date: 2022-11-07, updatedDate: 2022-11-07, amount: 10.0, currency: EUR, paymentNetwork: null, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: d518967d-2b76-4d83-8fad-b9c43cdba076, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTrPjQjNS3SC0d-BCPeb1Q, orderId: 84b57c00-63b8-4392-afc6-a1286f02ccd8, transactionStatus: FAILURE - charityName: Save the Children, primaryAccountNumberSuffix: 0019, donationType: ONE-TIME, date: 2022-11-07, updatedDate: 2022-11-07, amount: 40.0, currency: EUR, paymentNetwork: null, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: 2bd45372-c4cb-4cd2-8d20-9ac0b7f51e2f, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTtgadqNSrmybjRx6f9GmA, orderId: e0002e19-90de-422a-bac2-3001f4bd13ac, transactionStatus: SUCCESS - charityName: Save the Children, primaryAccountNumberSuffix: 0007, donationType: ONE-TIME, date: 2022-11-07, updatedDate: 2022-11-07, amount: 100.0, currency: EUR, paymentNetwork: mastercard, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: 234c51a1-ee50-4f98-ad3c-e304f2d6f846, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTUpK9mGShS_0BRY8Zv8Rg, orderId: 0bf04655-ff03-4d09-82bf-e6b590dbffba, transactionStatus: FAILURE recurringTransaction: totalTransactions: 465, filteredTransactions: 1, transactions: - charityName: Save the Children, primaryAccountNumberSuffix: 0007, donationType: MICRO, date: 2019-08-24, updatedDate: 2020-10-01, amount: 50.0, currency: EUR, paymentNetwork: mastercard, clientId: 4dG5GoNZizSe_hDkUULGvYoaK9jmbEZsQbGxg-CA7fca22dc, programId: da28a815-fd25-4df4-8b60-1a735d81e473, donorId: 10d212f0-198e-466e-8d9b-ac26746f7fb4, cardId: 234c51a1-ee50-4f98-ad3c-e304f2d6f812, charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8, transactionId: OTUpK9mGShS_0BRY8Zv8Af, orderId: 0bf04655-ff03-4d09-82bf-e6b590dbffer, transactionStatus: FAILURE DonationHistoryPagedExample: value: realTimeTransaction: limit: 10 offset: 0 totalItems: 2 items: - charityName: Stripe Charity primaryAccountNumberSuffix: 1118 donationType: ONE-TIME date: '2023-07-03T00:00:00.000Z' updatedDate: '2023-07-03T00:00:00.000Z' amount: 10 currency: USD paymentNetwork: mastercard dedication: null clientId: C7i6WOvQp2obVbB_EtX8XCsQ5YwQ_FN2yIz7Mf9m31e6102d programId: aa0f99f5-75d2-46ed-81b8-7ac80ccd0f6c donorId: bdacdcfc-7d74-406c-9be3-a9f46dcfa27f cardId: 88b34e2d-4c80-4469-8049-f713c39530f1 charityId: 4b6047c8-b71a-f8e1-4a1f-7b00e09d19ab transactionId: OTsb7v4QRGqR1Ci9xIcPEA orderId: b53bc97b-25b2-4116-927b-ba1f5fa3d809 transactionStatus: FAILURE - charityName: Save the Children primaryAccountNumberSuffix: 1118 donationType: ONE-TIME date: '2023-04-20T00:00:00.000Z' updatedDate: '2023-04-20T00:00:00.000Z' amount: 8 currency: USD paymentNetwork: mastercard dedication: null clientId: C7i6WOvQp2obVbB_EtX8XCsQ5YwQ_FN2yIz7Mf9m31e6102d programId: aa0f99f5-75d2-46ed-81b8-7ac80ccd0f6c donorId: bdacdcfc-7d74-406c-9be3-a9f46dcfa27f cardId: 88b34e2d-4c80-4469-8049-f713c39530f1 charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8 transactionId: OTaIpn_bRsmOOYC-4IML8g orderId: 89119e66-14d6-4a94-b2e2-f01a7932d9a3 transactionStatus: SUCCESS recurringTransaction: limit: 10 offset: 0 totalItems: 3 items: - charityName: Save the Children primaryAccountNumberSuffix: 1118 donationType: MICRO date: '2023-04-20T00:00:00.000Z' updatedDate: '2023-04-20T00:00:00.000Z' amount: 8 currency: USD paymentNetwork: mastercard dedication: null clientId: C7i6WOvQp2obVbB_EtX8XCsQ5YwQ_FN2yIz7Mf9m31e6102d programId: aa0f99f5-75d2-46ed-81b8-7ac80ccd0f6c donorId: bdacdcfc-7d74-406c-9be3-a9f46dcfa27f cardId: 88b34e2d-4c80-4469-8049-f713c39530f1 charityId: 9a2e0ca5-e574-440e-af0a-5f58c035d7e8 transactionId: MIaIpn_bRsmOOYC-4IML8g orderId: 89119e66-14d6-4a94-b2e2-f01a7932d9a3 transactionStatus: SUCCESS - charityName: AST-CLIENT-1-PROGRAM-1-CHARITY-1 primaryAccountNumberSuffix: 1118 donationType: MICRO date: '2023-04-20T00:00:00.000Z' updatedDate: '2023-04-20T00:00:00.000Z' amount: 8 currency: USD paymentNetwork: mastercard dedication: null clientId: C7i6WOvQp2obVbB_EtX8XCsQ5YwQ_FN2yIz7Mf9m31e6102d programId: aa0f99f5-75d2-46ed-81b8-7ac80ccd0f6c donorId: bdacdcfc-7d74-406c-9be3-a9f46dcfa27f cardId: 88b34e2d-4c80-4469-8049-f713c39530f1 charityId: 496e1703-7e2c-4135-8b99-6cba97cd2f9b transactionId: MI5pPstFTpGFZdoR2Ho3yA orderId: 188817d9-5d4a-430c-86a4-d38fac672d46 transactionStatus: FAILURE - charityName: AST-CLIENT-1-PROGRAM-1-CHARITY-1 primaryAccountNumberSuffix: 1118 donationType: MICRO date: '2023-04-20T00:00:00.000Z' updatedDate: '2023-04-20T00:00:00.000Z' amount: 5 currency: USD paymentNetwork: mastercard dedication: null clientId: C7i6WOvQp2obVbB_EtX8XCsQ5YwQ_FN2yIz7Mf9m31e6102d programId: aa0f99f5-75d2-46ed-81b8-7ac80ccd0f6c donorId: bdacdcfc-7d74-406c-9be3-a9f46dcfa27f cardId: 88b34e2d-4c80-4469-8049-f713c39530f1 charityId: 496e1703-7e2c-4135-8b99-6cba97cd2f9b transactionId: MIbLg8G5SEOGF6SB_f86aA orderId: 51d96a3b-5493-48a6-b22e-42ab0b0e8ca0 transactionStatus: FAILURE reasonCode: INCORRECT_NUMBER reasonMessage: The card number is incorrect. Please check the cards number and try again use a different card. oneTimePaymentFail: summary: Payment failure value: transactionId: OTbB0kCkRxC7tu1itsIN8Q transactionStatus: FAILURE transactionMessage: Transaction declined reasonCode: DECLINE reasonMessage: Your payment was declined. Please use a different card or contact your issuer for more information. UnauthorizedExample: value: Errors: Error: - Source: Service ReasonCode: Unauthorized Description: request is not authenticated Recoverable: false Details: request is not authenticated BadRequestExample: value: Errors: Error: - Source: Service ReasonCode: Missing attributes Description: request is missing mandatory attributes Recoverable: false Details: request is missing mandatory attributes ForbiddenExample: value: Errors: Error: - Source: Service ReasonCode: Forbidden Description: request is not authorized Recoverable: false Details: request is not authorized MethodNotAllowedExample: value: Errors: Error: - Source: Service ReasonCode: Method not allowed Description: Method is not allowed Recoverable: false Details: Method is not allowed UnauthorizedExample_2: value: Errors: Error: - Source: IIT ReasonCode: UNAUTHORIZED_REQUEST Description: Unauthorized request Recoverable: false Details: null MissingRequiredDataBadRequestErrorExample: value: Errors: Error: - Source: IIT ReasonCode: VALIDATION_ERROR Description: Required Data Element Missing Recoverable: false Details: purchaseDate, billingAddress.city InvalidFormatBadRequestErrorExample: value: Errors: Error: - Source: IIT ReasonCode: VALIDATION_ERROR Description: Invalid Format Recoverable: false Details: purchaseDate, ipAddress