swagger: '2.0'
info:
title: Mastercard Bill Payment Validator Account Opening Orders 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: Orders
paths:
/api/orders:
post:
tags:
- Orders
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'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'405':
$ref: '#/components/responses/MethodNotAllowed'
/api/orders/healthchecks:
get:
tags:
- Orders
operationId: getHealthDetails
description: Health or Echo or Heartbeat endpoint ensuring that the API is running
summary: Health endpoint to ensure confirm connectivity to transaction API
responses:
'200':
$ref: '#/components/responses/HealthCheckResponse'
/vendors/{vendor_id}/orders/status:
post:
tags:
- Orders
summary: API used by external Vendors to provide the orders status
description: The Loyalty Rewards Order Management Mastercard API is used by external vendor to provide orders status
operationId: updateOrderStatus
parameters:
- $ref: '#/components/parameters/VendorId'
requestBody:
$ref: '#/components/requestBodies/OrderStatusRequest'
responses:
'200':
$ref: '#/components/responses/SuccessResponse'
'400':
$ref: '#/components/responses/BadRequestOrderErrorResponse'
'401':
$ref: '#/components/responses/UnauthorizedOrderErrorResponse'
components:
schemas:
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
HealthCheckResponse:
type: string
maxLength: 7
minLength: 2
description: "The code indicates if the API is up or not\n - OK = The API is up and running\n - failure = The API is down"
example: OK
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'
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:
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
OrderItemStatus:
type: object
properties:
id:
type: string
description: Order Item Id of Vendor
example: order-item-1
mcId:
type: string
description: Order Item Id of Mastercard
example: efa03f08-b9c0-11ed-afa1-0242ac120002
status:
type: string
description: Item status
example: Pending
trackingNumber:
type: string
description: Order tracking number
example: Track123
trackingUrl:
type: string
description: Order tracking url
example: https://tracking-url.com/order/123
errors:
type: array
description: order items error list
items:
$ref: '#/components/schemas/OrderItemError'
histories:
type: array
description: history detail of order item
items:
$ref: '#/components/schemas/History'
Errors_2:
required:
- Error
type: object
properties:
Error:
type: array
description: Error details
items:
$ref: '#/components/schemas/ErrorItem'
History:
type: object
properties:
orderItemNumber:
type: string
description: order_item_number
example: order-item-1
eventType:
type: string
description: event_type
example: note
eventDate:
type: string
description: event_date
example: '2023-10-03T21:05:10Z'
note:
type: string
description: note
example: 'GRS order item created for partner system order number: SL_OCT-03-2023-16-431 Status is pending.'
ErrorItem:
type: object
properties:
Source:
type: string
description: Source of the error
example: mrs-catalog-api
ReasonCode:
type: string
description: A unique constant identifying the error case encountered during API request processing.
example: INVALID_INPUT
Description:
type: string
description: Short description of the ReasonCode field.
example: Invalid Reward Catalog HierarchyId.
Recoverable:
type: boolean
description: Indicates whether this error will always be returned for this request, or retrying could change the outcome.
example: false
Details:
type: string
description: Where appropriate, indicates detailed information about the data received.
example: Invalid Details
description: Error Details
ErrorsWrapper:
required:
- Errors
type: object
properties:
Errors:
$ref: '#/components/schemas/Errors_2'
OrderStatus:
type: object
properties:
orderId:
type: string
description: Order Id of Vendor
example: 656afd7-2396-54345-34545
mcOrderId:
type: string
description: Order Id of Mastercard
example: afd72396-b9c0-11ed-afa1-0242ac120002
orderItems:
type: array
description: order items list
items:
$ref: '#/components/schemas/OrderItemStatus'
status:
type: string
description: Order Status
example: Pending
OrderItemError:
type: object
properties:
fieldName:
type: string
description: field name
example: address1
code:
type: string
description: errorcode
example: GRS_1001
message:
type: string
description: error message
example: address1 is required
OrderStatusArray:
type: array
description: order status array list
items:
$ref: '#/components/schemas/OrderStatus'
parameters:
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
VendorId:
name: vendor_id
in: path
description: The internal Mastercard vendor Id for order fulfilment.
required: true
schema:
type: string
example: carltonone
examples:
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
BadOrderRequestExample:
value:
Errors:
Error:
- Source: rewards-order-management
ReasonCode: MISSING_REQUIRED_FIELD_VENDORS_UPDATE_ORDER_REQUEST_LIST[0].MC_ORDER_ID
Description: McOrderId is blank or null.
Recoverable: false
UnauthorizedOrderExample:
value:
Errors:
Error:
- Source: rewards-order-management
ReasonCode: INVALID_CLIENT_ID
Description: ClientId doesn't have access to the requested service.
Recoverable: false
OrderStatusExample:
value:
- orderId: 656afd7-2396-54345-34545
mcOrderId: afd72396-b9c0-11ed-afa1-0242ac120002
status: FAILED
errorCode: 1001
description: '[Combination of ExternalOrderId: (656afd7-2396-54345-34545) and OrderId: (afd72396-b9c0-11ed-afa1-0242ac120002) invalid.]'
responses:
Forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
ForbiddenExample:
$ref: '#/components/examples/ForbiddenExample'
HealthCheckResponse:
description: "The code indicates the response.\n - OK = The API is up and running\n - failure = The API is not running"
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckResponse'
MethodNotAllowed:
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
MethodNotAllowedExample:
$ref: '#/components/examples/MethodNotAllowedExample'
Unauthorized:
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:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
BadRequestExample:
$ref: '#/components/examples/BadRequestExample'
BadRequestOrderErrorResponse:
description: Something was wrong with the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorsWrapper'
examples:
BadRequestExample:
$ref: '#/components/examples/BadOrderRequestExample'
UnauthorizedOrderErrorResponse:
description: User does not have access to the resource
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorsWrapper'
examples:
UnauthorizedExample:
$ref: '#/components/examples/UnauthorizedOrderExample'
SuccessResponse:
description: Status updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/OrderStatusArray'
examples:
SuccessRequestExample:
$ref: '#/components/examples/OrderStatusExample'
requestBodies:
OrderApi:
description: The request object Merchant API expects
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderApi'
OrderStatusRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderStatusArray'