swagger: '2.0' info: title: Payment description: >- ## TMF API Reference : TMF 676 - Payment This API provides the standardized client interface to Payment Systems for managing performed payments or refunds. Examples of Payment API originators (clients) include Web servers, mobile app servers, Contact center dashboards or retail store systems. version: 4.0.0 host: api.mtn.com basePath: /tmf-api/paymentManagement/v4/ schemes: - https securityDefinitions: OAuth2: type: oauth2 flow: application tokenUrl: "https://api.mtn.com/v1/oauth/access_token" security: - OAuth2: [] consumes: - application/json;charset=utf-8 produces: - application/json;charset=utf-8 tags: - name: payment - name: refund - name: notification listeners (client side) - name: events subscription paths: /payment: get: operationId: listPayment summary: List or find Payment objects description: This operation list or find Payment entities tags: - payment parameters: - name: fields description: Comma-separated properties to be provided in response required: false in: query type: string - name: offset description: Requested index for start of resources to be provided in response required: false in: query type: integer - name: limit description: Requested number of resources to be provided in response required: false in: query type: integer responses: '200': description: Success headers: X-Result-Count: description: Actual number of items returned in the response body type: integer X-Total-Count: description: Total number of items matching criteria type: integer schema: type: array items: $ref: '#/definitions/Payment' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' post: operationId: createPayment summary: Creates a Payment description: This operation creates a Payment entity. tags: - payment parameters: - name: payment description: The Payment to be created required: true schema: $ref: '#/definitions/Payment_Create' in: body responses: '201': description: Created schema: $ref: '#/definitions/Payment' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /payment/{id}: get: operationId: retrievePayment summary: Retrieves a Payment by ID description: >- This operation retrieves a Payment entity. Attribute selection is enabled for all first level attributes. tags: - payment parameters: - name: id description: Identifier of the Payment required: true type: string in: path - name: fields description: Comma-separated properties to provide in response required: false type: string in: query responses: '200': description: Success schema: $ref: '#/definitions/Payment' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /refund: get: operationId: listRefund summary: List or find Refund objects description: This operation list or find Refund entities tags: - refund parameters: - name: fields description: Comma-separated properties to be provided in response required: false in: query type: string - name: offset description: Requested index for start of resources to be provided in response required: false in: query type: integer - name: limit description: Requested number of resources to be provided in response required: false in: query type: integer responses: '200': description: Success headers: X-Result-Count: description: Actual number of items returned in the response body type: integer X-Total-Count: description: Total number of items matching criteria type: integer schema: type: array items: $ref: '#/definitions/Refund' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' post: operationId: createRefund summary: Creates a Refund description: This operation creates a Refund entity. tags: - refund parameters: - name: refund description: The Refund to be created required: true schema: $ref: '#/definitions/Refund_Create' in: body responses: '201': description: Created schema: $ref: '#/definitions/Refund' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /refund/{id}: get: operationId: retrieveRefund summary: Retrieves a Refund by ID description: >- This operation retrieves a Refund entity. Attribute selection is enabled for all first level attributes. tags: - refund parameters: - name: id description: Identifier of the Refund required: true type: string in: path - name: fields description: Comma-separated properties to provide in response required: false type: string in: query responses: '200': description: Success schema: $ref: '#/definitions/Refund' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /hub: post: operationId: registerListener summary: Register a listener description: >- Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics. tags: - events subscription parameters: - name: data schema: $ref: '#/definitions/EventSubscriptionInput' required: true in: body description: Data containing the callback endpoint to deliver the information responses: '201': description: Subscribed schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /hub/{id}: delete: operationId: unregisterListener summary: Unregister a listener description: >- Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics. tags: - events subscription parameters: - name: id type: string required: true in: path description: The id of the registered listener responses: '204': description: Deleted '400': description: Bad request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method not allowed schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/paymentCreateEvent: post: operationId: listenToPaymentCreateEvent summary: Client listener for entity PaymentCreateEvent description: >- Example of a client listener for receiving the notification PaymentCreateEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/PaymentCreateEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/paymentAttributeValueChangeEvent: post: operationId: listenToPaymentAttributeValueChangeEvent summary: Client listener for entity PaymentAttributeValueChangeEvent description: >- Example of a client listener for receiving the notification PaymentAttributeValueChangeEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/PaymentAttributeValueChangeEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/paymentStateChangeEvent: post: operationId: listenToPaymentStateChangeEvent summary: Client listener for entity PaymentStateChangeEvent description: >- Example of a client listener for receiving the notification PaymentStateChangeEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/PaymentStateChangeEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/paymentDeleteEvent: post: operationId: listenToPaymentDeleteEvent summary: Client listener for entity PaymentDeleteEvent description: >- Example of a client listener for receiving the notification PaymentDeleteEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/PaymentDeleteEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/refundCreateEvent: post: operationId: listenToRefundCreateEvent summary: Client listener for entity RefundCreateEvent description: >- Example of a client listener for receiving the notification RefundCreateEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/RefundCreateEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/refundAttributeValueChangeEvent: post: operationId: listenToRefundAttributeValueChangeEvent summary: Client listener for entity RefundAttributeValueChangeEvent description: >- Example of a client listener for receiving the notification RefundAttributeValueChangeEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/RefundAttributeValueChangeEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/refundStateChangeEvent: post: operationId: listenToRefundStateChangeEvent summary: Client listener for entity RefundStateChangeEvent description: >- Example of a client listener for receiving the notification RefundStateChangeEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/RefundStateChangeEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /listener/refundDeleteEvent: post: operationId: listenToRefundDeleteEvent summary: Client listener for entity RefundDeleteEvent description: >- Example of a client listener for receiving the notification RefundDeleteEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/RefundDeleteEvent' responses: '201': description: Notified schema: $ref: '#/definitions/EventSubscription' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' definitions: AccountRef: type: object description: >- Account reference. A account may be a party account or a financial account. properties: id: type: string description: Unique identifier of the account href: type: string description: Reference of the account description: type: string description: Detailed description of the account name: type: string description: Name of the account '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id ChannelRef: type: object description: >- The channel to which the resource reference to. e.g. channel for selling product offerings, channel for opening a trouble ticket etc.. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the channel. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id EntityRef: type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id Money: type: object description: A base / value business entity used to represent money properties: unit: type: string description: Currency (ISO4217 norm uses 3 letters to define the currency) value: type: number format: float description: A positive floating point number Payment: type: object description: >- The Payment resource represents a performed payment. It contains both information about the payment and the payment method used to perform it. required: - account - paymentMethod properties: id: type: string description: Unique identifier of Payment href: type: string description: Hypertext Reference of the Payment authorizationCode: type: string description: >- Authorization code retrieved from an external payment gateway that could be used for conciliation correlatorId: type: string description: >- Unique identifier in the client for the payment in case it is needed to correlate description: type: string description: Text describing the contents of the payment name: type: string description: Screen name of the payment paymentDate: type: string format: date-time description: Date when the payment was performed status: type: string description: Status of the payment statusDate: type: string format: date-time description: Date when the status was recorded account: $ref: '#/definitions/AccountRef' amount: $ref: '#/definitions/Money' description: Amount to be paid (net of taxes) channel: $ref: '#/definitions/ChannelRef' payer: $ref: '#/definitions/RelatedParty' paymentItem: type: array items: $ref: '#/definitions/PaymentItem' paymentMethod: $ref: '#/definitions/PaymentMethodRefOrValue' taxAmount: $ref: '#/definitions/Money' description: Tax applied totalAmount: $ref: '#/definitions/Money' description: Amount to be paid (including taxes) '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Payment_Create: type: object description: >- The Payment resource represents a performed payment. It contains both information about the payment and the payment method used to perform it. Skipped properties: id,href,status,statusDate,paymentDate required: - account - paymentMethod - totalAmount properties: authorizationCode: type: string description: >- Authorization code retrieved from an external payment gateway that could be used for conciliation correlatorId: type: string description: >- Unique identifier in the client for the payment in case it is needed to correlate description: type: string description: Text describing the contents of the payment name: type: string description: Screen name of the payment account: $ref: '#/definitions/AccountRef' amount: $ref: '#/definitions/Money' description: Amount to be paid (net of taxes) channel: $ref: '#/definitions/ChannelRef' payer: $ref: '#/definitions/RelatedParty' paymentItem: type: array items: $ref: '#/definitions/PaymentItem' paymentMethod: $ref: '#/definitions/PaymentMethodRefOrValue' taxAmount: $ref: '#/definitions/Money' description: Tax applied totalAmount: $ref: '#/definitions/Money' description: Amount to be paid (including taxes) '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name PaymentItem: type: object description: >- The paymentItem is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a bill required: - item properties: id: type: string description: Unique identifier of the payment Item amount: $ref: '#/definitions/Money' description: Amount to be paid (net of taxes) item: $ref: '#/definitions/EntityRef' taxAmount: $ref: '#/definitions/Money' description: Tax applied totalAmount: $ref: '#/definitions/Money' description: Amount to be paid (including taxes) '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name name: type: string description: Payment Item name description: type: string description: Payment Item description PaymentMethod: type: object description: >- Defines a specific method of payment (e.g. direct debit with all details associated) properties: id: type: string description: Unique Identifier within the server for the payment method. href: type: string description: >- A resource URI pointing to the resource in the server that stores the detailed information. This is typically the resource url to retrieve individual details for the specific payment method description: type: string description: Text describing the contents of the payment method isPreferred: type: boolean description: >- If the method is the preferred one by the owner. Typically used when querying for the payment methods of a specific customer or account name: type: string description: Friendly name assigned to the payment method status: type: string statusDate: type: string format: date-time account: type: array items: $ref: '#/definitions/AccountRef' relatedParty: $ref: '#/definitions/RelatedParty' validFor: $ref: '#/definitions/TimePeriod' description: Date interval in which the payment method is valid '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name PaymentMethodRef: type: object description: >- PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id PaymentMethodRefOrValue: type: object description: >- link to the resource that holds information about the payment mean used to complete the operation properties: id: type: string description: Unique Identifier within the server for the payment method. href: type: string description: >- A resource URI pointing to the resource in the server that stores the detailed information. This is typically the resource url to retrieve individual details for the specific payment method description: type: string description: Text describing the contents of the payment method isPreferred: type: boolean description: >- If the method is the preferred one by the owner. Typically used when querying for the payment methods of a specific customer or account name: type: string description: Friendly name assigned to the payment method status: type: string statusDate: type: string format: date-time account: type: array items: $ref: '#/definitions/AccountRef' relatedParty: $ref: '#/definitions/RelatedParty' validFor: $ref: '#/definitions/TimePeriod' description: Date interval in which the payment method is valid '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. PaymentRef: type: object description: >- If an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: A name for the payment '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id PaymentStatusExampleType: type: string description: Possible values for the status of a payment enum: - pendingAuthorization - authorized - captured - failed - canceled - denied - done Refund: type: object description: >- The Refund resource represents a performed Refund. It contains both information about the refund and the payment method used to perform it. required: - account - paymentMethod properties: id: type: string description: Unique identifier of Refund href: type: string description: Hypertext Reference of the refund authorizationCode: type: string description: >- Authorization code retrieved from an external payment gateway that could be used for conciliation correlatorId: type: string description: >- Unique identifier in the client for the refund in case it is needed to correlate description: type: string description: Text describing the contents of the refund name: type: string description: Screen name of the refund refundDate: type: string format: date-time description: Date when the refund was performed status: type: string description: Status of the refund statusDate: type: string format: date-time description: Date when the status was recorded account: $ref: '#/definitions/AccountRef' amount: $ref: '#/definitions/Money' description: Amount to be refunded (net of taxes) channel: $ref: '#/definitions/ChannelRef' payment: $ref: '#/definitions/PaymentRef' paymentMethod: $ref: '#/definitions/PaymentMethodRefOrValue' requestor: $ref: '#/definitions/RelatedParty' taxAmount: $ref: '#/definitions/Money' description: Tax applied totalAmount: $ref: '#/definitions/Money' description: Amount to be paid (including taxes) '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Refund_Create: type: object description: >- The Refund resource represents a performed Refund. It contains both information about the refund and the payment method used to perform it. Skipped properties: id,href,status,statusDate,RefundDate required: - account - paymentMethod - totalAmount properties: authorizationCode: type: string description: >- Authorization code retrieved from an external payment gateway that could be used for conciliation correlatorId: type: string description: >- Unique identifier in the client for the refund in case it is needed to correlate description: type: string description: Text describing the contents of the refund name: type: string description: Screen name of the refund refundDate: type: string format: date-time description: Date when the refund was performed account: $ref: '#/definitions/AccountRef' amount: $ref: '#/definitions/Money' description: Amount to be refunded (net of taxes) channel: $ref: '#/definitions/ChannelRef' payment: $ref: '#/definitions/PaymentRef' paymentMethod: $ref: '#/definitions/PaymentMethodRefOrValue' requestor: $ref: '#/definitions/RelatedParty' taxAmount: $ref: '#/definitions/Money' description: Tax applied totalAmount: $ref: '#/definitions/Money' description: Amount to be paid (including taxes) '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name RefundStatusExampleType: type: string description: Possible values for the status of a refund enum: - pendingAuthorization - authorized - captured - failed - canceled - denied - done RelatedParty: type: object description: >- Related Entity reference. A related party defines party or party role linked to a specific entity. required: - '@referredType' - id properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. role: type: string description: Role played by the related party '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. TimePeriod: type: object description: >- A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: endDateTime: type: string format: date-time description: End of the time period, using IETC-RFC-3339 format startDateTime: type: string format: date-time description: >- Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end EventSubscription: type: object description: >- Sets the communication endpoint address the service instance must use to deliver notification information required: - id - callback properties: id: type: string description: Id of the listener callback: type: string description: The callback being registered. query: type: string description: additional data to be passed EventSubscriptionInput: type: object description: >- Sets the communication endpoint address the service instance must use to deliver notification information required: - callback properties: callback: type: string description: The callback being registered. query: type: string description: additional data to be passed PaymentCreateEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/PaymentCreateEventPayload' PaymentCreateEventPayload: type: object description: The event data structure properties: payment: description: The involved resource data for the event $ref: '#/definitions/Payment' PaymentAttributeValueChangeEvent: type: object description: The notification data structure properties: eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. fieldPath: type: string description: The path identifying the object field concerned by this notification. event: description: The event payload linked to the involved resource object $ref: '#/definitions/PaymentAttributeValueChangeEventPayload' PaymentAttributeValueChangeEventPayload: type: object description: The event data structure properties: payment: description: The involved resource data for the event $ref: '#/definitions/Payment' PaymentStateChangeEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/PaymentStateChangeEventPayload' PaymentStateChangeEventPayload: type: object description: The event data structure properties: payment: description: The involved resource data for the event $ref: '#/definitions/Payment' PaymentDeleteEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/PaymentDeleteEventPayload' PaymentDeleteEventPayload: type: object description: The event data structure properties: payment: description: The involved resource data for the event $ref: '#/definitions/Payment' RefundCreateEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/RefundCreateEventPayload' RefundCreateEventPayload: type: object description: The event data structure properties: refund: description: The involved resource data for the event $ref: '#/definitions/Refund' RefundAttributeValueChangeEvent: type: object description: The notification data structure properties: eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. fieldPath: type: string description: The path identifying the object field concerned by this notification. event: description: The event payload linked to the involved resource object $ref: '#/definitions/RefundAttributeValueChangeEventPayload' RefundAttributeValueChangeEventPayload: type: object description: The event data structure properties: refund: description: The involved resource data for the event $ref: '#/definitions/Refund' RefundStateChangeEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/RefundStateChangeEventPayload' RefundStateChangeEventPayload: type: object description: The event data structure properties: refund: description: The involved resource data for the event $ref: '#/definitions/Refund' RefundDeleteEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/RefundDeleteEventPayload' RefundDeleteEventPayload: type: object description: The event data structure properties: refund: description: The involved resource data for the event $ref: '#/definitions/Refund' Error: description: >- Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) type: object required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: >- Explanation of the reason for the error which can be shown to a client user. message: type: string description: >- More details and corrective actions related to the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string format: uri description: URI of documentation describing the error. '@baseType': type: string description: When sub-classing, this defines the super-class. '@schemaLocation': type: string format: uri description: >- A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name.