Swagger integration |
---|
openapi: 3.0.3 info: title: Globadyme-gateway version: v0.99 999 description: The Globadyme Gateway API facilitates Global Payment acceptance for businesses, enabling them to seamlessly process transactions across various Payment methods and currencies on a worldwide scale. contact: email: onboarding@globadyme.com name: Globadyme url: https://globadyme.com/wp-content/uploads/2024/04/Globadyme-Integration-Guide.pdf servers: - url: https://sandbox.globadyme.com/api tags: - description: Payments name: globadyme-gateway-api paths: /globadymeGateway/transaction/requestPayment: post: tags: - Payment summary: Request a transaction description: Request a transaction to obtain a payment link. operationId: requestPayment requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestPaymentRequestDTO' required: true responses: "200": description: Succesful operation content: application/json: schema: $ref: '#/components/schemas/OkDTO' "404": description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' "400": description: Property missing from JSON content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' "500": description: Unable to parse JSON or encode transaction. content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' /globadymeGateway/transaction/qrcode: post: description: | Request a qrcode image for the payment tags: - Payment operationId: generateQRCodeImage requestBody: content: application/json: schema: type: string required: true responses: "200": description: OK content: image/png: schema: type: array items: type: string format: byte "400": description: Invalid input provided content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' "404": description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' /globadymeGateway/transaction/initiatePayment: post: description: | Initiate a payment, using the payment link tags: - Payment operationId: initiatePayment requestBody: content: application/json: schema: $ref: '#/components/schemas/InitiatePaymentRequestDTO' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/OkDTO' "400": description: Invalid input provided content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' "500": description: Technical error content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' /globadymeGateway/refund/initiateRefund: post: tags: - Refunds summary: Initiate a refund description: Initiate a refund on an earlier created and approve transaction operationId: initiateRefund requestBody: content: application/json: schema: $ref: '#/components/schemas/RefundRequestDTO' required: true responses: "200": description: Succesful operation content: plain/text: {} "404": description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' "400": description: Total refund amount exceeds original transaction amount content: application/json: schema: $ref: '#/components/schemas/ErrorDTO' "401": description: Authentication failure content: '*/*': schema: $ref: '#/components/schemas/OkDTO' "403": description: Autorisation failure content: '*/*': schema: $ref: '#/components/schemas/OkDTO' /api/auth/sign-in: post: tags: - Authentication operationId: signIn requestBody: content: application/json: schema: $ref: '#/components/schemas/JwtRequest' required: true responses: "200": description: OK content: '*/*': schema: $ref: '#/components/schemas/JwtResponse' "401": description: Authentication failure content: '*/*': schema: $ref: '#/components/schemas/OkDTO' /api/auth/refresh-token: post: tags: - Authentication operationId: refreshToken requestBody: content: application/json: schema: $ref: '#/components/schemas/TokenRefreshRequest' required: true responses: "200": description: OK content: '*/*': schema: $ref: '#/components/schemas/TokenRefreshResponse' /globadymeGateway/transaction/getPaymentByRequestId: get: security: - Bearer: [] tags: - Payment operationId: getPaymentByRequestId parameters: - name: getPaymentByRequestIdRequestDTO in: query required: true schema: $ref: '#/components/schemas/GetPaymentByRequestIdRequestDTO' responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/OkDTO' /globadymeGateway/common/banks: get: security: - Bearer: [] tags: - Payment - Common operationId: getBanks responses: "200": description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/BankDTO' components: securitySchemes: bearerAuth: type: http scheme: bearer name: JWT schemas: BillingAddressDTO: type: object properties: attention: type: string email: type: string city: type: string familyName: type: string givenName: type: string phoneNumber: type: string postalCode: type: string region: type: string streetAddress1: type: string streetAddress2: type: string title: type: string KlarnaSpecDTO: type: object properties: taxAmount: type: integer orderItems: uniqueItems: true type: array items: $ref: '#/components/schemas/OrderItemDTO' billingAddress: $ref: '#/components/schemas/BillingAddressDTO' OrderItemDTO: type: object properties: name: type: string quantity: type: integer format: int32 totalAmount: type: number unitPrice: type: number RecurrenceDTO: type: object properties: recurrenceFrequency: type: string enum: - DAILY - WEEKLY - MONTHLY - QUARTERLY - YEARLY recurrenceStatus: type: string enum: - ACTIVE - PAUSED - FINISHED startDate: type: string format: date recurrenceAmount: type: number transactionId: type: string description: type: string id: type: integer format: int32 SepaSpecDTO: type: object properties: iban: type: string emailAddress: type: string postalAddress: type: string RequestPaymentRequestDTO: type: object properties: transaction: $ref: '#/components/schemas/RequestPaymentRequestTransactionDTO' password: type: string RequestPaymentRequestTransactionDTO: type: object properties: merchantId: type: string amount: type: string currency: type: string country: type: string description: type: string accountHolderName: type: string emailAddress: type: string recurrence: $ref: '#/components/schemas/RecurrenceDTO' klarnaSpec: $ref: '#/components/schemas/KlarnaSpecDTO' sepaSpec: $ref: '#/components/schemas/SepaSpecDTO' transactionRecurrenceType: type: string enum: - ONETIME - FIRST - RECURRING redirectUrlSuccess: type: string redirectUrlFailed: type: string redirectUrlAborted: type: string paymentLink: type: boolean linkValidityDays: type: integer format: int32 OkDTO: description: Common Success response type: object properties: message: description: A descriptive message for the consumer type: string details: description: Key/value pair detailing the message results type: object additionalProperties: type: object ErrorDTO: description: Common Error response - In case of any error. type: object properties: message: description: A descriptive error message for the consumer type: string example: "Incorrect merchant password for merchant: x@yz.com" cause: description: Optional a Technical error type: string httpStatus: description: The http status code type: integer format: int32 example: 401 details: description: Optional a detailed description, e.g. which field was missing type: string example: Unauthorized InitiatePaymentRequestDTO: type: object properties: encryptedTransaction: type: string bank: type: string paymentMethod: type: string RequestPaymentResponseDTO: type: object properties: redirectUrl: type: string requestId: type: string RefundRequestDTO: type: object properties: refundId: type: string transactionId: type: string merchantId: type: string description: type: string amount: type: number JwtRequest: type: object properties: user: $ref: '#/components/schemas/User' User: type: object properties: username: type: string password: type: string JwtResponse: type: object properties: accessToken: type: string tokenType: type: string refreshToken: type: string userId: type: string roles: type: array items: type: string enum: - ROLE_ADMIN - ROLE_CLIENT TokenRefreshRequest: type: object properties: refreshToken: type: string TokenRefreshResponse: type: object properties: accessToken: type: string refreshToken: type: string tokenType: type: string GetPaymentByRequestIdRequestDTO: type: object properties: requestId: type: string password: type: string merchantId: type: string BankDTO: type: object properties: displayName: type: string name: type: string ibanAbbreviation: type: string BIC: type: string PaymentMethodDTO: type: object properties: name: type: string displayName: type: string hasRecurring: type: boolean countries: uniqueItems: true type: array items: type: string overrideCountry: type: boolean TransactionSummaryDTO: type: object properties: id: type: string created: type: string format: date-time status: type: string amount: type: number currency: type: string country: type: string paymentMethod: $ref: '#/components/schemas/PaymentMethodDTO' bank: $ref: '#/components/schemas/BankDTO' description: type: string iban: type: string accountholderName: type: string transactionRecurrenceType: type: string failReason: type: string emailAddress: type: string linkId: type: string GetPaymentByRequestIdResponseTransactionDTO: type: object properties: id: type: string created: type: string format: date-time status: type: string amount: type: number currency: type: string country: type: string paymentMethod: type: string accountholderName: type: string requestId: type: string |
...