openapi: 3.0.3
info:
title: Globadyme-gateway
version: v0.99
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
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
|