{
    "openapi": "3.0.1",
    "info": {
        "title": "Chat 2 Pay API",
        "description": "<p>The Chat 2 Pay feature allows a merchant to embed a Clickatell node and/or extension into multiple applications, enabling the merchant to trigger a payment request to their customers (i.e., the end-user) via those applications. </p><p>The payment request will be received by the customer via an SMS or WhatsApp message. The URL embedded in the message allows the customer to open a secure payments page where they can enter a new credit/debit card or utilize a saved credit/debit card that will be used by the merchant to process payments via their payment processor/gateway account. The payment link will expire if it is not utilized within a specific amount of time.</p><p>To use this API, you must first <a href='https://clickatell.gitbook.io/chat-2-pay-user-guide/cybersource-and-salesforce/clickatell-portal-extension-setup' target='_blank'>set up the Chat 2 Pay product</a> and link the <a href='https://clickatell.gitbook.io/chat-2-pay-user-guide/linking-channels-apis-and-products/linking-an-application-via-api' target='_blank'>Chat 2 Pay API</a> via the Clickatell Portal. During the setup process an API key is generated. You will use this key to authenticate the API calls.</p>",
        "version": "2"
    },
    "servers": [
        {
            "url": "https://chat2pay-service.clickatell.com/"
        }
    ],
    "paths": {
        "/api/v2/integration": {
            "put": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Update application's integration status",
                "description": "This API can be used to disable/enable integration with Chat 2 Pay programmatically.",
                "operationId": "updateIntegrationStatus",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/IntegrationStatusRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/EntityUpdatedResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/EntityUpdatedResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Chat 2 Pay configuration not found",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/EntityUpdatedResponse"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        },
        "/api/v2/payment/{paymentLinkRef}/reverse": {
            "post": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Reverse authorization and void a capture",
                "description": "This API can be used to reverse payment authorizations or void unsettled captures that were performed via Chat 2 Pay. Reversals cannot be performed on settled payments – a refund will need to be performed via the Payment Gateway back-office.",
                "operationId": "reverseTransaction",
                "parameters": [
                    {
                        "name": "paymentLinkRef",
                        "in": "path",
                        "description": "The unique reference number for the payment link generated",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentGatewayOperationResultResponse"
                                },
                                "example": {
                                    "transactionType": "VOID",
                                    "totalAmount": 1,
                                    "paymentGatewayDecision": "VOIDED",
                                    "paymentGatewayReqReferenceNumber": "6432992054556063104004",
                                    "paymentGatewayResponseTimestamp": "2022-01-27T16:00:05.000+00:00",
                                    "paymentGatewayResponseCode": 200,
                                    "paymentStatus": "VOIDED",
                                    "paymentStatusId": "7"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Operation failed because of Chat 2 Pay validation rules",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/BadRequestErrorResponse"
                                },
                                "example": {
                                    "status": "BAD_REQUEST",
                                    "message": "Request failed for /api/v1/payment/b5f85518-d2ae-479e-a1ac-44cc5354d7b9/reverse",
                                    "errors": [
                                        "Invalid payload found in the request: Transaction can't be reversed, current payment status is VOIDED"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                                },
                                "example": {
                                    "timestamp": "2021-06-22T08:40:08.905+00:00",
                                    "status": 401,
                                    "error": "Unauthorized",
                                    "message": "",
                                    "path": "api-url"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Configured extension or transaction not found",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotFoundErrorResponse"
                                },
                                "example": {
                                    "status": "NOT_FOUND",
                                    "message": "URL /api/chat-2-pay",
                                    "errors": [
                                        "There is no such transaction with transaction reference c207c0f9-da7b-45a1-bdf0-8086d5d8d732"
                                    ]
                                }
                            }
                        }
                    },
                    "x-payment-gateway-error-code": {
                        "description": "Payment gateway error",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentGatewayOperationResultResponse"
                                },
                                "example": {
                                    "transactionType": "VOID",
                                    "totalAmount": 1,
                                    "paymentGatewayDecision": "INVALID_REQUEST",
                                    "paymentGatewayReqReferenceNumber": "6432989683316072204006",
                                    "paymentGatewayResponseTimestamp": "2022-01-27T16:05:05.000+00:00",
                                    "paymentGatewayResponseCode": 400,
                                    "paymentGatewayErrorDecision": "Decline - The capture or credit is not voidable because the capture or credit information has already been submitted to your processor. Or, you requested a void for a type of transaction that cannot be voided."
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        },
        "/api/v2/payment/{paymentLinkRef}/capture": {
            "post": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Request to capture the payment amount",
                "description": "This API can be used to capture payment authorizations that were performed via Chat 2 Pay. Only one successful payment capture can be performed against one payment authorization (multiple partial captures against one authorization are not supported currently).",
                "operationId": "capturePayment",
                "parameters": [
                    {
                        "name": "paymentLinkRef",
                        "in": "path",
                        "description": "The unique reference number for the payment link generated",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "amount",
                        "in": "query",
                        "description": "The amount for capture. The total amount will be used if not specified.",
                        "required": false,
                        "schema": {
                            "type": "number"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentGatewayOperationResultResponse"
                                },
                                "example": {
                                    "transactionType": "CAPTURE",
                                    "totalAmount": 1,
                                    "paymentGatewayDecision": "PENDING",
                                    "paymentGatewayReqReferenceNumber": "6432990331036057204005",
                                    "paymentGatewayResponseTimestamp": "2022-01-27T15:57:13.000+00:00",
                                    "paymentGatewayResponseCode": 200
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Operation failed because of Chat 2 Pay validation rules",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/BadRequestErrorResponse"
                                },
                                "example": {
                                    "status": "BAD_REQUEST",
                                    "message": "Request failed for /api/v1/payment/79d032e4-4b7f-4e01-b77d-582b1ca9edab/capture",
                                    "errors": [
                                        "Invalid payload found in the request: Cannot do capture, current payment status is FAILED"
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                                },
                                "example": {
                                    "timestamp": "2021-06-22T08:40:08.905+00:00",
                                    "status": 401,
                                    "error": "Unauthorized",
                                    "message": "",
                                    "path": "api-url"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Chat 2 Pay configuration or transaction not found",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotFoundErrorResponse"
                                },
                                "example": {
                                    "status": "NOT_FOUND",
                                    "message": "URL /api/chat-2-pay",
                                    "errors": [
                                        "There is no such transaction with transaction reference c207c0f9-da7b-45a1-bdf0-8086d5d8d732"
                                    ]
                                }
                            }
                        }
                    },
                    "x-payment-gateway-error-code": {
                        "description": "Payment gateway error",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentGatewayOperationResultResponse"
                                },
                                "example": {
                                    "transactionType": "CAPTURE",
                                    "totalAmount": 1,
                                    "paymentGatewayDecision": "INVALID_REQUEST",
                                    "paymentGatewayReqReferenceNumber": "6432899842276746204002",
                                    "paymentGatewayResponseTimestamp": "2022-01-27T14:08:45.000+00:00",
                                    "paymentGatewayResponseCode": 400,
                                    "paymentGatewayErrorDecision": "Decline - The requested amount exceeds the originally authorized amount. Occurs, for example, if you try to capture an amount larger than the original authorization amount."
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        },
        "/api/v2/chat-2-pay": {
            "post": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Generate and send a payment link",
                "description": "Generate and send a Chat 2 Pay message containing the payment link to the end-user and create a transaction log entry for the Chat 2 Pay request.",
                "operationId": "createPayByLinkTransactionLog",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PayByLinkRequest"
                            },
                            "examples": {
                                "Minimum required fields": {
                                    "description": "Minimum required fields",
                                    "value": {
                                        "channel": "sms",
                                        "to": "16102347315",
                                        "currency": "USD",
                                        "orderNumber": "001",
                                        "totalAmount": 1.0,
                                        "timestamp": "2021-04-27T17:35:58.000+0000"
                                    }
                                },
                                "All fields with example values": {
                                    "description": "All fields with example values",
                                    "value": {
                                        "channel": "sms",
                                        "from": "14845219679",
                                        "to": "16102347315",
                                        "currency": "USD",
                                        "orderNumber": "001",
                                        "subTotalAmount": 20.0,
                                        "taxAmount": 0.5,
                                        "totalAmount": 20.5,
                                        "timestamp": "2021-04-27T17:35:58.000+0000",
                                        "additionalData": "{\"departmentId\": \"567\", \"departmentName\": \"Sales\"}",
                                        "paymentGatewaySettingsId": "8a78e49c798daf1b01798db045290001",
                                        "returnPaymentLink": "true",
                                        "paymentReviewAutoReversal": "false",
                                        "applicationId": "1",
                                        "transactionType": "sale",
                                        "reconciliationId": "56343512",
                                        "merchantDescriptor": "MyShop"
                                    }
                                },
                                "Using 'none' channel": {
                                    "description": "Using 'none' channel",
                                    "value": {
                                        "channel": "none",
                                        "to": "16102347315",
                                        "currency": "USD",
                                        "orderNumber": "001",
                                        "totalAmount": 1.0,
                                        "timestamp": "2021-04-27T17:35:58.000+0000"
                                    }
                                },
                                "Order line items (example 1)": {
                                    "description": "Order line items (example 1)",
                                    "value": {
                                        "channel": "sms",
                                        "to": "16102347315",
                                        "currency": "USD",
                                        "orderNumber": "2022-05-03-212",
                                        "totalAmount": 17.9,
                                        "subTotalAmount": 17.9,
                                        "timestamp": "2021-04-27T17:35:58.000+0000",
                                        "orderLineItems": [
                                            {
                                                "name": "Tomato Soup",
                                                "quantity": "1",
                                                "unitPrice": "4.5"
                                            },
                                            {
                                                "name": "Pizza Margherita",
                                                "quantity": "2",
                                                "unitPrice": "6.7"
                                            }
                                        ]
                                    }
                                },
                                "Order line items (example 2)": {
                                    "description": "Order line items (example 2)",
                                    "value": {
                                        "channel": "sms",
                                        "to": "16102347315",
                                        "currency": "USD",
                                        "orderNumber": "001",
                                        "totalAmount": 29.0,
                                        "subTotalAmount": 26.0,
                                        "taxAmount": 3.0,
                                        "timestamp": "2021-04-27T17:35:58.000+0000",
                                        "orderLineItems": [
                                            {
                                                "code": "TX-123",
                                                "name": "T-shirt XL Red",
                                                "quantity": "1",
                                                "sku": "1-234-34564-234",
                                                "unitPrice": "21",
                                                "taxAmount": "2.5"
                                            },
                                            {
                                                "code": "PP-345",
                                                "name": "Cup",
                                                "quantity": "1",
                                                "sku": "5-323-34321-987",
                                                "unitPrice": "5",
                                                "taxAmount": "0.5"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "x-oneapi-error-code": {
                        "description": "HTTP error code that is returned from the channel API in case of an error when sending a message (see list of <a href='https://docs.clickatell.com/channels/one-api/one-api-errors-table/' target='_blank'>OneAPI error codes</a>)",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PayByLinkTransactionLogResponse"
                                },
                                "example": {
                                    "paymentLinkRef": "0e5f63d3-8964-49cf-a3a0-3d6620a4f479",
                                    "transactionStatus": "PAYMENT_LINK_SENT_FAILED",
                                    "transactionStatusId": 9,
                                    "timestamp": "2021-06-22T12:41:49.256+00:00",
                                    "error": {
                                        "code": 1,
                                        "description": "Invalid or missing integration API Key."
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                                },
                                "example": {
                                    "timestamp": "2021-06-22T08:40:08.905+00:00",
                                    "status": 401,
                                    "error": "Unauthorized",
                                    "message": "",
                                    "path": "api-url"
                                }
                            }
                        }
                    },
                    "201": {
                        "description": "Payment link created",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PayByLinkTransactionLogResponse"
                                },
                                "examples": {
                                    "Payment link created and sent successfully": {
                                        "description": "Payment link created and sent successfully",
                                        "value": {
                                            "paymentLinkRef": "00e5dbdb-541e-4f9b-9e93-5dccef6a0854",
                                            "transactionStatus": "PAYMENT_LINK_SENT",
                                            "transactionStatusId": 2,
                                            "timestamp": "2021-06-22T12:31:08.102+00:00"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Chat 2 Pay request, various validation rules broken",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/BadRequestErrorResponse"
                                },
                                "example": {
                                    "status": "BAD_REQUEST",
                                    "message": "Request failed for /api/chat-2-pay",
                                    "errors": [
                                        "Invalid payload found in the request: paymentGatewaySettingsId must be provided for widget: 2c9acd1e7ac31290017ac87a03c600a8"
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Chat 2 Pay configuration not found",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotFoundErrorResponse"
                                },
                                "example": {
                                    "status": "NOT_FOUND",
                                    "message": "URL /api/chat-2-pay",
                                    "errors": [
                                        "There is no such transaction with transaction reference c207c0f9-da7b-45a1-bdf0-8086d5d8d732"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        },
        "/api/v2/callback/transaction-status": {
            "post": {
                "tags": [
                    "Chat 2 Pay API Client Callbacks"
                ],
                "summary": "Transaction status change notification",
                "description": "A transaction status change notification is sent after the following events: payment link creation, link cancellation, link clicked, link expiration, payment status change. Notifications are sent to the integrator that created the payment link (specified by ‘applicationId’). The URL for the notifications can be specified in the ‘Transaction Status Event’ field when configuring Chat 2 Pay’s ‘Callback Notifications’ section in the Clickatell Portal.",
                "operationId": "testTransactionStatusChangeNotification",
                "requestBody": {
                    "description": "Transaction status request",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TransactionStatusNotificationResponse"
                            },
                            "example": {
                                "orderNumber": "v2-01",
                                "paymentLinkRef": "16a14fe3-d145-4e70-8fc2-fe6b5155e9cf",
                                "transactionStatuses": [
                                    {
                                        "transactionStatusId": 4,
                                        "transactionStatusName": "Payment Status Received",
                                        "created": "2022-02-10T10:12:52.000+00:00"
                                    },
                                    {
                                        "transactionStatusId": 20,
                                        "transactionStatusName": "Payment Link Clicked",
                                        "created": "2022-02-10T10:10:40.000+00:00"
                                    },
                                    {
                                        "transactionStatusId": 1,
                                        "transactionStatusName": "Payment Link Request Received",
                                        "created": "2022-02-10T10:10:19.000+00:00"
                                    }
                                ],
                                "paymentStatuses": [
                                    {
                                        "transactionType": "AUTHORIZATION",
                                        "totalAmount": "10.00",
                                        "paymentGatewayDecision": "ACCEPT",
                                        "paymentGatewayReqReferenceNumber": "6444879418826376804001",
                                        "paymentGatewayResponseTimestamp": "2022-02-10T10:12:22.000+00:00",
                                        "paymentGatewayResponseCode": 100,
                                        "paymentGatewayAuthReconciliationReferenceNumber": "235314875619",
                                        "cardType": "Visa",
                                        "maskedCardNumber": "XXXXXXXXXXXX1111",
                                        "cardExpiryDate": "02/2022"
                                    }
                                ],
                                "paymentStatus": "SUCCESS",
                                "paymentStatusId": "1",
                                "paymentStatusTimestamp": "2022-02-10T10:12:52.087+00:00",
                                "totalAmount": "10.00",
                                "channelName": "NONE",
                                "currency": "ZAR",
                                "additionalData": "null",
                                "integrator": {
                                    "applicationId": "95cbfe96-b53b-4fd0-b168-ea01072beb16",
                                    "name": "Custom App"
                                },
                                "paymentReviewAutoReversal": false,
                                "transactionType": "AUTHORIZATION",
                                "environment": "SANDBOX"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Return 200 code if the callback was received and processed successfully. Chat 2 Pay will retry this notification delivery for any other response code."
                    }
                },
                "servers": [
                    {
                        "url": "https://your-server.com",
                        "variables": {}
                    }
                ]
            }
        },
        "/api/v2/callback/payment-status": {
            "post": {
                "tags": [
                    "Chat 2 Pay API Client Callbacks"
                ],
                "summary": "Payment status change notification",
                "description": "A payment status change notification is sent after each payment status change, e.g., payment status received, capture, reversal. The URL for the notifications can be specified in the ‘Payment Status’ field when configuring Chat 2 Pay’s ‘Callback Notifications’ section in the Clickatell Portal.",
                "operationId": "testPaymentStatusChangeNotification",
                "requestBody": {
                    "description": "Payment status request",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SendPaymentOutcomeRequest"
                            },
                            "examples": {
                                "Payment status change notification example": {
                                    "description": "Payment status change notification example",
                                    "value": {
                                        "orderNo": "v2-01",
                                        "paymentLinkRef": "16a14fe3-d145-4e70-8fc2-fe6b5155e9cf",
                                        "to": "16102347315",
                                        "paymentStatus": "SUCCESS",
                                        "paymentStatusId": "1",
                                        "currency": "ZAR",
                                        "totalAmount": "10.00",
                                        "additionalData": "null",
                                        "paymentStatuses": [
                                            {
                                                "transactionType": "AUTHORIZATION",
                                                "totalAmount": "10.00",
                                                "paymentGatewayDecision": "ACCEPT",
                                                "paymentGatewayReqReferenceNumber": "6444879418826376804001",
                                                "paymentGatewayResponseTimestamp": "2022-02-10T10:12:22.000+00:00",
                                                "paymentGatewayResponseCode": 100,
                                                "paymentGatewayAuthReconciliationReferenceNumber": "235314875619",
                                                "cardType": "Visa",
                                                "maskedCardNumber": "XXXXXXXXXXXX1111",
                                                "cardExpiryDate": "02/2022"
                                            }
                                        ],
                                        "environment": "SANDBOX"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Return 200 code if the callback was received and processed successfully. Chat 2 Pay will retry this notification delivery for any other response code."
                    }
                },
                "servers": [
                    {
                        "url": "https://your-server.com",
                        "variables": {}
                    }
                ]
            }
        },
        "/api/v2/callback/config-change": {
            "post": {
                "tags": [
                    "Chat 2 Pay API Client Callbacks"
                ],
                "summary": "Chat 2 Pay configuration change notification",
                "description": "A Chat 2 Pay configuration change notification is sent after the following events: API key added or removed, currency added or removed, channel added or removed. Notifications are sent to each active integrator. The URL for the notifications can be specified in the ‘Chat 2 Pay Settings’ field when configuring Chat 2 Pay’s ‘Callback Notifications’ section in the Clickatell Portal.",
                "operationId": "testConfigChangeNotification",
                "requestBody": {
                    "description": "config request",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/WidgetConfigResponse"
                            },
                            "example": {
                                "mc2AccountId": "6bf76e31c0a34302875f5ef5784c7968",
                                "configId": "2c9acd1e7ac31290017ac87a03c600a8",
                                "environment": "SANDBOX",
                                "apiKey": "0e05d3fc016d46d09993341ab45ef5c9",
                                "enabledChannels": [
                                    "SMS"
                                ],
                                "supportedCurrencies": [
                                    {
                                        "id": 1,
                                        "iso": "AED",
                                        "name": "United Arab Emirates dirham",
                                        "symbol": "د.إ",
                                        "isDefault": true
                                    },
                                    {
                                        "id": 2,
                                        "iso": "AFN",
                                        "name": "Afghan afghani",
                                        "symbol": "؋",
                                        "isDefault": false
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Return 200 code if the callback was received and processed successfully. Chat 2 Pay will retry this notification delivery for any other response code."
                    }
                },
                "servers": [
                    {
                        "url": "https://your-server.com",
                        "variables": {}
                    }
                ]
            }
        },
        "/api/v2/order-receipt": {
            "post": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Create payment receipt",
                "description": "Use this endpoint in conjunction with the Chat 2 Pay API to send your end-users a link to their order receipt via the same channel used to send the payment link.",
                "operationId": "createPaymentReceipt",
                "requestBody": {
                    "description": "Sends your end-users a link to their order receipt via the same channel used to send the payment link.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PaymentReceiptRequest"
                            },
                            "example": {
                                "paymentLinkRef": "6753076e-1ee0-4323-b13c-9f67799036c6",
                                "timestamp": "2021-04-27T17:35:58.000+0000",
                                "receiptLink": "https://your.domain/receipt"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created, receipt link sent successfully",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentReceiptResponse"
                                },
                                "example": {
                                    "receiptLinkRef": "0e5f63d3-8964-49cf-a3a0-3d6620a4f479",
                                    "orderNumber": "001",
                                    "timestamp": "2021-06-22T13:56:28.000+00:00",
                                    "transactionStatus": "RECEIPT_LINK_SENT",
                                    "transactionStatusId": 7
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Created, receipt link sent failed",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentReceiptResponse"
                                },
                                "example": {
                                    "receiptLinkRef": "0e5f63d3-8964-49cf-a3a0-3d6620a4f479",
                                    "orderNumber": "001",
                                    "timestamp": "2021-06-22T14:09:48.000+00:00",
                                    "transactionStatus": "RECEIPT_LINK_SENT_FAILED",
                                    "transactionStatusId": 15,
                                    "error": {
                                        "code": 1,
                                        "description": "Invalid or missing integration API Key."
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                                },
                                "example": {
                                    "timestamp": "2021-06-22T08:40:08.905+00:00",
                                    "status": 401,
                                    "error": "Unauthorized",
                                    "message": "",
                                    "path": "api-url"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Chat 2 Pay configuration or transaction not found",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotFoundErrorResponse"
                                },
                                "example": {
                                    "status": "NOT_FOUND",
                                    "message": "URL /api/chat-2-pay",
                                    "errors": [
                                        "There is no such transaction with transaction reference c207c0f9-da7b-45a1-bdf0-8086d5d8d732"
                                    ]
                                }
                            }
                        }
                    },
                    "x-oneapi-error-code": {
                        "description": "HTTP error code that is returned from the channel API in case of an error when sending a message (see list of <a href='https://docs.clickatell.com/channels/one-api/one-api-errors-table/' target='_blank'>OneAPI error codes</a>)",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PayByLinkTransactionLogResponse"
                                },
                                "example": {
                                    "paymentLinkRef": "0e5f63d3-8964-49cf-a3a0-3d6620a4f479",
                                    "transactionStatus": "PAYMENT_LINK_SENT_FAILED",
                                    "transactionStatusId": 9,
                                    "timestamp": "2021-06-22T12:41:49.256+00:00",
                                    "error": {
                                        "code": 1,
                                        "description": "Invalid or missing integration API Key."
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        },
        "/api/v2/cancel/{paymentLinkRef}": {
            "post": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Cancels a payment link",
                "description": "This API can be used to cancel the payment link. It is only possible to cancel a payment link that hasn’t been clicked yet. The cancellation of a payment link doesn’t affect a payment that is in progress.",
                "operationId": "cancelLink",
                "parameters": [
                    {
                        "name": "paymentLinkRef",
                        "in": "path",
                        "description": "The unique reference number for the payment link generated",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaymentCancellationResponse"
                                },
                                "example": {
                                    "paymentLinkRef": "621ff1eb-8eee-4f0e-a2d0-490bb82003d2",
                                    "transactionStatus": "Payment Link Cancelled",
                                    "transactionStatusId": "19",
                                    "additionalData": "null",
                                    "timestamp": "2022-02-14T11:38:04.249+00:00"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Operation failed because of validation rules",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/BadRequestErrorResponse"
                                },
                                "example": {
                                    "message": "The payment link = c207c0f9-da7b-45a1-bdf0-8086d5d8d732 expired",
                                    "reasonCode": 2,
                                    "reason": "expired",
                                    "status": "BAD_REQUEST",
                                    "timestamp": "2022-02-08T13:49:05.000+00:00"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                                },
                                "example": {
                                    "timestamp": "2021-06-22T08:40:08.905+00:00",
                                    "status": 401,
                                    "error": "Unauthorized",
                                    "message": "",
                                    "path": "api-url"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Configured extension or transaction not found",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/NotFoundErrorResponse"
                                },
                                "example": {
                                    "status": "NOT_FOUND",
                                    "message": "URL /api/chat-2-pay",
                                    "errors": [
                                        "There is no such transaction with transaction reference c207c0f9-da7b-45a1-bdf0-8086d5d8d732"
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        },
        "/api/v2/chat-2-pay/transaction-status": {
            "get": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Get transaction details",
                "description": "Get a detailed breakdown of a transaction, including the transaction statuses and payment outcome.",
                "operationId": "getTransactionStatus",
                "parameters": [
                    {
                        "name": "orderNumber",
                        "in": "query",
                        "description": "The order number associated with the payment",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "paymentLinkRef",
                        "in": "query",
                        "description": "The payment link reference of the transaction you requested the details for",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "receiptLinkRef",
                        "in": "query",
                        "description": "The unique reference number for the receipt link generated",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/TransactionStatusEndpointResponse"
                                },
                                "examples": {
                                    "Generic example": {
                                        "description": "Generic example",
                                        "value": [
                                            {
                                                "orderNumber": "v2-01",
                                                "paymentLinkRef": "16a14fe3-d145-4e70-8fc2-fe6b5155e9cf",
                                                "transactionStatuses": [
                                                    {
                                                        "transactionStatusId": 12,
                                                        "transactionStatusName": "Payment Status Notification Delivery Successful",
                                                        "created": "2022-02-10T10:13:41.000+00:00"
                                                    },
                                                    {
                                                        "transactionStatusId": 5,
                                                        "transactionStatusName": "Payment Status Notification Sent",
                                                        "created": "2022-02-10T10:13:15.000+00:00"
                                                    },
                                                    {
                                                        "transactionStatusId": 4,
                                                        "transactionStatusName": "Payment Status Received",
                                                        "created": "2022-02-10T10:12:52.000+00:00"
                                                    },
                                                    {
                                                        "transactionStatusId": 20,
                                                        "transactionStatusName": "Payment Link Clicked",
                                                        "created": "2022-02-10T10:10:40.000+00:00"
                                                    },
                                                    {
                                                        "transactionStatusId": 1,
                                                        "transactionStatusName": "Payment Link Request Received",
                                                        "created": "2022-02-10T10:10:19.000+00:00"
                                                    }
                                                ],
                                                "paymentStatuses": [
                                                    {
                                                        "transactionType": "AUTHORIZATION",
                                                        "totalAmount": 10,
                                                        "paymentGatewayDecision": "ACCEPT",
                                                        "paymentGatewayReqReferenceNumber": "6444879418826376804001",
                                                        "paymentGatewayResponseTimestamp": "2022-02-10T10:12:22.000+00:00",
                                                        "paymentGatewayResponseCode": 100,
                                                        "paymentGatewayAuthReconciliationReferenceNumber": "235314875619",
                                                        "cardType": "Visa",
                                                        "maskedCardNumber": "XXXXXXXXXXXX1111",
                                                        "cardExpiryDate": "02/2022"
                                                    }
                                                ],
                                                "paymentStatus": "SUCCESS",
                                                "paymentStatusId": "1",
                                                "paymentStatusTimestamp": "2022-02-10T10:13:40.000+00:00",
                                                "totalAmount": 10,
                                                "channelName": "NONE",
                                                "currency": "ZAR",
                                                "additionalData": "null",
                                                "integrator": {
                                                    "applicationId": "95cbfe96-b53b-4fd0-b168-ea01072beb16",
                                                    "name": "Custom App"
                                                },
                                                "paymentReviewAutoReversal": false,
                                                "transactionType": "AUTHORIZATION",
                                                "environment": "SANDBOX",
                                                "reconciliationId": "56343512"
                                            }
                                        ]
                                    },
                                    "Order line items": {
                                        "description": "Order line items",
                                        "value": [
                                            {
                                                "orderNumber": "001",
                                                "paymentLinkRef": "4c816d1d-f779-4b00-8eb7-e7ae53fddb8a",
                                                "transactionStatuses": [
                                                    {
                                                        "transactionStatusId": 1,
                                                        "transactionStatusName": "Payment Link Request Received",
                                                        "created": "2022-07-13T10:43:46.582+00:00"
                                                    }
                                                ],
                                                "paymentStatuses": [],
                                                "paymentStatus": "PENDING",
                                                "paymentStatusId": "3",
                                                "paymentStatusTimestamp": "2022-07-13T10:43:47.000+00:00",
                                                "totalAmount": 29,
                                                "channelName": "NONE",
                                                "currency": "ZAR",
                                                "taxAmount": 3,
                                                "subTotalAmount": 26,
                                                "additionalData": "null",
                                                "integrator": {
                                                    "applicationId": "1",
                                                    "name": "Salesforce"
                                                },
                                                "paymentReviewAutoReversal": false,
                                                "transactionType": "AUTHORIZATION",
                                                "environment": "SANDBOX",
                                                "orderLineItems": [
                                                    {
                                                        "code": "TX-123",
                                                        "name": "T-shirt XL Red",
                                                        "quantity": 1,
                                                        "sku": "1-234-34564-234",
                                                        "taxAmount": 2.5,
                                                        "unitPrice": 21
                                                    },
                                                    {
                                                        "code": "PP-345",
                                                        "name": "Cup",
                                                        "quantity": 1,
                                                        "sku": "5-323-34321-987",
                                                        "taxAmount": 0.5,
                                                        "unitPrice": 5
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/UnauthorizedErrorResponse"
                                },
                                "example": {
                                    "timestamp": "2021-06-22T08:40:08.905+00:00",
                                    "status": 401,
                                    "error": "Unauthorized",
                                    "message": "",
                                    "path": "api-url"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        },
        "/api/v2/config": {
            "get": {
                "tags": [
                    "Chat 2 Pay API"
                ],
                "summary": "Get Chat 2 Pay configuration",
                "description": "This API returns the configuration data for the configured Chat 2 Pay product.",
                "operationId": "getConfigSettings",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "$ref": "#/components/schemas/DetailedWidgetConfigResponse"
                                },
                                "example": {
                                    "updateTime": "2022-02-11T12:05:51.000+00:00",
                                    "whatsappChannelEnabled": false,
                                    "smsChannelEnabled": true,
                                    "integrators": [
                                        {
                                            "applicationId": "95cbfe96-b53b-4fd0-b168-ea01072beb16",
                                            "name": "Custom App",
                                            "status": "ACTIVATED"
                                        },
                                        {
                                            "applicationId": "1",
                                            "name": "Salesforce",
                                            "status": "ACTIVATED"
                                        },
                                        {
                                            "applicationId": "2",
                                            "name": "ChatDesk",
                                            "status": "ACTIVATED"
                                        }
                                    ],
                                    "apiKey": "0ba7430e091841b9a87e25f1946c3320",
                                    "supportedCurrencies": [
                                        {
                                            "id": 156,
                                            "iso": "ZAR",
                                            "name": "South African rand",
                                            "symbol": "R",
                                            "isDefault": true
                                        }
                                    ],
                                    "environment": "SANDBOX"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Chat 2 Pay API key",
                        "content": {
                            "*/*": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "c2p": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "EntityUpdatedResponse": {
                "type": "object",
                "properties": {
                    "updateTime": {
                        "type": "string",
                        "description": "Last modified time",
                        "format": "date-time"
                    }
                }
            },
            "IntegrationStatusRequest": {
                "required": [
                    "applicationUuid",
                    "status"
                ],
                "type": "object",
                "properties": {
                    "applicationUuid": {
                        "type": "string",
                        "description": "Unique identifier generated for each custom application the customer links to the account"
                    },
                    "status": {
                        "type": "string",
                        "description": "Status",
                        "example": "ACTIVATED/DEACTIVATED",
                        "enum": [
                            "ACTIVATED",
                            "DEACTIVATED",
                            "DELETED"
                        ]
                    }
                }
            },
            "PaymentGatewayOperationResultResponse": {
                "type": "object",
                "properties": {
                    "transactionType": {
                        "type": "string",
                        "description": "The type of transaction executed",
                        "enum": [
                            "TransactionType.AUTHORIZATION(name=Authorization, id=1)",
                            "TransactionType.SALE(name=Sale, id=2)",
                            "TransactionType.VOID(name=Void, id=3)",
                            "TransactionType.CAPTURE(name=Capture, id=4)"
                        ]
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "The total amount of the transaction"
                    },
                    "paymentGatewayDecision": {
                        "type": "string",
                        "description": "Decision received back from the Payment Gateway for the payment request"
                    },
                    "paymentGatewayReqReferenceNumber": {
                        "type": "string",
                        "description": "Payment Reference number received back from the Payment Gateway for the payment request"
                    },
                    "paymentGatewayResponseTimestamp": {
                        "type": "string",
                        "description": "Timestamp received back from the Payment Gateway for the payment request",
                        "format": "date-time"
                    },
                    "paymentGatewayResponseCode": {
                        "type": "integer",
                        "description": "Response code received back from the Payment Gateway for the payment request",
                        "format": "int32"
                    },
                    "paymentGatewayErrorDecision": {
                        "type": "string",
                        "description": "Error description received back from Payment Gateway if error occurred"
                    },
                    "paymentGatewayAuthReconciliationReferenceNumber": {
                        "type": "string",
                        "description": "Unique number generated by Payment Gateway to identify the transaction for the payment request"
                    },
                    "cardType": {
                        "type": "string",
                        "description": "The type of card used for the transaction, as received back from the Payment Gateway for the payment request"
                    },
                    "maskedCardNumber": {
                        "type": "string",
                        "description": "The masked card number used for the transaction, as received back from the Payment Gateway for the payment request\n"
                    },
                    "cardExpiryDate": {
                        "type": "string",
                        "description": "The expiry date of the card used for the payment, as received back from the Payment Gateway for the payment request\n"
                    },
                    "paymentStatus": {
                        "type": "string",
                        "description": "New payment status if it was changed"
                    },
                    "paymentStatusId": {
                        "type": "string",
                        "description": "The ID of the new payment status"
                    }
                }
            },
            "BadRequestErrorResponse": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "description": "The error message"
                    },
                    "errors": {
                        "type": "array",
                        "description": "The list of errors",
                        "items": {
                            "type": "string",
                            "description": "The list of errors"
                        }
                    }
                }
            },
            "UnauthorizedErrorResponse": {
                "type": "object",
                "properties": {
                    "timestamp": {
                        "type": "string",
                        "description": "Timestamp",
                        "format": "date-time"
                    },
                    "status": {
                        "type": "integer",
                        "description": "HTTP status",
                        "format": "int32"
                    },
                    "error": {
                        "type": "string",
                        "description": "Error name"
                    },
                    "message": {
                        "type": "string",
                        "description": "Error message"
                    },
                    "path": {
                        "type": "string",
                        "description": "Path"
                    }
                }
            },
            "NotFoundErrorResponse": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "description": "HTTP status",
                        "enum": [
                            "100 CONTINUE",
                            "101 SWITCHING_PROTOCOLS",
                            "102 PROCESSING",
                            "103 CHECKPOINT",
                            "200 OK",
                            "201 CREATED",
                            "202 ACCEPTED",
                            "203 NON_AUTHORITATIVE_INFORMATION",
                            "204 NO_CONTENT",
                            "205 RESET_CONTENT",
                            "206 PARTIAL_CONTENT",
                            "207 MULTI_STATUS",
                            "208 ALREADY_REPORTED",
                            "226 IM_USED",
                            "300 MULTIPLE_CHOICES",
                            "301 MOVED_PERMANENTLY",
                            "302 FOUND",
                            "302 MOVED_TEMPORARILY",
                            "303 SEE_OTHER",
                            "304 NOT_MODIFIED",
                            "305 USE_PROXY",
                            "307 TEMPORARY_REDIRECT",
                            "308 PERMANENT_REDIRECT",
                            "400 BAD_REQUEST",
                            "401 UNAUTHORIZED",
                            "402 PAYMENT_REQUIRED",
                            "403 FORBIDDEN",
                            "404 NOT_FOUND",
                            "405 METHOD_NOT_ALLOWED",
                            "406 NOT_ACCEPTABLE",
                            "407 PROXY_AUTHENTICATION_REQUIRED",
                            "408 REQUEST_TIMEOUT",
                            "409 CONFLICT",
                            "410 GONE",
                            "411 LENGTH_REQUIRED",
                            "412 PRECONDITION_FAILED",
                            "413 PAYLOAD_TOO_LARGE",
                            "413 REQUEST_ENTITY_TOO_LARGE",
                            "414 URI_TOO_LONG",
                            "414 REQUEST_URI_TOO_LONG",
                            "415 UNSUPPORTED_MEDIA_TYPE",
                            "416 REQUESTED_RANGE_NOT_SATISFIABLE",
                            "417 EXPECTATION_FAILED",
                            "418 I_AM_A_TEAPOT",
                            "419 INSUFFICIENT_SPACE_ON_RESOURCE",
                            "420 METHOD_FAILURE",
                            "421 DESTINATION_LOCKED",
                            "422 UNPROCESSABLE_ENTITY",
                            "423 LOCKED",
                            "424 FAILED_DEPENDENCY",
                            "425 TOO_EARLY",
                            "426 UPGRADE_REQUIRED",
                            "428 PRECONDITION_REQUIRED",
                            "429 TOO_MANY_REQUESTS",
                            "431 REQUEST_HEADER_FIELDS_TOO_LARGE",
                            "451 UNAVAILABLE_FOR_LEGAL_REASONS",
                            "500 INTERNAL_SERVER_ERROR",
                            "501 NOT_IMPLEMENTED",
                            "502 BAD_GATEWAY",
                            "503 SERVICE_UNAVAILABLE",
                            "504 GATEWAY_TIMEOUT",
                            "505 HTTP_VERSION_NOT_SUPPORTED",
                            "506 VARIANT_ALSO_NEGOTIATES",
                            "507 INSUFFICIENT_STORAGE",
                            "508 LOOP_DETECTED",
                            "509 BANDWIDTH_LIMIT_EXCEEDED",
                            "510 NOT_EXTENDED",
                            "511 NETWORK_AUTHENTICATION_REQUIRED"
                        ]
                    },
                    "message": {
                        "type": "string",
                        "description": "The error message"
                    },
                    "errors": {
                        "type": "array",
                        "description": "The list of errors",
                        "items": {
                            "type": "string",
                            "description": "The list of errors"
                        }
                    }
                }
            },
            "JsonNode": {
                "type": "object",
                "description": "Any additional data over and above what is already included that you want to store in the database along with that record and/or return in the response"
            },
            "LineItemRequest": {
                "required": [
                    "name",
                    "unitPrice"
                ],
                "type": "object",
                "properties": {
                    "code": {
                        "maxLength": 255,
                        "minLength": 0,
                        "type": "string",
                        "description": "Type of product"
                    },
                    "name": {
                        "maxLength": 255,
                        "minLength": 0,
                        "type": "string",
                        "description": "Name of the item"
                    },
                    "quantity": {
                        "minimum": 1,
                        "type": "integer",
                        "description": "Quantity of line items",
                        "format": "int32"
                    },
                    "sku": {
                        "maxLength": 255,
                        "minLength": 0,
                        "type": "string",
                        "description": "Identification code for the product"
                    },
                    "unitPrice": {
                        "minimum": 0.0,
                        "exclusiveMinimum": true,
                        "type": "number",
                        "description": "Price of the line item"
                    },
                    "taxAmount": {
                        "minimum": 0.0,
                        "exclusiveMinimum": true,
                        "type": "number",
                        "description": "Tax amount to apply to the line item"
                    }
                },
                "description": "The list of items associated with an order, e.g. products. "
            },
            "PayByLinkRequest": {
                "required": [
                    "channel",
                    "currency",
                    "orderNumber",
                    "timestamp",
                    "to",
                    "totalAmount"
                ],
                "type": "object",
                "properties": {
                    "channel": {
                        "type": "string",
                        "description": "The channel used to send the payment link to the end-user. Values: sms, whatsapp, none (only used if you do not want to send the payment link through a channel configured on Chat 2 Pay)",
                        "enum": [
                            "ChannelType.SMS(name=SMS, id=1)",
                            "ChannelType.WHATSAPP(name=WHATSAPP, id=2)",
                            "ChannelType.NONE(name=NONE, id=0)"
                        ]
                    },
                    "from": {
                        "type": "string",
                        "description": "The mobile number of the sender used when sending payment link"
                    },
                    "to": {
                        "type": "string",
                        "description": "The end-user’s mobile number that the payment link must be sent to."
                    },
                    "orderNumber": {
                        "maxLength": 32,
                        "minLength": 0,
                        "type": "string",
                        "description": "The order number associated with this payment"
                    },
                    "timestamp": {
                        "type": "string",
                        "description": "The date and time that the system sends the request (ISO 8601 format)",
                        "format": "date-time"
                    },
                    "currency": {
                        "pattern": "[A-Za-z]{3}",
                        "type": "string",
                        "description": "The currency that the end-user is using to transact (Three-character ISO Standard Currency Codes)"
                    },
                    "taxAmount": {
                        "minimum": 0.0,
                        "exclusiveMinimum": false,
                        "type": "number",
                        "description": "Tax due on this purchase"
                    },
                    "subTotalAmount": {
                        "minimum": 0.0,
                        "exclusiveMinimum": true,
                        "type": "number",
                        "description": "Amount due before tax"
                    },
                    "totalAmount": {
                        "minimum": 0.0,
                        "exclusiveMinimum": true,
                        "type": "number",
                        "description": "Amount that the end-user needs to pay"
                    },
                    "paymentGatewaySettingsId": {
                        "type": "string",
                        "description": "ID of payment gateway settings if multiple payment gateway settings were configured"
                    },
                    "additionalData": {
                        "$ref": "#/components/schemas/JsonNode"
                    },
                    "returnPaymentLink": {
                        "type": "boolean",
                        "description": "Returns the payment link in the response if set to ‘true’"
                    },
                    "applicationId": {
                        "type": "string",
                        "description": "Unique reference number generated by Clickatell to identify the client’s application. This ID can be retrieved from the Clickatell customer portal."
                    },
                    "paymentReviewAutoReversal": {
                        "type": "boolean",
                        "description": "Make automatically transaction reversal in case of REVIEW state",
                        "default": false
                    },
                    "transactionType": {
                        "type": "string",
                        "description": "Specifies the type of transaction that will be performed by the Payment Gateway. Allowed values are: Sale or Authorization. If a value is not supplied, the default transaction type that was set as part of the payment settings for the Chat 2 Pay configuration in the Clickatell Portal will be used.",
                        "enum": [
                            "TransactionType.AUTHORIZATION(name=Authorization, id=1)",
                            "TransactionType.SALE(name=Sale, id=2)",
                            "TransactionType.VOID(name=Void, id=3)",
                            "TransactionType.CAPTURE(name=Capture, id=4)"
                        ]
                    },
                    "orderLineItems": {
                        "type": "array",
                        "description": "The list of items associated with an order, e.g. products. ",
                        "items": {
                            "$ref": "#/components/schemas/LineItemRequest"
                        }
                    },
                    "reconciliationId": {
                        "maxLength": 60,
                        "minLength": 0,
                        "type": "string",
                        "description": "Reference number that you use to reconcile your transaction reports with your processor reports. Also known as Transaction Reference Number or TRN."
                    },
                    "merchantDescriptor": {
                        "type": "string",
                        "description": "Merchant's business name. This name is displayed on the cardholder’s statement. Check your payment gateway integration guides for restrictions on maximum data length and allowed characters."
                    }
                }
            },
            "PayByLinkTransactionLogResponse": {
                "type": "object",
                "properties": {
                    "paymentLinkRef": {
                        "type": "string",
                        "description": "The unique reference number for the payment link generated"
                    },
                    "transactionStatus": {
                        "type": "string",
                        "description": "The status of the transaction",
                        "enum": [
                            "PAYMENT_LINK_REQUEST_RECEIVED",
                            "PAYMENT_LINK_SENT",
                            "PAYMENT_LINK_DELIVERED",
                            "PAYMENT_STATUS_RECEIVED",
                            "PAYMENT_STATUS_NOTIFICATION_SENT",
                            "RECEIPT_LINK_REQUEST_RECEIVED",
                            "RECEIPT_LINK_SENT",
                            "PAYMENT_LINK_REQUEST_FAILED",
                            "PAYMENT_LINK_SENT_FAILED",
                            "PAYMENT_URL_EXPIRED",
                            "PAYMENT_LINK_DELIVERY_FAILED",
                            "PAYMENT_STATUS_NOTIFICATION_DELIVERY_SUCCESSFUL",
                            "PAYMENT_STATUS_NOTIFICATION_DELIVERY_FAILED",
                            "RECEIPT_LINK_REQUEST_FAILED",
                            "RECEIPT_LINK_SENT_FAILED",
                            "RECEIPT_LINK_DELIVERED",
                            "RECEIPT_LINK_DELIVERY_FAILED",
                            "PAYMENT_LINK_CANCELLED",
                            "PAYMENT_LINK_CLICKED"
                        ]
                    },
                    "transactionStatusId": {
                        "type": "integer",
                        "description": "The ID of the transaction status",
                        "format": "int32"
                    },
                    "timestamp": {
                        "type": "string",
                        "description": "Timestamp generated by Clickatell’s application (in ISO 8601 format)",
                        "format": "date-time"
                    },
                    "error": {
                        "$ref": "#/components/schemas/ThirdPartySystemErrorResponse"
                    },
                    "paymentLink": {
                        "type": "string",
                        "description": "Contains the unique payment link for this payment. It will only return in the response if returnPaymentLink was set to true in the request."
                    },
                    "paymentLinkTTL": {
                        "type": "integer",
                        "description": "Time to live in minutes for the Payment Link",
                        "format": "int32"
                    },
                    "paymentPageTTL": {
                        "type": "integer",
                        "description": "Time to live in minutes for the Payment Page",
                        "format": "int32"
                    }
                }
            },
            "ThirdPartySystemErrorResponse": {
                "type": "object",
                "properties": {
                    "code": {
                        "type": "integer",
                        "description": "The error code received from third-parties after interaction",
                        "format": "int32"
                    },
                    "description": {
                        "type": "string",
                        "description": "The error code description received from third-parties after interaction"
                    }
                },
                "description": "Error details if request failed"
            },
            "IntegratorResponse": {
                "type": "object",
                "properties": {
                    "applicationId": {
                        "type": "string",
                        "description": "Unique identifier generated for each custom application the customer links to the account"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the integrator"
                    }
                },
                "description": "The integrator/application that requested this payment"
            },
            "PaymentStatusLogResponse": {
                "type": "object",
                "properties": {
                    "transactionType": {
                        "type": "string",
                        "description": "The type of transaction executed",
                        "enum": [
                            "TransactionType.AUTHORIZATION(name=Authorization, id=1)",
                            "TransactionType.SALE(name=Sale, id=2)",
                            "TransactionType.VOID(name=Void, id=3)",
                            "TransactionType.CAPTURE(name=Capture, id=4)"
                        ]
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "The total amount of the transaction"
                    },
                    "paymentGatewayDecision": {
                        "type": "string",
                        "description": "Decision received back from the Payment Gateway for the payment request"
                    },
                    "paymentGatewayReqReferenceNumber": {
                        "type": "string",
                        "description": "Payment Reference number received back from the Payment Gateway for the payment request"
                    },
                    "paymentGatewayResponseTimestamp": {
                        "type": "string",
                        "description": "Timestamp received back from the Payment Gateway for the payment request",
                        "format": "date-time"
                    },
                    "paymentGatewayResponseCode": {
                        "type": "integer",
                        "description": "Response code received back from the Payment Gateway for the payment request",
                        "format": "int32"
                    },
                    "paymentGatewayErrorDecision": {
                        "type": "string",
                        "description": "Error description received back from Payment Gateway if error occurred"
                    },
                    "paymentGatewayAuthReconciliationReferenceNumber": {
                        "type": "string",
                        "description": "Unique number generated by Payment Gateway to identify the transaction for the payment request"
                    },
                    "cardType": {
                        "type": "string",
                        "description": "The type of card used for the transaction, as received back from the Payment Gateway for the payment request"
                    },
                    "maskedCardNumber": {
                        "type": "string",
                        "description": "The masked card number used for the transaction, as received back from the Payment Gateway for the payment request\n"
                    },
                    "cardExpiryDate": {
                        "type": "string",
                        "description": "The expiry date of the card used for the payment, as received back from the Payment Gateway for the payment request\n"
                    }
                },
                "description": "The list of all payment status transitions"
            },
            "TransactionStatusEntryResponse": {
                "type": "object",
                "properties": {
                    "transactionStatusId": {
                        "type": "integer",
                        "description": "Transaction status ID",
                        "format": "int32"
                    },
                    "transactionStatusName": {
                        "type": "string",
                        "description": "Transaction status name"
                    },
                    "created": {
                        "type": "string",
                        "description": "Transaction date",
                        "format": "date-time"
                    },
                    "httpResponseCode": {
                        "type": "integer",
                        "description": "HTTP response code received from third-parties after interaction",
                        "format": "int32"
                    },
                    "responseCode": {
                        "type": "string",
                        "description": "Error code received from third-parties after interaction"
                    },
                    "responseCodeDescription": {
                        "type": "string",
                        "description": "Error description received from third-parties after interaction"
                    }
                },
                "description": "The list of all transaction statuses transitions"
            },
            "TransactionStatusNotificationResponse": {
                "type": "object",
                "properties": {
                    "orderNumber": {
                        "type": "string",
                        "description": "The order number associated with the payment"
                    },
                    "paymentLinkRef": {
                        "type": "string",
                        "description": "The payment link reference of the transaction you requested the details for"
                    },
                    "transactionStatuses": {
                        "type": "array",
                        "description": "The list of all transaction statuses transitions",
                        "items": {
                            "$ref": "#/components/schemas/TransactionStatusEntryResponse"
                        }
                    },
                    "paymentStatuses": {
                        "type": "array",
                        "description": "The list of all payment status transitions",
                        "items": {
                            "$ref": "#/components/schemas/PaymentStatusLogResponse"
                        }
                    },
                    "paymentStatus": {
                        "type": "string",
                        "description": "The status of the payment",
                        "enum": [
                            "SUCCESS",
                            "FAILED",
                            "PENDING",
                            "UNKNOWN",
                            "REVIEW",
                            "REVERSED",
                            "VOIDED"
                        ]
                    },
                    "paymentStatusId": {
                        "type": "string",
                        "description": "The ID of the payment status"
                    },
                    "paymentStatusTimestamp": {
                        "type": "string",
                        "description": "The date and time the payment outcome from the Payment Gateway was received (ISO 8601 format)",
                        "format": "date-time"
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "The total amount of the transaction"
                    },
                    "receiptLinkRef": {
                        "type": "string",
                        "description": "The receipt link reference number for the transaction"
                    },
                    "channelName": {
                        "type": "string",
                        "description": "The name of the channel used for the transaction"
                    },
                    "currency": {
                        "type": "string",
                        "description": "The currency that the transaction was conducted in"
                    },
                    "taxAmount": {
                        "type": "number",
                        "description": "The tax amount of the transaction"
                    },
                    "subTotalAmount": {
                        "type": "number",
                        "description": "The sub-total of the transaction (before tax)"
                    },
                    "additionalData": {
                        "type": "string",
                        "description": "Any additional data over and above what is already included that you want to store in the database along with that record and/or return in the response"
                    },
                    "paymentStatusConversionTime": {
                        "type": "string",
                        "description": "This field will contain the timestamp received from the payment gateway when a transaction which was in a Review status was finalized.\n",
                        "format": "date-time"
                    },
                    "integrator": {
                        "$ref": "#/components/schemas/IntegratorResponse"
                    },
                    "paymentReviewAutoReversal": {
                        "type": "boolean",
                        "description": "Make automatically transaction reversal in case of REVIEW state",
                        "default": false
                    },
                    "transactionType": {
                        "type": "string",
                        "description": "Specifies the type of transaction that was be performed by Payment Gateway.",
                        "enum": [
                            "TransactionType.AUTHORIZATION(name=Authorization, id=1)",
                            "TransactionType.SALE(name=Sale, id=2)",
                            "TransactionType.VOID(name=Void, id=3)",
                            "TransactionType.CAPTURE(name=Capture, id=4)"
                        ]
                    },
                    "environment": {
                        "type": "string",
                        "description": "Chat 2 Pay configuration run environment (SANDBOX or PRODUCTION)"
                    },
                    "reconciliationId": {
                        "type": "string",
                        "description": "Reference number that you use to reconcile your transaction reports with your processor reports. Also known as Transaction Reference Number or TRN."
                    },
                    "merchantDescriptor": {
                        "type": "string",
                        "description": "Merchant's business name."
                    }
                }
            },
            "SendPaymentOutcomeRequest": {
                "type": "object",
                "properties": {
                    "orderNo": {
                        "type": "string",
                        "description": "The order number associated with the payment"
                    },
                    "paymentLinkRef": {
                        "type": "string",
                        "description": "The payment link reference of the transaction you requested the details for"
                    },
                    "from": {
                        "type": "string",
                        "description": "The mobile number of the sender used when sending payment link."
                    },
                    "to": {
                        "type": "string",
                        "description": "The end-user’s mobile number that the payment link was sent to (In international format, e.g., 27831234567)."
                    },
                    "paymentStatus": {
                        "type": "string",
                        "description": "The new status of the payment"
                    },
                    "paymentStatusId": {
                        "type": "string",
                        "description": "The ID of the payment status"
                    },
                    "currency": {
                        "type": "string",
                        "description": "The currency that the transaction was conducted in"
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "The total amount of the transaction"
                    },
                    "additionalData": {
                        "type": "string",
                        "description": "Any additional data over and above what is already included that you want to store in the database along with that record and/or return in the response"
                    },
                    "paymentStatusConversionTime": {
                        "type": "string",
                        "description": "This field will contain the timestamp received from the Payment Gateway when a transaction which was in a Review status was finalized.\n"
                    },
                    "paymentStatuses": {
                        "type": "array",
                        "description": "The list of all payment status transitions",
                        "items": {
                            "$ref": "#/components/schemas/PaymentStatusLogResponse"
                        }
                    },
                    "environment": {
                        "type": "string",
                        "description": "Chat 2 Pay configuration run environment (SANDBOX or PRODUCTION)"
                    }
                }
            },
            "CurrencyResponse": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Currency unique identifier",
                        "format": "int32"
                    },
                    "iso": {
                        "type": "string",
                        "description": "The ISO currency code"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of currency"
                    },
                    "symbol": {
                        "type": "string",
                        "description": "Symbol used to display currency"
                    },
                    "isDefault": {
                        "type": "boolean",
                        "description": "True if this is set as the default currency; otherwise, false"
                    }
                },
                "description": "Supported currencies"
            },
            "WidgetConfigResponse": {
                "type": "object",
                "properties": {
                    "apiKey": {
                        "type": "string",
                        "description": "API key required to access the C2P APIs"
                    },
                    "enabledChannels": {
                        "type": "array",
                        "description": "List of enabled channels used to send the payment link",
                        "items": {
                            "type": "string",
                            "description": "List of enabled channels used to send the payment link"
                        }
                    },
                    "supportedCurrencies": {
                        "uniqueItems": true,
                        "type": "array",
                        "description": "List of currencies selected in payment gateway settings",
                        "items": {
                            "$ref": "#/components/schemas/CurrencyResponse"
                        }
                    },
                    "mc2AccountId": {
                        "type": "string",
                        "description": "MC2 account ID"
                    },
                    "chatFlowClientId": {
                        "type": "string",
                        "description": "ChatFlow client ID"
                    },
                    "configId": {
                        "type": "string",
                        "description": "Chat 2 Pay configuration ID"
                    },
                    "environment": {
                        "type": "string",
                        "description": "Chat 2 Pay configuration run environment (SANDBOX or PRODUCTION)"
                    }
                }
            },
            "PaymentReceiptResponse": {
                "type": "object",
                "properties": {
                    "receiptLinkRef": {
                        "type": "string",
                        "description": "The unique reference number for the receipt link generated"
                    },
                    "orderNumber": {
                        "type": "string",
                        "description": "The order number that the receipt is for"
                    },
                    "timestamp": {
                        "type": "string",
                        "description": "The date and time the instruction to create the link was received (In ISO 8601 format)",
                        "format": "date-time"
                    },
                    "transactionStatus": {
                        "type": "string",
                        "description": "The current status of the transaction",
                        "enum": [
                            "PAYMENT_LINK_REQUEST_RECEIVED",
                            "PAYMENT_LINK_SENT",
                            "PAYMENT_LINK_DELIVERED",
                            "PAYMENT_STATUS_RECEIVED",
                            "PAYMENT_STATUS_NOTIFICATION_SENT",
                            "RECEIPT_LINK_REQUEST_RECEIVED",
                            "RECEIPT_LINK_SENT",
                            "PAYMENT_LINK_REQUEST_FAILED",
                            "PAYMENT_LINK_SENT_FAILED",
                            "PAYMENT_URL_EXPIRED",
                            "PAYMENT_LINK_DELIVERY_FAILED",
                            "PAYMENT_STATUS_NOTIFICATION_DELIVERY_SUCCESSFUL",
                            "PAYMENT_STATUS_NOTIFICATION_DELIVERY_FAILED",
                            "RECEIPT_LINK_REQUEST_FAILED",
                            "RECEIPT_LINK_SENT_FAILED",
                            "RECEIPT_LINK_DELIVERED",
                            "RECEIPT_LINK_DELIVERY_FAILED",
                            "PAYMENT_LINK_CANCELLED",
                            "PAYMENT_LINK_CLICKED"
                        ]
                    },
                    "transactionStatusId": {
                        "type": "integer",
                        "description": "The ID of the transaction status",
                        "format": "int32"
                    },
                    "error": {
                        "$ref": "#/components/schemas/ThirdPartySystemErrorResponse"
                    }
                }
            },
            "PaymentReceiptRequest": {
                "required": [
                    "paymentLinkRef",
                    "receiptLink",
                    "timestamp"
                ],
                "type": "object",
                "properties": {
                    "receiptLink": {
                        "type": "string",
                        "description": "The link that is sent to the end-user to direct them to their order receipt"
                    },
                    "paymentLinkRef": {
                        "type": "string",
                        "description": "The unique reference number for the payment link generated"
                    },
                    "timestamp": {
                        "type": "string",
                        "description": "The date and time the instruction to create the link was sent",
                        "format": "date-time"
                    }
                }
            },
            "PaymentCancellationResponse": {
                "type": "object",
                "properties": {
                    "paymentLinkRef": {
                        "type": "string",
                        "description": "Payment Link Reference Number"
                    },
                    "transactionStatus": {
                        "type": "string",
                        "description": "Transaction status of payment link"
                    },
                    "transactionStatusId": {
                        "type": "string",
                        "description": "The ID of transaction status for payment link"
                    },
                    "additionalData": {
                        "type": "string",
                        "description": "Additional data field for payment link"
                    },
                    "timestamp": {
                        "type": "string",
                        "description": "Timestamp of payment link",
                        "format": "date-time"
                    }
                }
            },
            "LineItemResponse": {
                "required": [
                    "name",
                    "unitPrice"
                ],
                "type": "object",
                "properties": {
                    "code": {
                        "maxLength": 255,
                        "minLength": 0,
                        "type": "string",
                        "description": "Type of product"
                    },
                    "name": {
                        "maxLength": 255,
                        "minLength": 0,
                        "type": "string",
                        "description": "Name of the item"
                    },
                    "quantity": {
                        "minimum": 1,
                        "type": "integer",
                        "description": "Quantity of line items",
                        "format": "int32"
                    },
                    "sku": {
                        "maxLength": 255,
                        "minLength": 0,
                        "type": "string",
                        "description": "Identification code for the product"
                    },
                    "unitPrice": {
                        "minimum": 0.0,
                        "exclusiveMinimum": true,
                        "type": "number",
                        "description": "Price of the line item"
                    },
                    "taxAmount": {
                        "minimum": 0.0,
                        "exclusiveMinimum": true,
                        "type": "number",
                        "description": "Tax amount to apply to the line item"
                    }
                },
                "description": "The list of items associated with an order, e.g. products. "
            },
            "TransactionStatusEndpointResponse": {
                "type": "object",
                "properties": {
                    "orderNumber": {
                        "type": "string",
                        "description": "The order number associated with the payment"
                    },
                    "paymentLinkRef": {
                        "type": "string",
                        "description": "The payment link reference of the transaction you requested the details for"
                    },
                    "transactionStatuses": {
                        "type": "array",
                        "description": "The list of all transaction statuses transitions",
                        "items": {
                            "$ref": "#/components/schemas/TransactionStatusEntryResponse"
                        }
                    },
                    "paymentStatuses": {
                        "type": "array",
                        "description": "The list of all payment status transitions",
                        "items": {
                            "$ref": "#/components/schemas/PaymentStatusLogResponse"
                        }
                    },
                    "paymentStatus": {
                        "type": "string",
                        "description": "The status of the payment",
                        "enum": [
                            "SUCCESS",
                            "FAILED",
                            "PENDING",
                            "UNKNOWN",
                            "REVIEW",
                            "REVERSED",
                            "VOIDED"
                        ]
                    },
                    "paymentStatusId": {
                        "type": "string",
                        "description": "The ID of the payment status"
                    },
                    "paymentStatusTimestamp": {
                        "type": "string",
                        "description": "The date and time the payment outcome from the Payment Gateway was received (ISO 8601 format)",
                        "format": "date-time"
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "The total amount of the transaction"
                    },
                    "receiptLinkRef": {
                        "type": "string",
                        "description": "The receipt link reference number for the transaction"
                    },
                    "channelName": {
                        "type": "string",
                        "description": "The name of the channel used for the transaction"
                    },
                    "currency": {
                        "type": "string",
                        "description": "The currency that the transaction was conducted in"
                    },
                    "taxAmount": {
                        "type": "number",
                        "description": "The tax amount of the transaction"
                    },
                    "subTotalAmount": {
                        "type": "number",
                        "description": "The sub-total of the transaction (before tax)"
                    },
                    "additionalData": {
                        "type": "string",
                        "description": "Any additional data over and above what is already included that you want to store in the database along with that record and/or return in the response"
                    },
                    "paymentStatusConversionTime": {
                        "type": "string",
                        "description": "This field will contain the timestamp received from the payment gateway when a transaction which was in a Review status was finalized.\n",
                        "format": "date-time"
                    },
                    "integrator": {
                        "$ref": "#/components/schemas/IntegratorResponse"
                    },
                    "paymentReviewAutoReversal": {
                        "type": "boolean",
                        "description": "Make automatically transaction reversal in case of REVIEW state",
                        "default": false
                    },
                    "transactionType": {
                        "type": "string",
                        "description": "Specifies the type of transaction that was be performed by Payment Gateway.",
                        "enum": [
                            "TransactionType.AUTHORIZATION(name=Authorization, id=1)",
                            "TransactionType.SALE(name=Sale, id=2)",
                            "TransactionType.VOID(name=Void, id=3)",
                            "TransactionType.CAPTURE(name=Capture, id=4)"
                        ]
                    },
                    "environment": {
                        "type": "string",
                        "description": "Chat 2 Pay configuration run environment (SANDBOX or PRODUCTION)"
                    },
                    "reconciliationId": {
                        "type": "string",
                        "description": "Reference number that you use to reconcile your transaction reports with your processor reports. Also known as Transaction Reference Number or TRN."
                    },
                    "merchantDescriptor": {
                        "type": "string",
                        "description": "Merchant's business name."
                    },
                    "orderLineItems": {
                        "type": "array",
                        "description": "The list of items associated with an order, e.g. products. ",
                        "items": {
                            "$ref": "#/components/schemas/LineItemResponse"
                        }
                    }
                }
            },
            "DetailedWidgetConfigResponse": {
                "type": "object",
                "properties": {
                    "updateTime": {
                        "type": "string",
                        "description": "Last modified time",
                        "format": "date-time"
                    },
                    "whatsappChannelEnabled": {
                        "type": "boolean",
                        "description": "Checks if WA omni integration is enabled"
                    },
                    "smsChannelEnabled": {
                        "type": "boolean",
                        "description": "Checks if SMS omni integration is enabled"
                    },
                    "integrators": {
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Integrators",
                        "items": {
                            "$ref": "#/components/schemas/IntegratorStatusResponse"
                        }
                    },
                    "apiKey": {
                        "type": "string",
                        "description": "Api key"
                    },
                    "supportedCurrencies": {
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Supported currencies",
                        "items": {
                            "$ref": "#/components/schemas/CurrencyResponse"
                        }
                    },
                    "environment": {
                        "type": "string",
                        "description": "Chat 2 Pay configuration run environment (SANDBOX or PRODUCTION)"
                    }
                }
            },
            "IntegratorStatusResponse": {
                "type": "object",
                "properties": {
                    "applicationId": {
                        "type": "string",
                        "description": "Unique identifier generated for each custom application the customer links to the account"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the integrator"
                    },
                    "status": {
                        "type": "string",
                        "description": "Status",
                        "enum": [
                            "ACTIVATED",
                            "DEACTIVATED",
                            "DELETED"
                        ]
                    },
                    "type": {
                        "type": "string",
                        "description": "Integrator type",
                        "enum": [
                            "OMS",
                            "CLICKATELL_PRODUCT",
                            "APPLICATION"
                        ]
                    }
                },
                "description": "Integrators"
            }
        },
        "securitySchemes": {
            "c2p": {
                "type": "apiKey",
                "description": "Chat 2 Pay API Key Authorization",
                "name": "Authorization",
                "in": "header"
            }
        }
    }
}