-
Notifications
You must be signed in to change notification settings - Fork 2
/
openapi3.yaml
271 lines (265 loc) · 9.25 KB
/
openapi3.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
openapi: 3.0.3
servers:
- url: https://dummy.com
description: "Server description"
info:
contact:
email: [email protected]
title: Dummy Payment API
version: '68'
tags:
- name: Modifications
description: "Modifications"
- name: General
description: "General"
paths:
/authorise:
post:
summary: Creates a payment.
requestBody:
description: "Payment request."
content:
application/json:
schema:
$ref: '#/components/schemas/payment-request'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResult2'
description: OK - the request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
security:
- ApiKeyAuth: []
tags:
- General
/donate:
post:
operationId: post-&//?donate
requestBody:
description: "Donation request."
content:
application/json:
schema:
$ref: '#/components/schemas/DonationRequest'
responses:
'200':
content:
application/json:
schema:
properties:
additionalData:
additionalProperties:
type: string
description: This field contains additional data, which may be returned in a particular modification response.
type: object
pspReference:
description: 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.
type: string
response:
description: Indicates if the modification request has been received for processing.
enum:
- '[capture-received]'
- '[cancel-received]'
- '[refund-received]'
- '[cancelOrRefund-received]'
- '[adjustAuthorisation-received]'
- '[donation-received]'
- '[technical-cancel-received]'
- '[voidPendingRefund-received]'
type: string
required:
- response
- pspReference
type: object
description: OK - the request has succeeded.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceError'
description: Bad Request - a problem reading or understanding the request.
security: []
summary: Create a donation
tags:
- Modifications
components:
schemas:
AdditionalDataWallets:
properties:
androidpay.token:
description: The Android Pay token retrieved from the SDK.
type: string
masterpass.transactionId:
description: The Mastercard Masterpass Transaction ID retrieved from the SDK.
type: string
payment.token:
description: The Apple Pay token retrieved from the SDK.
type: string
paywithgoogle.token:
description: The Google Pay token retrieved from the SDK.
type: string
samsungpay.token:
description: The Samsung Pay token retrieved from the SDK.
type: string
visacheckout.callId:
description: The Visa Checkout Call ID retrieved from the SDK.
type: string
type: object
Amount:
properties:
currency:
description: The three-characters.
maxLength: 3
minLength: 3
type: sring
value:
description: The amount of the transaction.
format: int64
type: integer
required:
- value
- currency
type: object
DonationRequest:
properties:
donationAccount:
description: Account name of the charity.
type: string
merchantAccount:
description: The merchant account that is used to process the payment.
type: string
modificationAmount:
$ref: '#/components/schemas/Amount'
originalReference:
description: |+
The original pspReference of the payment to modify.
This reference is returned in:
* authorisation response
* authorisation notification
type: string
platformChargebackLogic:
$ref: '#/components/schemas/PlatformChargebackLogic'
reference:
description: |-
Your reference for the payment modification. This reference is visible in Customer Area and in reports.
Maximum length: 80 characters.
type: string
required:
- merchantAccount
- donationAccount
- modificationAmount
type: object
PaymentRequest:
properties:
additionalData:
anyOf:
- properties:
enhancedSchemeData.customerReference:
description: |-
Customer code, if supplied by a customer.
* Encoding: ASCII
* maxLength: 25
type: string
enhancedSchemeData.employeeName:
description: |-
Name or ID associated with the individual working in a temporary capacity.
* maxLength: 40
type: string
type: object
- $ref: '#/components/schemas/AdditionalDataWallets'
description: This field contains additional data, which may be required for a particular payment request.
type: object
amount:
$ref: '#/components/schemas/Amount'
type: object
PaymentResult:
properties:
additionalData:
anyOf:
- $ref: '#/components/schemas/ResponseAdditionalData3DSecure'
- $ref: '#/components/schemas/ResponseAdditionalDataBillingAddress'
- properties:
cardBin:
description: |-
The first six digits of the card number.
This is the for card numbers with a six-digit BIN.
Example: 521234
type: string
type: object
type: object
type: object
PlatformChargebackLogic:
properties:
behavior:
enum:
- deductAccordingToSplitRatio
- deductFromLiableAccount
- deductFromOneBalanceAccount
type: string
costAllocationAccount:
type: string
targetAccount:
type: string
type: object
ResponseAdditionalData3DSecure:
properties:
cardHolderInfo:
description: 'Information provided by the issuer to the cardholder. If this field is present, you need to display this information to the cardholder.'
type: string
cavv:
description: The Cardholder Authentication Verification Value (CAVV) for the 3D Secure authentication session, as a Base64-encoded 20-byte array.
type: string
cavvAlgorithm:
description: The CAVV algorithm used.
type: string
scaExemptionRequested:
type: string
threeds2.cardEnrolled:
description: Indicates whether a card is enrolled for 3D Secure 2.
type: boolean
type: object
ResponseAdditionalDataBillingAddress:
properties:
billingAddress.city:
description: The billing address city passed in the payment request.
type: string
billingAddress.country:
description: |-
The billing address country passed in the payment request.
Example: NL
type: string
billingAddress.houseNumberOrName:
description: The billing address house number or name passed in the payment request.
type: string
billingAddress.postalCode:
description: |-
The billing address postal code passed in the payment request.
Example: 1011 DJ
type: string
billingAddress.stateOrProvince:
description: |-
The billing address state or province passed in the payment request.
Example: NH
type: string
billingAddress.street:
description: The billing address street passed in the payment request.
type: string
type: object
ServiceError:
properties:
errorCode:
description: The error code mapped to the error message.
type: string
type: object
securitySchemes:
ApiKeyAuth:
in: header
name: X-API-Key
type: apiKey