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.