openapi: 3.0.3
info:
title: Globadyme-gateway
version: v0.999 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":
description: Succesful operation"The body must always contain the transaction and password."
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:
- Payment"redirectUrl": "https://localhost:8028/pay?data=0f628643a49a71ce...1d023822ec5f02f2587057fe"
operationId: generateQRCodeImage requestBody: }
content: application/json: }
schema: typepaymentLink:
string required: true responses:
"200" summary: Request a payment link
description: OK contentvalue: |
image/png: {
schema: type"message": array"OK",
items: "details": {
type: string "requestId": "129294ac-ec36-4155-addd-697be68ec8aa",
format: byte "400": description: Invalid input provided"redirectUrl": "https://localhost:8028/api/link?id=BH3IiBlBN2XjaqWR"
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'
"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": description: Initiate a refund on an earlier created and approve transaction"Incorrect merchant password for merchant: x@yz.com",
operationId: initiateRefund requestBody:"httpStatus": 401,
content: application/json: "details": "Unauthorized"
schema: }
$ref: '#/components/schemas/RefundRequestDTO' required: true responses:
"200400":
description: >-
Succesful operation Bad content:Request
plain/text: {}
"404":Property wrong or missing from JSON, for example UUID string too large.
descriptioncontent:
Not found contentapplication/json:
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: Unexpected character '#/components/schemas/JwtRequest('}' (code 125)): was expecting double-quote to start field required:name",
true 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/schemas/JwtResponse'transaction/requestPayment"
"401": }
description: Authentication failure content:
'*/*'"405":
$ref: '#/components/responses/methodNotSupported'
schema: "406":
$ref: '#/components/schemasresponses/OkDTO'
/api/auth/refresh-token:
post:
tags: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/BillingAddressDTO'
OrderItemDTO:
required:
- name
- quantity
- totalAmount
- AuthenticationunitPrice
operationIdtype: refreshTokenobject
requestBodyproperties:
contentname:
application/json:type: string
quantity:
schema: type: integer
$ref format: '#/components/schemas/TokenRefreshRequest'int32
requiredtotalAmount:
true responsesdescription: The total amount in cents
"200" type: number
descriptionunitPrice:
OK contentdescription: Unit price in cents
'*/*': type: number
RecurrenceDTO:
schematype: object
properties:
$refrecurrenceFrequency: '#/components/schemas/TokenRefreshResponse'
/globadymeGateway/transaction/getPaymentByRequestIdtype: string
get: securityenum:
- Bearer: [] - DAILY
tags: - PaymentWEEKLY
operationId: getPaymentByRequestId - MONTHLY
parameters: - QUARTERLY
name: getPaymentByRequestIdRequestDTO in:- queryYEARLY
requiredrecurrenceStatus:
true schematype: string
$refenum:
'#/components/schemas/GetPaymentByRequestIdRequestDTO' responses:- ACTIVE
"200": - PAUSED
description: OK - FINISHED
content: startDate:
application/jsontype: string
format: date
schema: recurrenceAmount:
$reftype: '#/components/schemas/OkDTO' number
/globadymeGateway/common/banks:
transactionId:
get: securitytype: string
- Bearer: [] description:
tags: type: string
- Payment -id:
Common operationId: getBanks type: integer
responses: format: int32
"200": SepaSpecDTO:
description: Container for OKSEPA payments.
required:
content: - iban
- application/json:emailAddress
- postalAddress
schematype: object
properties:
typeiban:
array description: The buyer's IBAN.
items: type: string
$refexample: '#/components/schemas/BankDTO'ES9121000418450200051332'
components: securitySchemes: emailAddress:
bearerAuth: type: http description: The buyer's email scheme:address.
bearer name: JWT schemastype: string
BillingAddressDTO: type: objectexample: 'customer@example.com'
propertiespostalAddress:
attention: description: The buyer's postal address.
type: string
email: example: 'Customerstreet 13, 1234AB Customercity'
typeRequestPaymentRequestDTO:
string citytype: object
required:
type: string - transaction
familyName: - password
typeproperties:
string givenNametransaction:
type$ref: string'#/components/schemas/RequestPaymentRequestTransactionDTO'
phoneNumberpassword:
type: string
postalCode description: Password to authenticate this merchant
type example: string'MerchantTestPassword'
RequestPaymentRequestTransactionDTO:
regiondescription:
Holds type: string
the detail for this payment
streetAddress1required:
- merchantId
type: string - amount
streetAddress2: - currency
type: string - country
title: - description
type: string - KlarnaSpecDTO:accountHolderName
type: object
properties:
taxAmountmerchantId:
type: integerstring
orderItemsdescription: UUID to identify this merchant
uniqueItems: true example: '7699cab7-2dfa-4981-9c90-0d0c93c801ac'
type amount:
array type: string
items: description: An amount $ref: '#/components/schemas/OrderItemDTO'
billingAddress:for the payment. The decimal separator must be a dot '.'
$refexample: '#/components/schemas/BillingAddressDTO123.45'
OrderItemDTO: currency:
type: object propertiestype: string
name: pattern: '[A-Z]{3,3}'
type: string example: 'EUR'
quantity: description: '3 Letter ISO Currency typeCode: integerISO 4217 code'
formatcountry:
int32 totalAmounttype: string
type: number pattern: '[A-Z]{2,2}'
unitPriceexample: 'NL'
typedescription: number'2 Letter ISO Country RecurrenceDTOCode: ISO 3166 code'
type: object description:
properties: type: recurrenceFrequency:string
typedescription: string'A descriptive string for this transaction'
enum: example: 'Test payment'
- DAILY accountHolderName:
- WEEKLY type: string
- MONTHLY description: 'Name of the account holder'
- QUARTERLY example: 'Test -account YEARLYholder'
recurrenceStatusemailAddress:
type: string
enumexample: 'klant@yourshop.com'
recurrence:
- ACTIVE $ref: - PAUSED'#/components/schemas/RecurrenceDTO'
klarnaSpec:
- FINISHED startDate$ref: '#/components/schemas/KlarnaSpecDTO'
typesepaSpec:
string format$ref: date'#/components/schemas/SepaSpecDTO'
recurrenceAmounttransactionRecurrenceType:
type: numberstring
transactionId: enum:
type: string - ONETIME
description: - FIRST
type: string - id:RECURRING
typedescription:
integer format: int32This will default to ONETIME SepaSpecDTO:if not present. For recurring payments,
type: object properties: this field needs to be iban:present and filled with FIRST. This will then
type: string emailAddress:be the first in a series of recurring payments, also serving type:as stringthe
postalAddress: mandate for future payments. Scheduling and type:execution stringof subsequent
RequestPaymentRequestDTO: type: object recurrences are handled by Globadyme properties:according to parameters set in
transaction: $ref: '#/components/schemas/RequestPaymentRequestTransactionDTO'the next field.
passwordredirectUrlSuccess:
type: string
RequestPaymentRequestTransactionDTO: description: Optional specific url type:to objectredirect to in case of a successful properties:transaction.
merchantIdredirectUrlFailed:
type: string
amountdescription: Optional specific url to redirect to in case of a type:failed stringtransaction.
currencyredirectUrlAborted:
type: string
countrydescription: Optional specific url to redirect to in case of an type:aborted stringtransaction.
descriptionpaymentLink:
type: stringboolean
accountHolderName: description:
type: string Flag to choose between a payment emailAddress:link and a one-time or recurring
type: string recurrence:
$ref: '#/components/schemas/RecurrenceDTO'payment. A value of true will return a payment link
klarnaSpeclinkValidityDays:
$reftype: '#/components/schemas/KlarnaSpecDTO' integer
sepaSpecformat: int32
$refdescription:
'#/components/schemas/SepaSpecDTO' transactionRecurrenceType: The amount of days the payment link will type:be stringvalid. Default value is 14.
enumOkDTO:
description: Common Success response
- ONETIME type: object
- FIRST properties:
message:
- RECURRING redirectUrlSuccessdescription: A descriptive message for the consumer
type: string type: string
redirectUrlFailed: typeexample: string'OK'
redirectUrlAborteddetails:
typedescription: stringKey/value pair detailing the message results
paymentLink: type: object
type: boolean additionalProperties:
linkValidityDays: type: integerobject
formatexample:
int32 OkDTO: redirectUrl: description: Common Success response"https://dev.globadyme.com/pay?data=0f6286...ad990f4"
typerequestId: object"9694c0c8-d411-4d3d-af08-2b0d21ba9521"
properties:
message: ErrorDTO:
description: ACommon descriptiveError messageresponse for- theIn consumercase of any error.
type: string object
properties:
detailsmessage:
description: Key/value pair detailing A descriptive error message for the messageconsumer
results
type: objectstring
additionalPropertiesexample: "Error processing encoded transaction"
typecause:
object ErrorDTO:
description: CommonOptional Errora responseTechnical -error
In case of any error. type: object
string
properties: messagehttpStatus:
description: AThe descriptivehttp error message for the consumerstatus code
type: stringinteger
exampleformat: "Incorrectint32
merchant password for merchant: x@yz.com" causeexample: 500
descriptiondetails:
Optional a Technical error typedescription: stringOptional a detailed description, httpStatus:
e.g. which field was missing
description: The http statustype: codestring
typeexample: integerInternal Server Error
formatexample: int32|
{
example: 401 details"message": "Error processing encoded transaction: Unable to deserialise",
description: Optional a detailed description, e.g. which field was missing"httpStatus": 500,
type"details": string"Internal Server Error"
example: Unauthorized}
InitiatePaymentRequestDTO:
type: object
propertiesrequired:
- encryptedTransaction
encryptedTransaction: - paymentMethod
typeproperties: string
bankencryptedTransaction:
typedescription: stringThe encrypted transaction as received in the return url paymentMethod:from '/globadymeGateway/transaction/requestPayment'
type: string
RequestPaymentResponseDTO: bank:
type: object propertiesdescription: The name of the bank.
redirectUrl:
type: string
requestId: example: 'ING'
type: string 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:GIROPAY
number JwtRequest: - SOFORT
type: object properties: - user:PAYCONIQ
- $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: number
array 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 - GetPaymentByRequestIdRequestDTO:password
type: object
properties:
requestIdusername:
type: string
password:
type: string
JwtResponse:
merchantId description: Object containing tokens to authorise a merchant/user
type: stringobject
BankDTOproperties:
type accessToken:
object propertiestype: string
displayNametokenType:
type: string
namerefreshToken:
type: string
ibanAbbreviationuserId:
type: string
BICroles:
type: stringarray
PaymentMethodDTO: typeitems:
object properties: type: string
name: typeenum:
string displayName: - ROLE_ADMIN
type: string - ROLE_MERCHANT
hasRecurring: - ROLE_CLIENT
type: boolean countriesexample: |
uniqueItems: true {
type: array "accessToken": "eyJhbGciOiJIUzI1NiJ...Bruizs7XwzPRzMBdQoKj2WNAJrZ9XlH8",
items: type"tokenType": string"Bearer",
overrideCountry: "refreshToken": "c84e512...1128b62a2",
type: boolean TransactionSummaryDTO: type: object
"userId": "9694c0c8-d411-4d3d-af08-2b0d21ba9521",
properties: id"roles": [
type: string "ROLE_MERCHANT",
created: type: string "ROLE_CLIENT"
format: date-time ]
status: } type: string
amount: TokenRefreshRequest:
typedescription: numberRequest a new accessToken
currency required:
- refreshToken
type: string countrytype: 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: }
id:
GetPaymentByRequestIdRequestDTO:
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
|