openapi: 3.0.3
info:
title: Globadyme-gateway
version: v0.99 9999
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: description: "200":The body must always contain the transaction and description: Succesful operationpassword."
contentresponses:
application/json"200":
schemadescription: |
$ref: '#/components/schemas/OkDTO'Succesful operation<br/>
"404": The response contains the redirect URL and description:a Notunique foundrequestId.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTOOkDTO'
"400": examples:
description: Property missing from JSON payment:
content: application/json summary: Request a payment
schema: value: |
$ref: '#/components/schemas/ErrorDTO' "500": {
description: Unable to parse JSON or encode transaction. content"message": "OK",
application/json: schema"details": {
$ref: '#/components/schemas/ErrorDTO' /globadymeGateway/transaction/qrcode: post"requestId": "623277d0-464b-4e72-8632-2b9a284c699d",
description: | Request a qrcode image for the payment tags:
"redirectUrl": "https://localhost:8028/pay?data=0f628643a49a71ce...1d023822ec5f02f2587057fe"
- Payment operationId: generateQRCodeImage requestBody:}
content: application/json: }
schema: paymentLink:
type: string requiredsummary: trueRequest a payment link
responses: "200": value: |
description: OK content: {
image/png: schema"message": "OK",
type: array "details": {
items: type: string"requestId": "129294ac-ec36-4155-addd-697be68ec8aa",
format: byte
"400redirectUrl": "https://localhost:8028/api/link?id=BH3IiBlBN2XjaqWR"
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: descriptionexamples:
| Initiate a payment, using the payment link UNKNOWN:
tags: - Payment operationIdsummary: initiatePaymentWhenever the given merchant is unknown
requestBody: content: application/jsonvalue: |
schema: {
$ref: '#/components/schemas/InitiatePaymentRequestDTO' required: true responses"message": "Merchant not found with "200":id 7699cab7-2dfa-4981-9c90-0d0c93c801ac",
description: OK content:"httpStatus": 404,
application/json: "details": "Not Found"
schema: $ref: '#/components/schemas/OkDTO' }
"400401":
description: InvalidUnauthorized
input provided content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
"500":
description: Technical error
content: passwd:
summary: Wrong password provided
value: |
{
"message": "Incorrect merchant password for merchant: x@yz.com",
"httpStatus": 401,
"details": "Unauthorized"
}
"400":
description: >-
Bad Request
Property wrong or missing from JSON, for example UUID string too large.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
UUID:
summary: Wrong UUID provided
value: |
{
"message": "UUID string too large",
"cause": "UUID string too large",
"httpStatus": 400,
"details": "/globadymeGateway/transaction/requestPayment"
}
JSON:
summary: Invalid JSON provided
value: |
{
"message": "JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start field name",
"cause": "JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start field name",
"httpStatus": 400,
"details": "/globadymeGateway/transaction/requestPayment"
}
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"429":
$ref: '#/components/responses/tooManyRequests'
"500":
$ref: '#/components/responses/unexpectedError'
/globadymeGateway/transaction/qrcode:
post:
description: Request a qrcode image for the payment
security:
- Bearer: []
tags:
- Payment
operationId: generateQRCodeImage
requestBody:
content:
application/json:
schema:
type: string
example: |
id=BVvBVE41t7t1YnBQ
required: true
responses:
"200":
description: OK
content:
image/png:
schema:
description: Return a generated qr-code image for the payment as a binary string
type: array
items:
type: string
format: byte
"400":
description: Invalid input provided
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
UUID:
summary: Wrong UUID provided
value: |
{
"message": "UUID string too large",
"cause": "UUID string too large",
"httpStatus": 400,
"details": "/globadymeGateway/transaction/requestPayment"
}
JSON:
summary: Invalid JSON provided
value: |
{
"message": "JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start field name",
"cause": "JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start field name",
"httpStatus": 400,
"details": "/globadymeGateway/transaction/requestPayment"
}
"404":
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
UNKNOWN:
summary: Whenever the given merchant is unknown
value: |
{
"message": "Merchant not found with id 7699cab7-2dfa-4981-9c90-0d0c93c801ac",
"httpStatus": 404,
"details": "Not Found"
}
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"429":
$ref: '#/components/responses/tooManyRequests'
"500":
$ref: '#/components/responses/unexpectedError'
/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'
example: |
{
"encryptedTransaction": "0f628643a49a71cecb16d1a604008...2ecd4b64724abda392abd80f8388bae1b",
"paymentMethod": "IDEAL"
}
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OkDTO'
example: |
{
"message": "payment",
"details": {
"redirectUrl": "https://r3.girogate.de/ti/simideal?tx=140250159191&rs=VT5S...6d231184",
"id": "d549d14f-2827-4579-8a03-57077bc7cda7"
}
}
"400":
description: Invalid input provided
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
expired:
summary: The request for this payment has expired
value: |
{
"message": "The requested payment has expired",
"httpStatus": 400,
"details": "Bad Request"
}
paymentMethod:
summary: No payment method provided
value: |
{
"message": "Missing or invalid payment method provided!",
"httpStatus": 400,
"details": "Bad Request"
}
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"500":
$ref: '#/components/responses/unexpectedError'
/globadymeGateway/refund/initiateRefund:
post:
tags:
- Refunds
summary: Initiate a refund
description: Initiate a refund on an earlier created and approved transaction
operationId: initiateRefund
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RefundRequestDTO'
example: |
{
"transactionId": "9378c831-dac4-4169-9210-065a70ef7b13",
"merchantId": "d549d14f-2827-4579-8a03-57077bc7cda7",
"description": "Return this article",
"amount": 123.45
}
required: true
responses:
"200":
description: Succesful operation
content:
application/json:
schema:
$ref: '#/components/schemas/OkDTO'
examples:
success:
summary: refund succeeded
value: |
{
"message": "refund",
"details": {
"status": "SUCCEEDED"
}
}
"404":
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
merchant:
summary: merchant not found
value: |
{
"message": "Refund no merchant found for merchantId",
"httpStatus": 404,
"details": "Not Found"
}
transaction:
summary: transaction not found
value: |
{
"message": "Refund no transaction found for transactionId",
"httpStatus": 404,
"details": "Not Found"
}
exceeded:
summary: total amount exceeds original amount
value: |
{
"message": "Total refund amount: 200.12 exceeds original transactionId amount: 123.00",
"httpStatus": 400,
"details": "Bad Request"
}
"400":
description: Invalid input provided
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
desc:
summary: description empty
value: |
{
"message": "Refund description is empty.",
"httpStatus": 400,
"details": "Bad Request"
}
merchant:
summary: merchant empty
value: |
{
"message": "Refund merchantId is empty.",
"httpStatus": 400,
"details": "Bad Request"
}
transaction:
summary: transaction empty
value: |
{
"message": "Refund transactionId is empty.",
"httpStatus": 400,
"details": "Bad Request"
}
amount:
summary: amount empty or negative
value: |
{
"message": "Refund amount is empty or less then 0.00.",
"httpStatus": 400,
"details": "Bad Request"
}
"401":
$ref: '#/components/responses/authenticationFailure'
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"500":
$ref: '#/components/responses/unexpectedError'
/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:
application/json:
schema:
$ref: '#/components/schemas/JwtResponse'
"401":
description: Authentication failure
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
example: |
{
"message": "Could not sign in. User/password combination wrong",
"httpStatus": 401,
"details": "Unauthorized"
}
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"500":
$ref: '#/components/responses/unexpectedError'
/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:
application/json:
schema:
$ref: '#/components/schemas/TokenRefreshResponse'
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"500":
$ref: '#/components/responses/unexpectedError'
/globadymeGateway/transaction/getPaymentByRequestId:
get:
tags:
- Payment
operationId: getPaymentByRequestId
parameters:
- name: getPaymentByRequestIdRequestDTO
in: query
required: true
schema:
$ref: '#/components/schemas/GetPaymentByRequestIdRequestDTO'
example: |
{
"requestId": "04f5faf0-e46c-4a8e-82e6-d69c1ab434bc",
"password": "merchantPassword",
"merchantId": "9378c831-dac4-4169-9210-065a70ef7b13"
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OkDTO'
examples:
found:
summary: items found
value: |
{
"message": "PaymentByRequestId",
"details": {
"requestId": "04f5faf0-e46c-4a8e-82e6-d69c1ab434ac",
"transactions": [
{
"id": "9378c831-dac4-4169-9210-065a70ef7b13",
"created": "2024-06-17T14:24:31.801722Z",
"status": "PENDING",
"amount": 368.00,
"currency": "EUR",
"country": "NL",
"paymentMethod": "iDEAL",
"accountholderName": "Oebele de Rekeninghouder",
"requestId": "04f5faf0-e46c-4a8e-82e6-d69c1ab434ac",
"settled": true,
"settlementDate": "2024-01-28T06:00:00.572957294Z",
"settlementId": "1-912-W-2024-3-C0"
}
]
}
}
none:
summary: none found
value: |
{
"message": "PaymentByRequestId",
"details": {
"requestId": "04f5faf0-e46c-4a8e-82e6-d69c1ab434bc"
}
}
"401":
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
passwd:
summary: Wrong password provided
value: |
{
"message": "Incorrect merchant password for merchant: x@yz.com",
"httpStatus": 401,
"details": "Unauthorized"
}
"404":
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
examples:
UNKNOWN:
summary: Whenever the given merchant is unknown
value: |
{
"message": "Merchant not found with id 7699cab7-2dfa-4981-9c90-0d0c93c801ac",
"httpStatus": 404,
"details": "Not Found"
}
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"500":
$ref: '#/components/responses/unexpectedError'
/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'
example: |
[
{
"displayName": "Nationale Nederlanden",
"name": "NN",
"ibanAbbreviation": "NNBA",
"BIC": "NNBANL2G"
},
{
"displayName": "ING",
"name": "ING",
"ibanAbbreviation": "INGB",
"BIC": "INGBNL2A"
}
]
"401":
$ref: '#/components/responses/authenticationFailure'
"405":
$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/responses/notAcceptable'
"415":
$ref: '#/components/responses/unsupportedMediaType'
"500":
$ref: '#/components/responses/unexpectedError'
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
name: JWT
responses:
authenticationFailure:
description: Authentication failure
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
example: |
{
"message": "Expired or invalid JWT token",
"httpStatus": 401,
"details": "Unauthorized"
}
methodNotSupported:
description: Method not supported.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
example: |
{
"message": "Request method 'GET' is not supported",
"cause": "Request method 'GET' is not supported",
"httpStatus": 405,
"details": "/globadymeGateway/transaction/requestPayment"
}
notAcceptable:
description: Not acceptable.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
unsupportedMediaType:
description: Media type not supported.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
example: |
{
"message": "Content-Type 'text/plain;charset=UTF-8' is not supported",
"cause": "Content-Type 'text/plain;charset=UTF-8' is not supported",
"httpStatus": 415,
"details": "/globadymeGateway/transaction/requestPayment"
}
tooManyRequests:
description: Too many requests.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
example: |
{
"message": "To many request at endpoint /globadymeGateway/transaction/requestPayment from IP 127.0.0.1! Please try again after 60000 milliseconds!",
"cause": "To many request at endpoint /globadymeGateway/transaction/requestPayment from IP 127.0.0.1! Please try again after 60000 milliseconds!",
"httpStatus": 429,
application/json"details": "/globadymeGateway/transaction/requestPayment"
}
schema:
unexpectedError:
description: Internal Server Error.
$ref: '#/components/schemas/ErrorDTO' /globadymeGateway/refund/initiateRefundcontent:
post: tagsapplication/json:
- Refunds schema:
summary: Initiate a refund description$ref: Initiate a refund on an earlier created and approve transaction'#/components/schemas/ErrorDTO'
schemas:
operationIdBillingAddressDTO: initiateRefund
requestBodyrequired:
- attention
content: - email
application/json: - city
- familyName
schema: - givenName
- phoneNumber
$ref: '#/components/schemas/RefundRequestDTO' - postalCode
required: true - region
responses: - streetAddress1
"200": - title
descriptiontype: object
Succesful operation properties:
content: attention:
plain/textdescription: {}the attention string, for example the department of the "404":addressee
descriptiontype: Notstring
found email:
content: description: Customer e-mailaddress
application/json: type: string
schema: example: 'customer@example.com'
city:
$ref: '#/components/schemas/ErrorDTO' "400"type: string
descriptionexample: Total refund amount exceeds original transaction amount'Goirle'
familyName:
contenttype: string
application/json:example: 'Janssen'
givenName:
schema: type: string
$refexample: '#/components/schemas/ErrorDTOPiet'
"401"phoneNumber:
descriptiontype: Authenticationstring
failure example: content:'+1234567890'
postalCode:
'*/*'type: string
example: '1234AB'
schema: region:
$reftype: '#/components/schemas/OkDTO'string
"403"example: 'North-East'
descriptionstreetAddress1: Autorisation
failure contenttype: string
example: '*/*':Kasteelstraat 123'
streetAddress2:
schema: type: string
$refexample: '#/components/schemas/OkDTOApartment 13'
/api/auth/sign-in: posttitle:
tags: type: string
- Authentication operationId: signIn
requestBody:
example: 'Mr.'
contentKlarnaSpecDTO:
application/jsondescription: In order to be able to process Klarna payments, this field and schema:its sub elements must be filled.
required:
$ref: '#/components/schemas/JwtRequest' - orderItems
required: true - billingAddress
responses: type: object
"200": properties:
descriptiontaxAmount:
OK contenttype: integer
orderItems:
'*/*': description: |
schema: A list of the items being ordered. Note that the sum $ref: '#/components/schemas/JwtResponse'
of the totalAmounts must
"401": add up to the description:total Authenticationtransaction failureamount. If not, the payment request wil be rejected
content: uniqueItems: true
'*/*': type: array
schema: items:
$ref: '#/components/schemas/OkDTO'
/api/auth/refresh-token:/OrderItemDTO'
post: billingAddress:
tags: - Authentication
$ref: '#/components/schemas/BillingAddressDTO'
operationIdOrderItemDTO: refreshToken
requestBodyrequired:
- name
content: - quantity
application/json: - totalAmount
- unitPrice
schema: type: object
properties:
$ref: '#/components/schemas/TokenRefreshRequest' name:
required: true responsestype: string
"200"quantity:
descriptiontype: OKinteger
contentformat: int32
'*/*'totalAmount:
description: The total amount schema:in cents
type: number
$ref: '#/components/schemas/TokenRefreshResponse' /globadymeGateway/transaction/getPaymentByRequestId:unitPrice:
getdescription: Unit price in cents
security: - Bearertype: []number
tagsRecurrenceDTO:
-type: Paymentobject
operationIdproperties:
getPaymentByRequestId parametersrecurrenceFrequency:
- nametype: getPaymentByRequestIdRequestDTOstring
in: query enum:
required: true - DAILY
schema: - WEEKLY
$ref: '#/components/schemas/GetPaymentByRequestIdRequestDTO' - MONTHLY
responses: "200": - QUARTERLY
description: OK - YEARLY
contentrecurrenceStatus:
type: string
application/json: enum:
schema: - ACTIVE
$ref: '#/components/schemas/OkDTO'- PAUSED
/globadymeGateway/common/banks: get: - FINISHED
security: startDate:
- Bearer: [] tagstype: string
- Payment format: date
- Common recurrenceAmount:
operationId: getBanks responsestype: number
"200" transactionId:
descriptiontype: OKstring
description:
content: type: string
application/json: id:
schematype: integer
format: int32
type SepaSpecDTO:
array description: Container for SEPA payments.
itemsrequired:
- iban
- emailAddress
$ref: '#/components/schemas/BankDTO' components:- postalAddress
securitySchemes: bearerAuthtype: object
typeproperties:
http schemeiban:
bearer name: JWT schemasdescription: The buyer's IBAN.
BillingAddressDTO: type: objectstring
properties: example: 'ES9121000418450200051332'
attention: emailAddress:
type: string description: The buyer's email email:address.
type: string
cityexample: 'customer@example.com'
postalAddress:
type: string familyNamedescription: The buyer's postal address.
type: string
givenName: example: 'Customerstreet 13, 1234AB Customercity'
typeRequestPaymentRequestDTO: string
phoneNumbertype: object
required:
type: string - transaction
postalCode: - password
typeproperties:
string transaction:
region: type: string$ref: '#/components/schemas/RequestPaymentRequestTransactionDTO'
streetAddress1password:
type: string
streetAddress2 description: Password to authenticate this merchant
type: string example: 'MerchantTestPassword'
titleRequestPaymentRequestTransactionDTO:
description:
type: string KlarnaSpecDTO:Holds the detail for this payment
type: object required:
properties: - merchantId
taxAmount: - amount
type: integer - currency
orderItems: - country
uniqueItems: true - description
type: array - accountHolderName
itemstype: object
properties:
$ref: '#/components/schemas/OrderItemDTO' merchantId:
billingAddress: type: string
$ref: '#/components/schemas/BillingAddressDTO' OrderItemDTOdescription: UUID to identify this merchant
type: object propertiesexample: '7699cab7-2dfa-4981-9c90-0d0c93c801ac'
name amount:
type: string
quantitydescription: An amount for the payment. The decimal separator must be a type: integerdot '.'
formatexample: int32'123.45'
totalAmountcurrency:
type: string
number unitPricepattern: '[A-Z]{3,3}'
type example: number
'EUR'
RecurrenceDTO: typedescription: object'3 Letter ISO Currency Code: ISO 4217 properties:code'
recurrenceFrequencycountry:
type: string
enumpattern: - DAILY
'[A-Z]{2,2}'
- WEEKLY example: 'NL'
- MONTHLY description: '2 Letter ISO Country Code: ISO 3166 code'
- QUARTERLY description:
- YEARLY type: string
recurrenceStatus: description: 'A type:descriptive string for this transaction'
enum: example: 'Test payment'
- ACTIVE accountHolderName:
- PAUSED type: string
- FINISHED description: 'Name of the startDate:account holder'
typeexample: string'Test account holder'
formatemailAddress:
date recurrenceAmounttype: string
typeexample: number'klant@yourshop.com'
transactionIdrecurrence:
type$ref: string'#/components/schemas/RecurrenceDTO'
descriptionklarnaSpec:
type$ref: string'#/components/schemas/KlarnaSpecDTO'
idsepaSpec:
type$ref: integer'#/components/schemas/SepaSpecDTO'
format: int32
transactionRecurrenceType:
SepaSpecDTO: type: objectstring
properties: enum:
iban: - ONETIME
type: string - FIRST
emailAddress: - RECURRING
type: string postalAddressdescription:
type: string This will default to RequestPaymentRequestDTO:ONETIME if not present. For recurring payments, type:
object properties: this field needs to transaction:be present and filled with FIRST. This will then
$ref: '#/components/schemas/RequestPaymentRequestTransactionDTO' password: be the first in a series of recurring payments, also type:serving stringas the
RequestPaymentRequestTransactionDTO: type: object mandate for future payments. Scheduling properties:and execution of subsequent
merchantId: recurrences are handled type:by stringGlobadyme according to parameters set in
amount: the type:next stringfield.
currencyredirectUrlSuccess:
type: string
countrydescription: Optional specific url to redirect to in case of a type:successful stringtransaction.
descriptionredirectUrlFailed:
type: string
accountHolderNamedescription: Optional specific url to redirect to in case of a type:failed stringtransaction.
emailAddressredirectUrlAborted:
type: string
recurrence: $ref: '#/components/schemas/RecurrenceDTO'
klarnaSpec:
description: Optional specific url to redirect to in case of an aborted transaction.
$refpaymentLink: '#/components/schemas/KlarnaSpecDTO'
sepaSpectype: boolean
$refdescription: '#/components/schemas/SepaSpecDTO'
transactionRecurrenceType: Flag to choose between a payment link and a type: string
one-time or recurring
enum: payment. A value of true will return a -payment ONETIMElink
linkValidityDays:
- FIRST type: integer
- RECURRING redirectUrlSuccessformat: int32
type description:
string redirectUrlFailed: The amount of days the payment link will type:be stringvalid. Default value redirectUrlAborted:is 14.
OkDTO:
typedescription: stringCommon Success response
paymentLinktype: object
properties:
type: boolean message:
linkValidityDays: description: A descriptive message for type:the integerconsumer
formattype: int32string
OkDTO: descriptionexample: Common'OK'
Success response typedetails:
object properties: description: Key/value pair detailing the message message:results
descriptiontype: Aobject
descriptive message for the consumer additionalProperties:
type: string type: object
details: example:
description: Key/value pair detailing the message results redirectUrl: "https://dev.globadyme.com/pay?data=0f6286...ad990f4"
type: object requestId: "9694c0c8-d411-4d3d-af08-2b0d21ba9521"
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: "IncorrectError merchantprocessing password for merchant: x@yz.comencoded transaction"
cause:
description: Optional a Technical error
type: string: string
httpStatus:
description: The http status code
type: integer
format: int32
example: 500
httpStatusdetails:
description: The http status code Optional a detailed description, e.g. which field was missing
type: integerstring
formatexample: int32Internal Server Error
example: 401|
details:{
description: Optional a detailed description, e.g. which field was missing"message": "Error processing encoded transaction: Unable to deserialise",
"httpStatus": 500,
type: string "details": "Internal Server Error"
example: Unauthorized InitiatePaymentRequestDTO:}
typeInitiatePaymentRequestDTO:
object propertiestype: object
encryptedTransactionrequired:
- encryptedTransaction
type: string - paymentMethod
bank: properties:
typeencryptedTransaction: string
paymentMethod: description: The encrypted transaction as received in the return type:url string
from '/globadymeGateway/transaction/requestPayment'
RequestPaymentResponseDTO: type: object
string
properties: bank:
redirectUrl: description: The name of the bank.
type: string requestIdtype: string
typeexample: string'ING'
RefundRequestDTO: paymentMethod:
type: object propertiesdescription: The payment method as chosen by the refundId:consumer.
type: string
transactionId: enum:
type: string - IDEAL
merchantId: - PAYPAL
type: string - KLARNA
description: - CREDITCARD
type: string - EPS
amount: type: number
JwtRequest:- GIROPAY
type: object - SOFORT
properties: - PAYCONIQ
user: - $ref: '#/components/schemas/User'SEPA
User: - BANCONTACT
type: object RefundRequestDTO:
properties: description: Object to request a refund
username: required:
type: string - transactionId
password:- merchantId
- description
type: string - JwtResponse:amount
type: object
properties:
accessTokenrefundId:
type: string
tokenTypetransactionId:
type: string
refreshTokenmerchantId:
type: string
userIddescription:
type: string
rolesamount:
type: arraynumber
itemsJwtRequest:
description: Request an jwt token to type:authorise stringsubsequent requests
enumrequired:
- user
- ROLE_ADMIN type: object
properties:
- ROLE_CLIENT TokenRefreshRequestuser:
type$ref: object'#/components/schemas/User'
propertiesexample: |
refreshToken:{
type"user": {
string TokenRefreshResponse: type"username": object"merchant@merchandise.shop",
properties: "password": "merchantPassword"
accessToken: }
type: string }
refreshToken: User:
description: Object type:to stringidentify a merchant/user
tokenTyperequired:
- username
type: string - password
GetPaymentByRequestIdRequestDTO: type: object
properties:
requestIdusername:
type: string
password:
type: string
merchantIdJwtResponse:
description: Object containing tokens type:to stringauthorise a BankDTO:merchant/user
type: object
properties:
displayNameaccessToken:
type: string
nametokenType:
type: string
ibanAbbreviationrefreshToken:
type: string
BICuserId:
type: string
PaymentMethodDTO: roles:
type: object propertiestype: array
nameitems:
type: string
displayName enum:
type: string - ROLE_ADMIN
hasRecurring: - ROLE_MERCHANT
type: boolean - countries:ROLE_CLIENT
uniqueItemsexample: true|
type: array {
items: "accessToken": "eyJhbGciOiJIUzI1NiJ...Bruizs7XwzPRzMBdQoKj2WNAJrZ9XlH8",
type: string overrideCountry"tokenType": "Bearer",
type: boolean TransactionSummaryDTO:"refreshToken": "c84e512...1128b62a2",
type: object properties"userId": "9694c0c8-d411-4d3d-af08-2b0d21ba9521",
id: "roles": [
type: string created: "ROLE_MERCHANT",
type: string "ROLE_CLIENT"
format: date-time status: ]
type: string } amount:
typeTokenRefreshRequest:
number description: Request a currency:new accessToken
required:
type: string - refreshToken
country: type: object
typeproperties:
string paymentMethodrefreshToken:
$reftype: '#/components/schemas/PaymentMethodDTO'string
bankexample: |
{
$ref: '#/components/schemas/BankDTO' description"refreshToken": "refreshToken"
type:}
string TokenRefreshResponse:
iban: type: object
typeproperties:
string accountholderNameaccessToken:
type: string
transactionRecurrenceTyperefreshToken:
type: string
failReasontokenType:
type: string
emailAddressexample: |
{
type: string linkId:"accessToken": "eyJhbGciOiJIUzI1...Lw4VDWjcPBuN01IQZMIWDAdtLZLNfDdgAIM",
type"refreshToken": string"78738b...7e085618",
GetPaymentByRequestIdResponseTransactionDTO: type"tokenType": object"Bearer"
properties: }
idGetPaymentByRequestIdRequestDTO:
type: stringobject
createdproperties:
typerequestId:
string formattype: date-timestring
statuspassword:
type: string
amountmerchantId:
type: numberstring
BankDTO:
currency: type: object
typeproperties:
string countrydisplayName:
type: string
paymentMethodname:
type: string
accountholderNameibanAbbreviation:
type: string
requestIdBIC:
type: string
|