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
- url: https://dev.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 password."
description: Succesful operation 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: "details": {
schema: $ref: '#/components/schemas/ErrorDTO' /globadymeGateway/transaction/qrcode:
"requestId": "623277d0-464b-4e72-8632-2b9a284c699d",
post: description: | Request a qrcode image for the payment"redirectUrl": "https://localhost:8028/pay?data=0f628643a49a71ce...1d023822ec5f02f2587057fe"
tags: - Payment operationId:}
generateQRCodeImage requestBody: content: }
application/json: schemapaymentLink:
type: string summary: Request a payment link
required: true responses: "200"value: |
description: OK {
content: image/png: "message": "OK",
schema: type"details": array{
items: "requestId": "129294ac-ec36-4155-addd-697be68ec8aa",
type: string format: byte
"400":"redirectUrl": "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 paymentUNKNOWN:
link tags: - Payment summary: Whenever the given operationId:merchant initiatePaymentis unknown
requestBody: content: value: |
application/json: schema: {
$ref: '#/components/schemas/InitiatePaymentRequestDTO' required: true
"message": "Merchant not found with id 7699cab7-2dfa-4981-9c90-0d0c93c801ac",
responses: "200": description"httpStatus": OK404,
content: application/json"details": "Not Found"
schema: $ref: '#/components/schemas/OkDTO'}
"400401":
description: InvalidUnauthorized
input provided content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
"500": examples:
description: Technical error contentpasswd:
application/json: summary: Wrong password provided
schema: value: |
$ref: '#/components/schemas/ErrorDTO' /globadymeGateway/refund/initiateRefund: post: {
tags: - Refunds summary: Initiate a refund "message": "Incorrect merchant password for descriptionmerchant: Initiatex@yz.com",
a refund on an earlier created and approve transaction operationId: initiateRefund requestBody:"httpStatus": 401,
content: application/json: "details": "Unauthorized"
schema: }
$ref: '#/components/schemas/RefundRequestDTO' required: true responses:
"200400":
description: Succesful>-
operation content: Bad Request
plain/text: {} Property wrong or missing from JSON, for example "404":UUID string description: Not foundtoo large.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
"400": examples:
description: Total refund amount exceeds original transaction amount UUID:
content: application/jsonsummary: Wrong UUID provided
schema: value: |
$ref: '#/components/schemas/ErrorDTO' "401": {
description: Authentication failure content"message": "UUID string too large",
'*/*': schema:
"cause": "UUID string too large",
$ref: '#/components/schemas/OkDTO' "403httpStatus": 400,
description: Autorisation failure content"details": "/globadymeGateway/transaction/requestPayment"
'*/*': }
schema: JSON:
$ref: '#/components/schemas/OkDTO' /api/auth/sign-in: post: tagssummary: Invalid JSON provided
- Authentication operationId: signIn requestBodyvalue: |
content: application/json: {
schema: "message": "JSON parse $referror: '#/components/schemas/JwtRequest'
required: trueUnexpected character ('}' (code 125)): was expecting double-quote to start field name",
responses: "200": "cause": "JSON parse error: Unexpected description: OK
content:character ('}' (code 125)): was expecting double-quote to start field name",
'*/*': "httpStatus": 400,
schema: $ref"details": '#"/componentsglobadymeGateway/schemastransaction/JwtResponse'requestPayment"
"401": description: Authentication}
failure content:
'*/*': "405":
schema$ref: '#/components/responses/methodNotSupported'
"406":
$ref: '#/components/schemasresponses/OkDTO'
/api/auth/refresh-token:
post:
tags:
- Authentication
operationId: refreshToken
requestBody:
content:
application/json:
schema:
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,
"details": "/globadymeGateway/transaction/requestPayment"
}
unexpectedError:
description: Internal Server Error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDTO'
schemas:
BillingAddressDTO:
required:
- attention
- email
- city
- familyName
- givenName
- phoneNumber
- postalCode
- region
- streetAddress1
- title
type: object
properties:
attention:
description: the attention string, for example the department of the addressee
type: string
email:
description: Customer e-mailaddress
type: string
example: 'customer@example.com'
city:
type: string
example: 'Goirle'
familyName:
type: string
example: 'Janssen'
givenName:
type: string
example: 'Piet'
phoneNumber:
type: string
example: '+1234567890'
postalCode:
type: string
example: '1234AB'
region:
type: string
example: 'North-East'
streetAddress1:
type: string
example: 'Kasteelstraat 123'
streetAddress2:
type: string
example: 'Apartment 13'
title:
type: string
example: 'Mr.'
KlarnaSpecDTO:
description: In order to be able to process Klarna payments, this field and its sub elements must be filled.
required:
- orderItems
- billingAddress
type: object
properties:
taxAmount:
type: integer
orderItems:
description: |
A list of the items being ordered. Note that the sum of the totalAmounts must
add up to the total transaction amount. If not, the payment request wil be rejected
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/OrderItemDTO'
billingAddress:
$ref: '#/components/schemas/TokenRefreshRequestBillingAddressDTO'
OrderItemDTO:
required:
true - responses:name
- quantity
"200": - totalAmount
description: OK - unitPrice
contenttype: object
properties:
'*/*': name:
schematype: string
quantity:
$ref: '#/components/schemas/TokenRefreshResponse' type: integer
/globadymeGateway/transaction/getPaymentByRequestId: get: format: int32
security: - BearertotalAmount:
[] tagsdescription: The total amount in cents
- Payment operationIdtype: getPaymentByRequestIdnumber
parameters: unitPrice:
- name: getPaymentByRequestIdRequestDTO description: Unit price in cents
in: query requiredtype: truenumber
RecurrenceDTO:
schema: type: object
$refproperties: '#/components/schemas/GetPaymentByRequestIdRequestDTO'
responsesrecurrenceFrequency:
"200": type: string
descriptionenum:
OK - DAILY
content: - WEEKLY
application/json: - MONTHLY
schema: - QUARTERLY
$ref: '#/components/schemas/OkDTO'- YEARLY
/globadymeGateway/common/banks: getrecurrenceStatus:
securitytype: string
- Bearer: [] enum:
tags: - PaymentACTIVE
- Common - PAUSED
operationId: getBanks - responses:FINISHED
"200"startDate:
descriptiontype: OKstring
contentformat: date
recurrenceAmount:
application/json: type: number
schema: transactionId:
type: string
type: array description:
itemstype: string
id:
$ref type: '#/components/schemas/BankDTO' integer
components: securitySchemes: bearerAuthformat: int32
typeSepaSpecDTO:
http schemedescription: bearerContainer for SEPA payments.
name: JWT schemasrequired:
BillingAddressDTO: - iban
type: object - emailAddress
properties: - postalAddress
attention: type: object
typeproperties: string
emailiban:
typedescription: string The buyer's IBAN.
citytype: string
typeexample: string'ES9121000418450200051332'
familyNameemailAddress:
typedescription: stringThe buyer's email address.
givenName: type: string
type: string example: 'customer@example.com'
phoneNumber: postalAddress:
type: string description: The buyer's postal postalCode:address.
type: string
region: example: 'Customerstreet 13, 1234AB Customercity'
typeRequestPaymentRequestDTO:
string streetAddress1type: object
required:
type: string - transaction
streetAddress2: - password
typeproperties:
string titletransaction:
type: string$ref: '#/components/schemas/RequestPaymentRequestTransactionDTO'
KlarnaSpecDTO: password:
type: object propertiestype: string
taxAmount: description: Password to authenticate this merchant
type: integer example: 'MerchantTestPassword'
orderItems: RequestPaymentRequestTransactionDTO:
uniqueItemsdescription: true
Holds the type:detail arrayfor this payment
itemsrequired:
- merchantId
$ref: '#/components/schemas/OrderItemDTO' - amount
billingAddress: - currency
$ref: '#/components/schemas/BillingAddressDTO' - OrderItemDTO:country
type: object - description
properties: - accountHolderName
name: type: object
typeproperties:
string quantitymerchantId:
type: integerstring
formatdescription: int32UUID to identify totalAmount:this merchant
typeexample: number'7699cab7-2dfa-4981-9c90-0d0c93c801ac'
unitPriceamount:
type: numberstring
RecurrenceDTO: typedescription: objectAn amount for the payment. The decimal properties:separator must be a dot '.'
recurrenceFrequency: typeexample: string'123.45'
currency:
enum: type: string
- DAILY pattern: - WEEKLY'[A-Z]{3,3}'
example: -'EUR'
MONTHLY description: -'3 QUARTERLYLetter ISO Currency Code: ISO 4217 code'
- YEARLY recurrenceStatuscountry:
type: string
enumpattern:
'[A-Z]{2,2}'
- ACTIVE example: 'NL'
- PAUSED description: '2 Letter ISO Country Code: ISO 3166 - FINISHEDcode'
startDatedescription:
type: string
formatdescription: date'A descriptive string for this transaction'
recurrenceAmount: example: 'Test payment'
type: number transactionIdaccountHolderName:
type: string
description: 'Name of the account holder'
typeexample: string'Test account holder'
idemailAddress:
type: integerstring
formatexample: int32'klant@yourshop.com'
SepaSpecDTO: recurrence:
type: object properties:$ref: '#/components/schemas/RecurrenceDTO'
ibanklarnaSpec:
type$ref: string'#/components/schemas/KlarnaSpecDTO'
emailAddresssepaSpec:
type$ref: string'#/components/schemas/SepaSpecDTO'
postalAddresstransactionRecurrenceType:
type: string
RequestPaymentRequestDTO: typeenum:
object properties: - ONETIME
transaction: - FIRST
$ref: '#/components/schemas/RequestPaymentRequestTransactionDTO' - password:RECURRING
typedescription:
string RequestPaymentRequestTransactionDTO: type:This objectwill default to ONETIME if not present. properties:For recurring payments,
merchantId: this field needs to type:be stringpresent and filled with amount:
type: stringFIRST. This will then
currency: be the first in a series of recurring payments, type:also stringserving as the
country: mandate for future payments. type:Scheduling stringand execution of subsequent
description: recurrences are handled type:by stringGlobadyme according to parameters set in
accountHolderName: the type:next stringfield.
emailAddressredirectUrlSuccess:
type: string
recurrencedescription: Optional specific url to redirect to in case of a $ref: '#/components/schemas/RecurrenceDTO'successful transaction.
klarnaSpecredirectUrlFailed:
$reftype: '#/components/schemas/KlarnaSpecDTO'string
sepaSpecdescription: Optional specific url to redirect to in case of a $ref: '#/components/schemas/SepaSpecDTO'failed transaction.
transactionRecurrenceTyperedirectUrlAborted:
type: string
enumdescription: Optional specific url to redirect to in case of an -aborted ONETIMEtransaction.
paymentLink:
- FIRST type: boolean
- RECURRING redirectUrlSuccessdescription:
type: string Flag to choose between a payment link redirectUrlFailed:and a one-time or recurring
type: string payment. A value of true will return a redirectUrlAborted:payment link
typelinkValidityDays:
string paymentLinktype: integer
typeformat: int32
boolean linkValidityDaysdescription:
type: integer
format: int32 The amount of days the payment link will be valid. Default value is 14.
OkDTO:
description: Common Success response
type: object
properties:
message:
description: A descriptive message for the consumer
type: string
example: 'OK'
details:
description: Key/value pair detailing the message results
type: object
additionalProperties:
type: object
example:
redirectUrl: "https://dev.globadyme.com/pay?data=0f6286...ad990f4"
requestId: "9694c0c8-d411-4d3d-af08-2b0d21ba9521"
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 "Error processing encoded transaction"
cause:
description: Optional a Technical error
type: string
httpStatus:
description: The http status code
type: integer
format: int32
example: 401500
details:
description: Optional a detailed description, e.g. which field was missing
type: string
example: Internal Server Error
Unauthorized InitiatePaymentRequestDTO:example: |
{
type "message": object"Error processing encoded transaction: Unable to deserialise",
properties: encryptedTransaction:"httpStatus": 500,
type: string"details": "Internal Server Error"
}
bank: InitiatePaymentRequestDTO:
type: stringobject
required:
paymentMethod: - encryptedTransaction
- type:paymentMethod
string RequestPaymentResponseDTOproperties:
type: object encryptedTransaction:
propertiesdescription: The encrypted transaction as received in the return url redirectUrl:from '/globadymeGateway/transaction/requestPayment'
type: string
requestIdbank:
typedescription: string
The name of the bank.
RefundRequestDTO: type: string
object propertiesexample: 'ING'
refundIdpaymentMethod:
typedescription: stringThe payment method as chosen by the consumer.
transactionId:
type: string
merchantIdenum:
type: string- IDEAL
- PAYPAL
description: - type:KLARNA
string amount: - CREDITCARD
type: number - EPS
JwtRequest: type: object- GIROPAY
properties: - SOFORT
user: - PAYCONIQ
$ref: '#/components/schemas/User' - User:SEPA
type: object - BANCONTACT
properties: RefundRequestDTO:
usernamedescription: Object to request a refund
typerequired:
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
JwtRequest:
itemsdescription: Request an jwt token to authorise subsequent requests
type: string required:
- user
enum: type: object
properties:
- ROLE_ADMIN user:
- ROLE_CLIENT TokenRefreshRequest:
type: object$ref: '#/components/schemas/User'
example: properties:|
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 merchant/user
BankDTO: type: object
properties:
displayNameaccessToken:
type: string
nametokenType:
type: string
ibanAbbreviationrefreshToken:
type: string
BICuserId:
type: string
PaymentMethodDTOroles:
type: object type: array
properties: 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: type"roles": string[
created: "ROLE_MERCHANT",
type: string format: date-time
"ROLE_CLIENT"
status: ]
type: string } amount:
type: number TokenRefreshRequest:
currencydescription: Request a new accessToken
typerequired:
string - refreshToken
country: type: object
type properties:
string paymentMethodrefreshToken:
$reftype: '#/components/schemas/PaymentMethodDTO'string
bankexample: |
{
$ref: '#/components/schemas/BankDTO' description:"refreshToken": "refreshToken"
}
type: string TokenRefreshResponse:
ibantype: object
type: stringproperties:
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
|