--- swagger: "2.0" info: x-ibm-name: checkout-sandbox title: Checkout version: 1.0.0 description: 'The Checkout API includes two operations: Checkout Payment and Checkout Status. Checkout Payment performs a request to prepare the checkout required data and returns with the Payment Form. Checkout Status allows merchants to check the status of a specific payment.' schemes: - https basePath: /sibs/spg/v1 consumes: - application/json produces: - application/json x-ibm-configuration: testable: true enforced: true phase: realized paths: /payments: post: responses: 200: description: 200 OK schema: $ref: '#/definitions/ReturnCheckout' parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/input' operationId: checkout parameters: - $ref: '#/parameters/Authorization' /payments/{id}/status: get: responses: 200: description: 200 OK schema: $ref: '#/definitions/ResponseInquiry' operationId: status parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/id' /payments/status: get: responses: 200: description: 200 OK schema: $ref: '#/definitions/ResponseInquiry' operationId: statusQuery parameters: - $ref: '#/parameters/Authorization' - $ref: '#/parameters/merchantTransactionId' definitions: Amount: properties: value: type: number format: double example: 20.450000 currency: type: string description: Currency used in the transaction. example: EUR additionalProperties: false description: Object that defines an amount. Customer: properties: customerInfo: description: Object that defines the customer predefined information (name, age, etc). Check the CustomerInfo definition. example: "" $ref: '#/definitions/CustomerInfo' extendedInfo: type: array items: $ref: '#/definitions/ExtendedInfo' description: Key Value tuple array. additionalProperties: false description: Object that defines a customer. CustomerInfo: properties: customerName: type: string description: Name of the customer. example: John shippingAddress: $ref: '#/definitions/Address' description: Object that defines the customers address. Check the Address definition. billingAddress: $ref: '#/definitions/Address' description: Object that defines the customers address. Check the Address definition. billingAddressSameAsShippingAddress: type: boolean description: Flag that identifies that the billing address is the same as the shipping address example: "true" additionalProperties: false description: Object that defines the predefined customer information. Deviceinfo: properties: browserAcceptHeader: type: string browserJavaEnabled: type: string browserLanguage: type: string browserColorDepth: type: string browserScreenHeight: type: string browserScreenWidth: type: string browserTZ: type: string browserUserAgent: type: string systemFamily: type: string systemVersion: type: string systemArchitecture: type: string deviceManufacturer: type: string deviceModel: type: string deviceID: type: string applicationName: type: string applicationVersion: type: string geoLocalization: type: string ipAddress: type: string additionalProperties: false description: Object that defines the customer device information. ExtendedInfo: type: object properties: key: type: string value: type: string description: Key value tuple. Info: properties: deviceInfo: $ref: '#/definitions/Deviceinfo' description: Object that defines the customers device predefined information. Check the DeviceInfo definition. customerInfo: type: array items: $ref: '#/definitions/ExtendedInfo' description: Key Value tuple array. additionalProperties: false description: Object that defines the transaction additional information OriginalTransaction: properties: id: type: string datetime: type: string recipientId: type: string additionalProperties: false Merchant: properties: terminalId: type: integer example: "21451" description: Number of the merchant pos Id. format: int32 channel: type: string description: Type of channel used by the merchant. example: web merchantTransactionId: type: string description: Unique id used by the merchant. example: 863b730df285443f9a60ca404e0085fd1234 additionalProperties: false description: Object that defines a Merchant. RequestCheckout: properties: merchant: description: Object that defines a Merchant. Check the Merchant definition. $ref: '#/definitions/Merchant' customer: description: Object that defines a Customer. Check the Customer definition. $ref: '#/definitions/Customer' transaction: description: Object that defines a Transaction. Check the Transaction definition. $ref: '#/definitions/Transaction' info: $ref: '#/definitions/Info' description: Object that defines the aditional info provided by the merchant. Check the Info definition. originalTransaction: $ref: '#/definitions/OriginalTransaction' description: Object that defines the original transaction. tokenisation: $ref: '#/definitions/Tokenisation' description: Tokenization Object. recurringTransaction: $ref: '#/definitions/RecurringTransactionInput' description: Object that defines a Recurring Transaction. additionalProperties: false description: Object that defines the checkout operation request fields TokenisationRequest: properties: tokeniseCard: type: boolean PaymentTokenItem: type: object properties: tokenType: type: string value: type: string description: Token value tuple. Tokenisation: properties: tokenisationRequest: $ref: '#/definitions/TokenisationRequest' paymentTokens: type: array items: $ref: '#/definitions/PaymentTokenItem' additionalProperties: false description: Object that defines the tokenization field RecurringTransaction: properties: validityDate: type: string additionalProperties: false description: Object that defines the recurring transaction ResponseInquiry: properties: returnStatus: description: Object that defines the Status of the transaction. Check the ReturnStatus definition. $ref: '#/definitions/ReturnStatus' paymentStatus: type: string paymentMethod: type: string transactionID: type: string amount: description: Object that defines the amount. Check the Amount definition $ref: '#/definitions/Amount' merchant: $ref: '#/definitions/Merchant' description: Object that defines a Merchant. Check the Merchant definition. paymentType: type: string paymentReference: $ref: '#/definitions/PaymentInquiryReference' token: $ref: '#/definitions/TokenInquiry' recurringTransaction: description: Object that defines a Recurring Transaction. Check the Recurring Transaction definition. $ref: '#/definitions/RecurringTransactionOutput' execution: description: Object that defines an Execution. See the Execution definition. example: "" $ref: '#/definitions/Execution' additionalProperties: false description: Object that defines the inquiry operation return fields ReturnCheckout: properties: returnStatus: description: Object that defines the Status of the transaction. Check the ReturnStatus definition. example: "" $ref: '#/definitions/ReturnStatus' transactionID: type: string description: Unique identify of the transaction. example: 42f59038f3f14e618d091da8bf3b717e9999 transactionSignature: type: string example: 42f59038f3f14e618d091da8bf3b717e9999 amount: description: Object that defines the amount. Check the Amount definition $ref: '#/definitions/Amount' merchant: description: Object that defines a Merchant. Check the Merchant definition. $ref: '#/definitions/Merchant' paymentMethodList: type: array description: Methods of payment accepted by the merchant. items: type: string example: "" tokenList: type: array description: Payment tokens. items: $ref: '#/definitions/Token' formContext: type: string description: Form context base64 encoded. execution: description: Description of an Execution, see the Execution definition. $ref: '#/definitions/Execution' additionalProperties: false description: Object that defines the checkout operation return fields ReturnStatus: properties: statusCode: type: string description: Identifier code of the processed transaction status. example: "000" statusMsg: type: string description: Message of the processed transaction status. example: Success statusDescription: type: string description: Description of the processed transaction status. execution: description: Description of an Execution, see the Execution definition. $ref: '#/definitions/Execution' recurringTransaction: description: Description of an Recurring Transaction outcome, see RecurringTransactionOutput definition. $ref: '#/definitions/RecurringTransactionOutput' additionalProperties: false description: Object that defines the status of the processed transaction. Transaction: properties: transactionTimestamp: type: string format: date-time description: Timestamp of the transaction. example: "2019-04-07T18:13:18.572+01:00" description: type: string description: Description of the transaction. moto: type: boolean description: Mail Order Telephone Order example: "true" paymentType: type: string example: PURS description: Type of payment used by the client. paymentMethod: type: string description: Method of payment used by the client. example: QRCODE amount: example: "" description: Object that defines the amount. Check the Amount definition. $ref: '#/definitions/Amount' paymentReference: description: Object that defines the payment reference. Check the PaymentReference definition. $ref: '#/definitions/PaymentReference' additionalProperties: false description: Object that defines a transaction. Address: properties: street1: type: string example: First street street2: type: string city: type: string example: Lisbon postcode: type: string example: 1700-123 country: type: string example: PT additionalProperties: true PaymentReference: properties: entity: type: string description: Payment Reference Entity minAmount: description: Object that defines the amount. Check the Amount definition. $ref: '#/definitions/Amount' maxAmount: description: Object that defines the amount. Check the Amount definition. $ref: '#/definitions/Amount' initialDatetime: type: string format: date-time example: "2019-04-07T18:13:18.572+01:00" description: Timestamp for the payment reference start. finalDatetime: type: string format: date-time example: "2019-04-07T18:13:18.572+01:00" description: Timestamp for the payment reference end. additionalProperties: false PaymentInquiryReference: properties: reference: type: string description: Payment Reference entity: type: string description: Payment Reference Entity paymentEntity: type: string description: Payment Reference Entity amount: description: Object that defines the amount. Check the Amount definition. $ref: '#/definitions/Amount' status: type: string description: Payment Reference Status additionalProperties: false Token: properties: tokenName: type: string tokenType: type: string value: type: string maskedPAN: type: string expireDate: type: string example: PT additionalProperties: false TokenInquiry: properties: tokenName: type: string tokenType: type: string value: type: string maskedPAN: type: string expireDate: type: string example: PT Execution: properties: startTime: type: string description: Time of the acceptance of the request by the API. format: date-time example: "2020-07-15T12:10:49.131+01:00" endTime: type: string description: Time of the response to the request by the API. format: date-time example: "2020-07-15T12:10:49.131+01:00" additionalProperties: false description: Object that encapsulates technical execution information. RecurringTransactionOutput: properties: status: type: string description: Recurring Transaction outcome. example: Success additionalProperties: false RecurringTransactionInput: properties: validityDate: type: string description: Date of the validity of the recurring transaction. format: date-time example: "2020-07-15T12:10:49.131+01:00" amountQualifier: type: string description: Qualifier of the recurring transaction amount. example: ESTIMATED schedule: $ref: '#/definitions/Schedule' description: Schedule of the recurring transaction additionalProperties: false description: Object that defines a recurring transaction request. Schedule: properties: initialDate: type: string format: date-time example: "2020-07-15T12:10:49.131+01:00" finalDate: type: string format: date-time example: "2020-07-15T12:10:49.131+01:00" interval: type: string enum: - DAILY - WEEKLY - BIWEEKLY - MONTHLY - QUARTERLY - SEMIANNUAL - ANNUAL default: DAILY additionalProperties: false tags: [] parameters: input: name: input required: true in: body schema: $ref: '#/definitions/RequestCheckout' Authorization: name: Authorization type: string required: true in: header default: Bearer VE9LRU4gREUgVEVTVEU= description: OAuth Token, the value starts with Bearer followed by the token id: name: id type: string required: true in: path merchantTransactionId: name: merchantTransactionId type: string required: false in: query x-ibm-endpoints: - endpointUrl: https://sandbox.sibspayments.com type: - production - development ...