Abort
To abort a payment order, perform the abort operation that is returned in the
payment order response. You need to include the following in the request body:
Abort PATCH Request
Request
1
2
3
4
PATCH /psp/paymentorders/09ccd29a-7c4f-4752-9396-12100cbfecce HTTP/1.1
Host: api.externalintegration.payex.com
Authorization: Bearer <AccessToken>
Content-Type: application/json;version=3.x/2.0 // Version optional for 3.0 and 2.0
1
2
3
4
5
6
{
"paymentorder": {
"operation": "Abort",
"abortReason": "CancelledByConsumer"
}
}
paymentOrder
object
operation
string
Determines the initial operation, defining the type of payment order created. Possible options are Purchase, Abort Verify, UnscheduledPurchase, Recur and Payout.
For this request it must beAbort.
abortReason
string
CancelledByConsumer or CancelledByCustomer. Why the payment was aborted.Abort PATCH Response
The response given when aborting a payment order is equivalent to a GET
request towards the paymentorders resource, as displayed above, with its
status set to Aborted.
Response
1
2
3
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=3.x/2.0
api-supported-versions: 3.x/2.0
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
{
"paymentOrder": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd",
"created": "2022-01-24T10:54:05.6243371Z",
"updated": "2022-01-24T10:54:19.2679591Z",
"operation": "Purchase",
"status": "Aborted",
"currency": "SEK",
"amount": 32000,
"vatAmount": 0,
"description": "Abort test",
"initiatingSystemUserAgent": "swedbankpay-sdk-dotnet/3.0.1",
"language": "sv-SE",
"availableInstruments": [
"CreditCard",
"Invoice-PayExFinancingSe",
"Invoice-PayMonthlyInvoiceSe",
"Swish",
"CreditAccount",
"Trustly"
],
"instrumentMode": false,
"guestMode": false,
"orderItems": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/orderitems"
},
"urls": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/urls"
},
"payeeInfo": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/payeeinfo"
},
"payer": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/payers"
},
"history": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/history"
},
"failed": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/failed"
},
"aborted": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/aborted"
},
"paid": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/paid"
},
"cancelled": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/cancelled"
},
"financialTransactions": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/financialtransactions"
},
"failedAttempts": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/failedattempts"
},
"metadata": {
"id": "/psp/paymentorders/2c3f7a3e-65ca-4493-ac93-08d9dcb313fd/metadata"
}
},
"operations": [
]
}
paymentOrder
object
id
string
The relative URL and unique identifier of the paymentorder resource . Please read about URL Usage to understand how this and other URLs should be used in your solution.
created
string
updated
string
operation
string
Determines the initial operation, defining the type of payment order created. Possible options are Purchase, Abort Verify, UnscheduledPurchase, Recur and Payout.
It will match the operation set in the request, in this casePurchase.
status
string
Initialized, Paid, Failed, Cancelled or Aborted. Indicates the state of the payment order.
currency
string
amount
integer
The transaction amount (including VAT, if any) entered in the lowest monetary unit of the selected currency. E.g.: 10000 = 100.00 SEK, 5000 = 50.00 SEK. The amount displayed is the final amount the payer paid for their order, including any payment method specific discounts or fees.
vatAmount
integer
The payment’s VAT (Value Added Tax) amount, entered in the lowest monetary unit of the selected currency. E.g.: 10000 = 100.00 SEK, 5000 = 50.00 SEK. The vatAmount entered will not affect the amount shown on the payment page, which only shows the total amount. This field is used to specify how much of the total amount the VAT will be. Set to 0 (zero) if there is no VAT amount charged.
description
string(40)
A textual description of the purchase. Maximum length is 40 characters.
initiatingSystemUserAgent
string
The user agent of the HTTP client making the request, reflecting the value sent in the User-Agent header with the initial POST request which created the Payment Order.
language
string
sv-SE, nb-NO, da-DK, en-US or fi-FI.
availableInstruments
string
implementation
string
The Online Payments implementation type. Omit if the integration is for Payments Only.
integration
string
HostedView (Seamless View) or Redirect. This field will not be populated until the payer has opened the payment UI, and the client script has identified if Swedbank Pay or another URI is hosting the container with the payment iframe.
instrumentMode
bool
true or false. Indicates if the payment is initialized with only one payment method available.
guestMode
bool
orderItems
string
urls
string
urls resource where information about the urls can be retrieved.
payeeInfo
id
The payeeInfo object, containing information about the payee (the recipient of the money). See payeeInfo for details.
payer
id
The URL to the payer resource where information about the payer can be retrieved.
history
id
The URL to the history resource where information about the payment’s history can be retrieved.
failed
id
The URL to the failed resource where information about the failed transactions can be retrieved.
aborted
id
The URL to the aborted resource where information about the aborted transactions can be retrieved.
paid
id
The URL to the paid resource whereinformation about the paid transactions, including any possibly created tokens,can be retrieved.
cancelled
id
The URL to the cancelled resource where information about the cancelled transactions can be retrieved.
financialTransactions
id
The URL to the financialTransactions resource where information about the financial transactions can be retrieved.
failedAttempts
id
The URL to the failedAttempts resource where information about the failed attempts can be retrieved.
metadata
id
metadata resource where information about the metadata can be retrieved.
operations
array
Abort Payment Attempt
The abort-paymentattempt operation should be used when you want to abort a
payment attempt, but not the whole payment order. It is returned in the
payment order response, but is only available for Online Payments v3.x. Include
the following in the request body when perfoming it:
Abort Payment Attempt PATCH Request
Abort Payment Attempt PATCH Request
1
2
3
4
PATCH /psp/paymentorders/09ccd29a-7c4f-4752-9396-12100cbfecce HTTP/1.1
Host: api.externalintegration.payex.com
Authorization: Bearer <AccessToken>
Content-Type: application/json;version=3.x
1
2
3
4
5
6
7
{
{
"paymentorder": {
"operation": "PaymentAttemptAborted",
"abortReason": "AbortedByUI"
}
}
Abort Payment Attempt PATCH Response
The response after doing this PATCH will appear as an initial payment order
response, since the payment order is still active and re-attempts are possible.
To see traces of the aborted payment attempt, you need to perform the PATCH
with history expanded. It will appear as shown below.
Abort Payment Attempt Response
1
2
3
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=3.x
api-supported-versions: 3.x
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
{
"paymentOrder": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72",
"created": "2024-12-05T14:19:17.1687855Z",
"updated": "2024-12-05T14:20:34.3940075Z",
"operation": "Purchase",
"status": "Initialized",
"currency": "SEK",
"amount": 15572,
"vatAmount": 0,
"description": "Abort Payment Attempt Example",
"initiatingSystemUserAgent": "PostmanRuntime/7.43.0",
"language": "sv-SE",
"availableInstruments": [
"CreditCard",
"Invoice-PayExFinancingSe",
"CarPay",
"Swish",
"CreditAccount-CreditAccountSe",
"Trustly",
"MobilePay"
],
"viewableInstruments": [
"Swish"
],
"implementation": "PaymentsOnly",
"integration": "Redirect",
"instrumentMode": false,
"guestMode": true,
"urls": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/urls"
},
"payeeInfo": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/payeeinfo"
},
"payer": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/payers"
},
"history": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/history",
"historyList": [
{
"created": "2024-12-05T14:19:17.1687855Z",
"name": "PaymentCreated",
"initiatedBy": "Merchant"
},
{
"created": "2024-12-05T14:19:17.1687855Z",
"name": "PaymentInstrumentSet",
"instrument": "Swish",
"initiatedBy": "Merchant"
},
{
"created": "2024-12-05T14:19:26.5750791Z",
"name": "PaymentLoaded",
"initiatedBy": "System"
},
{
"created": "2024-12-05T14:19:37.7938659Z",
"name": "PaymentAttemptStarted",
"instrument": "Swish",
"prefill": false,
"initiatedBy": "Payer"
},
{
"created": "2024-12-05T14:20:34.3879102Z",
"name": "PaymentAttemptAborted",
"instrument": "Swish",
"initiatedBy": "Payer"
}
]
},
"failed": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/failed"
},
"aborted": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/aborted"
},
"paid": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/paid"
},
"cancelled": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/cancelled"
},
"reversed": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/reversed"
},
"financialTransactions": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/financialtransactions"
},
"failedAttempts": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/failedattempts",
"failedAttemptList": []
},
"postPurchaseFailedAttempts": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/postpurchasefailedattempts"
},
"metadata": {
"id": "/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72/metadata"
}
},
"operations": [
{
"method": "PATCH",
"href": "https://api.stage.payex.com/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72",
"rel": "update-order",
"contentType": "application/json"
},
{
"method": "PATCH",
"href": "https://api.stage.payex.com/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72",
"rel": "abort",
"contentType": "application/json"
},
{
"method": "PATCH",
"href": "https://api.stage.payex.com/psp/paymentorders/c37b8e5f-65a0-4a19-351b-08dd143bbe72",
"rel": "set-instrument",
"contentType": "application/json"
},
{
"method": "GET",
"href": "https://ecom.stage.payex.com/checkout/ecf2299debe471b2ade9df0e47e997dd590a7da62de1af4b5f71fc935227e996?_tc_tid=e8653437c60e410ca3fd3150395b1156",
"rel": "redirect-checkout",
"contentType": "text/html"
},
{
"method": "GET",
"href": "https://ecom.stage.payex.com/checkout/client/ecf2299debe471b2ade9df0e47e997dd590a7da62de1af4b5f71fc935227e996?culture=sv-SE&_tc_tid=e8653437c60e410ca3fd3150395b1156",
"rel": "view-checkout",
"contentType": "application/javascript"
},
{
"method": "GET",
"href": "https://api.stage.payex.com/psp/paymentsessions/ecf2299debe471b2ade9df0e47e997dd590a7da62de1af4b5f71fc935227e996?_tc_tid=e8653437c60e410ca3fd3150395b1156",
"rel": "view-paymentsession",
"contentType": "application/json"
}
]
}
paymentOrder
object
id
string
The relative URL and unique identifier of the paymentorder resource . Please read about URL Usage to understand how this and other URLs should be used in your solution.
created
string
updated
string
operation
string
Determines the initial operation, defining the type of payment order created. Possible options are Purchase, Abort Verify, UnscheduledPurchase, Recur and Payout.
status
string
Initialized, Paid, Failed, Cancelled or Aborted. Indicates the state of the payment order.
currency
string
amount
integer
The transaction amount (including VAT, if any) entered in the lowest monetary unit of the selected currency. E.g.: 10000 = 100.00 SEK, 5000 = 50.00 SEK. The amount displayed is the final amount the payer paid for their order, including any payment method specific discounts or fees.
vatAmount
integer
The payment’s VAT (Value Added Tax) amount, entered in the lowest monetary unit of the selected currency. E.g.: 10000 = 100.00 SEK, 5000 = 50.00 SEK. The vatAmount entered will not affect the amount shown on the payment page, which only shows the total amount. This field is used to specify how much of the total amount the VAT will be. Set to 0 (zero) if there is no VAT amount charged.
description
string(40)
A textual description of the purchase. Maximum length is 40 characters.
initiatingSystemUserAgent
string
The user agent of the HTTP client making the request, reflecting the value sent in the User-Agent header with the initial POST request which created the Payment Order.
language
string
sv-SE, nb-NO, da-DK, en-US or fi-FI.
availableInstruments
string
viewableInstruments
string
implementation
string
The Online Payments implementation type. Omit if the integration is for Payments Only.
integration
string
HostedView (Seamless View) or Redirect. This field will not be populated until the payer has opened the payment UI, and the client script has identified if Swedbank Pay or another URI is hosting the container with the payment iframe.
instrumentMode
bool
true or false. Indicates if the payment is initialized with only one payment method available.
guestMode
bool
orderItems
string
The array of items being purchased with the order. Note that authorization orderItems will not be printed on invoices, so lines meant for print must be added in the Capture request. The authorization orderItems will, however, be used in the Merchant Portal when captures or reversals are performed, and might be shown other places later. It is required to use this field to be able to send Capture orderItems. Capture requests should only contain items meant to be captured from the order.
urls
string
urls resource where information about the urls can be retrieved.
payeeInfo
id
The payeeInfo object, containing information about the payee (the recipient of the money). See payeeInfo for details.
payer
id
The URL to the payer resource where information about the payer can be retrieved.
history
id
The URL to the history resource where information about the payment’s history can be retrieved.
failed
id
The URL to the failed resource where information about the failed transactions can be retrieved.
aborted
id
The URL to the aborted resource where information about the aborted transactions can be retrieved.
paid
id
The URL to the paid resource whereinformation about the paid transactions, including any possibly created tokens,can be retrieved.
cancelled
id
The URL to the cancelled resource where information about the cancelled transactions can be retrieved.
financialTransactions
id
The URL to the financialTransactions resource where information about the financial transactions can be retrieved.
failedAttempts
id
The URL to the failedAttempts resource where information about the failed attempts can be retrieved.
metadata
id
metadata resource where information about the metadata can be retrieved.