The status
field indicates the payment order’s current status. Initialized
is returned when the payment is created and still ongoing.
The request example above has this status. Paid
is returned when the payer has
completed the payment successfully.
Failed
is returned when a payment has failed. You will find an error message
in the failed section.
Cancelled
is returned when an authorized amount has been fully cancelled.
Reversed
is returned when the full amount of a sale transaction or a captured
transaction has been reversed. The transaction will now have status Reversed
instead of Paid
.
It will contain fields from both the cancelled description and paid section.
Aborted
is returned when the merchant has aborted the payment or if the payer
cancelled the payment in the redirect integration (on the redirect page).
Aborted
A payment order response with the status Aborted
.
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
{
"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": [
]
}
Response fields not covered in the Initialized
redirect or seamless view
responses:
operations
array
The array of operations that are possible to perform on the payment order in its current state.
As this is an aborted payment, the available operations areredirect-checkout
or view-checkout
, depending on the integration.
See Operations for details.
Cancelled
The cancel
response is not yet converted to the new standard.
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
{
"payment": "/psp/paymentorders/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1",
"cancellation": {
"id": "/psp/paymentorders/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/cancellations/ec2a9b09-601a-42ae-8e33-a5737e1cf177",
"transaction": {
"id": "/psp/paymentorders/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/transactions/ec2a9b09-601a-42ae-8e33-a5737e1cf177",
"created": "2022-01-31T09:49:13.7567756Z",
"updated": "2022-01-31T09:49:14.7374165Z",
"type": "Cancellation",
"state": "Completed",
"number": 71100732065,
"amount": 1500,
"vatAmount": 375,
"description": "Test Cancellation",
"payeeReference": "AB123"
}
}
}
payment
string
cancellation
object
id
string
transaction
object
The object representation of the generic transaction
resource, containing information about the current transaction.
id
string
transaction
resource.
created
string
updated
string
type
string
state
string
Initialized
, Completed
or Failed
. Indicates the state of the transaction.
number
integer
The transaction number
, useful when there’s need to reference the transaction in human communication. Not usable for programmatic identification of the transaction, where id
should be used instead.
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
payeeReference
string(30)
A unique reference from the merchant system. Set per operation to ensure an exactly-once delivery of a transactional operation. Length and content validation depends on whether the transaction.number
or the payeeReference
is sent to the acquirer. If Swedbank Pay handles the settlement, the transaction.number
is sent to the acquirer and the payeeReference
must be in the format of A-Za-z0-9
and string(30)
. If you handle the settlement, Swedbank Pay will send the payeeReference
and it will be limited to the format of string(12)
. All characters must be digits. In Invoice Payments payeeReference
is used as an invoice/receipt number, if the receiptReference
is not defined.
Failed
The failed response is not yet converted to the new standard.
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
{
"payment": "/psp/paymentorders/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1",
"failed": {
"id": "/psp/paymentorders/bc2832a7-0e0f-45f2-57d6-08d9ea4cff66/failed",
"problem": {
"type": "acquirerinsufficientfunds",
"title": "Operation failed",
"status": 403,
"detail": "Unable to complete Recurrence transaction, look at problem node!",
"problems": [
{
"name": "ExternalResponse",
"description": "REJECTED_BY_ACQUIRER_INSUFFICIENT_FUNDS-insufficient funds, response-code: 61"
}
]
}
}
}
paymentOrder
object
failed
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.
problem
object
type
string
title
string
status
integer
detail
string
problems
array
name
string
description
string
name
.Initialized
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
{
"paymentOrder": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b",
"created": "2022-01-07T07:58:26.1300282Z",
"updated": "2022-01-07T08:17:44.6839034Z",
"operation": "Purchase",
"status": "Initialized",
"currency": "SEK",
"amount": 1500,
"vatAmount": 375,
"description": "Test Purchase",
"initiatingSystemUserAgent": "swedbankpay-sdk-dotnet/3.0.1",
"language": "sv-SE",
"availableInstruments": [
"CreditCard",
"Invoice-PayExFinancingSe",
"Invoice-PayMonthlyInvoiceSe",
"Swish",
"CreditAccount",
"Trustly"
],
"instrumentMode": false,
"guestMode": false,
"payer": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/payers"
},
"orderItems": {
"id": "/psp/paymentorders/09ccd29a-7c4f-4752-9396-12100cbfecce/orderitems"
},
"history": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/history"
},
"failed": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/failed"
},
"aborted": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/aborted"
},
"paid": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/paid"
},
"cancelled": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/cancelled"
},
"financialTransactions": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/financialtransactions"
},
"failedAttempts": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/failedattempts"
},
"metadata": {
"id": "/psp/paymentorders/8be318c1-1caa-4db1-e2c6-08d7bf41224d/metadata"
}
},
"operations": [
{
"href": "https://api.payex.com/psp/paymentorders/222a50ca-b268-4b32-16fa-08d6d3b73224",
"rel":"update-order",
"method":"PATCH",
"contentType":"application/json"
},
{
"href": "https://api.payex.com/psp/paymentorders/222a50ca-b268-4b32-16fa-08d6d3b73224",
"rel": "abort",
"method": "PATCH",
"contentType": "application/json"
},
{
"href": "https://api.payex.com/psp/paymentorders/09ccd29a-7c4f-4752-9396-12100cbfecce",
"rel": "abort-paymentattempt",
"method": "PATCH",
"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
is returned when the payment is created and still ongoing. The request example above has this status.
Paid
is returned when the payer has completed the payment successfully. See the
Paid
section for further information.
Failed
is returned when a payment has failed. You will find an error message in the failed section.
Further information here.
Cancelled
is returned when an authorized amount has been fully cancelled.
See the Cancel
feature section for further information.
It will contain fields from both the cancelled description and paid section.
Aborted
is returned when the merchant has aborted the payment or if the payer cancelled the payment in the redirect integration (on the redirect page).
See the Abort
feature section for further information.
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
array
implementation
string
Enterprise
or PaymentsOnly
. We ask that you don't build logic around this field's response. It is mainly for information purposes, as the implementation types might be subject to name changes. If this should happen, updated information will be available in this table.
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. We ask that you don't build logic around this field's response. It is mainly for information purposes, as the integration types might be subject to name changes. If this should happen, updated information will be available in this table.
instrumentMode
bool
true
or false
. Indicates if the payment is initialized with only one payment method available.
guestMode
bool
true
or false
. Indicates if the payer chose to pay as a guest or not. When using the Enterprise implementation, this is triggered by not including a payerReference
or nationalIdentifier
in the original payment order request.
payer
id
payer
resource where information about the payer can be retrieved.
orderItems
id
orderItems
resource where information about the order items can be retrieved.
history
id
history
resource where information about the payment's history can be retrieved.
failed
id
failed
resource where information about the failed transactions can be retrieved.
aborted
id
aborted
resource where information about the aborted transactions can be retrieved.
paid
id
paid
resource where information about the paid transactions can be retrieved.
cancelled
id
cancelled
resource where information about the cancelled transactions can be retrieved.
financialTransactions
id
financialTransactions
resource where information about the financial transactions can be retrieved.
failedAttempts
id
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
The array of operations that are possible to perform on the payment order in its current state.
As this is an initialized payment, the available operations areabort
, update-order
and redirect-checkout
or view-checkout
, depending on the integration.
See Operations for details.
Paid
The payment order response with status paid
, and the paid
resource expanded.
Please note that the main code example is of a card payment. We have included
paid
resources of the remaining payment methods below the main code example.
Resource examples where details are empty indicate that no details are
available.
The wallets Apple Pay and Vipps do not return maskedPan
. Please note that
while MobilePay does return this field, the value present is actually a
networkToken
, which represents the PAN, but is not a PAN in itself.
Card Paid
Resource
Card 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
{
"paymentOrder": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b",
"paid": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/paid",
"instrument": "CreditCard",
"number": 99101548603,
"payeeReference": "1641542301",
"amount": 1500,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"paymentAccountReference": "43f6b6d2cbd30c36627ec02247259",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedPan": "492500******0004",
"maskedDPan": "************0004",
"expiryDate": "12/2022",
"issuerAuthorizationApprovalCode": "L00302",
"acquirerTransactionType": "STANDARD",
"acquirerStan": "302",
"acquirerTerminalId": "70101301389",
"acquirerTransactionTime": "2022-06-15T14:12:55.029Z",
"transactionInitiator": "CARDHOLDER",
"bin": "492500"
}
}
}
Apple Pay paid
Resource
Please note that this is an abbreviated example. See the main paid
example for
more context.
Apple Pay 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/1f8d409e-8d8c-4ba1-a3ab-08da8caf7918/paid",
"instrument": "ApplePay",
"number": 80100001190,
"payeeReference": "1662360210",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"paymentTokenGenerated": false,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedDPan": "************0004",
"expiryDate": "12/0023",
"issuerAuthorizationApprovalCode": "L00392",
"acquirerTransactionType": "WALLET",
"acquirerStan": "392",
"acquirerTerminalId": "80100001190",
"acquirerTransactionTime": "2022-09-05T06:45:40.322Z",
"transactionInitiator": "CARDHOLDER"
"bin": "489537"
}
}
}
Click to Pay paid
Resource
Please note that this is an abbreviated example. See the main paid
example for
more context.
Click to Pay 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/1f8d409e-8d8c-4ba1-a3ab-08da8caf7918/paid",
"instrument": "ClickToPay",
"number": 80100001190,
"payeeReference": "1662360210",
"amount": 1500,
"paymentTokenGenerated": false,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedPan": "492500******0004",
"maskedDPan": "************0004",
"expiryDate": "12/0023",
"issuerAuthorizationApprovalCode": "L00392",
"acquirerTransactionType": "WALLET",
"acquirerStan": "392",
"acquirerTerminalId": "80100001190",
"acquirerTransactionTime": "2022-09-05T06:45:40.322Z",
"transactionInitiator": "CARDHOLDER"
"bin": "489537"
}
}
}
Google Pay™ paid
Resource
Please note that this is an abbreviated example. See the main paid
example for
more context.
Google Pay™ 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/1f8d409e-8d8c-4ba1-a3ab-08da8caf7918/paid",
"instrument": "GooglePay",
"number": 80100001190,
"payeeReference": "1662360210",
"amount": 1500,
"paymentTokenGenerated": false,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedPan": "492500******0004",
"maskedDPan": "************0004",
"expiryDate": "12/0023",
"issuerAuthorizationApprovalCode": "L00392",
"acquirerTransactionType": "WALLET",
"acquirerStan": "392",
"acquirerTerminalId": "80100001190",
"acquirerTransactionTime": "2022-09-05T06:45:40.322Z",
"transactionInitiator": "CARDHOLDER"
"bin": "489537"
}
}
}
MobilePay paid
Resource
Please note that this is an abbreviated example. See the main paid
example for
more context.
MobilePay 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/efdcbf77-9a62-426b-a3b1-08da8caf7918/paid",
"instrument": "MobilePay",
"number": 75100106637,
"payeeReference": "1662364327",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"paymentTokenGenerated": false,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"maskedPan": "492500******0004",
"maskedDPan": "************0004",
"expiryDate": "12/2022",
"issuerAuthorizationApprovalCode": "018117",
"acquirerTransactionType": "MOBILEPAY",
"acquirerStan": "53889",
"acquirerTerminalId": "42",
"acquirerTransactionTime": "2022-09-05T09:54:05Z"
"bin": "489537"
}
}
}
Vipps paid
Resource
Please note that this is an abbreviated example. See the main paid
example for
more context.
Vipps Response
Vipps 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/a463b145-3278-4aa0-c4db-08da8f1813a2/paid",
"instrument": "Vipps",
"number": 99463794,
"payeeReference": "1662366424",
"amount": 1500,
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"paymentTokenGenerated": false,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890"
"cardBrand": "Visa",
"maskedDPan": "************0004",
"acquirerTransactionType": "WALLET",
"acquirerTerminalId": "99488282",
"acquirerTransactionTime": "2022-09-05T09:54:05Z",
"transactionInitiator": "CARDHOLDER",
"bin": "489537"
}
}
}
Swish paid
Resource
Please note that this is an abbreviated example. See the main paid
example for
more context.
Swish 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/b0410cd0-61df-4548-a3ad-08da8caf7918/paid",
"instrument": "Swish",
"number": 74100413405,
"payeeReference": "1662360831",
"transactionType": "Sale",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"paymentTokenGenerated": false,
"details": {
"misidn": "+46739000001"
}
}
}
Invoice Paid
Resource
Please note that this is an abbreviated example. See the main Paid
example for
more context.
Invoice 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/05a356df-05e2-49e6-8858-08da8cb4d651/paid",
"instrument": "Invoice",
"number": 71100775379,
"payeeReference": "1662360980",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"paymentTokenGenerated": false,
"details": {}
}
}
Installment Account Paid
Resource
Please note that this is an abbreviated example. See the main Paid
example for
more context.
Installment Account 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/39eef759-a619-4c91-885b-08da8cb4d651/paid",
"instrument": "CreditAccount",
"number": 77100038000,
"payeeReference": "1662361777",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"paymentTokenGenerated": false,
"details": {}
}
}
Trustly Paid
Resource
Please note that this is an abbreviated example. See the main Paid
example for
more context.
Trustly 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"paid": {
"id": "/psp/paymentorders/bf660901-93d0-4245-4e6b-08da8f165366/paid",
"instrument": "Trustly",
"number": 79100113652,
"payeeReference": "1662373401",
"orderReference": "orderReference",
"transactionType": "Sale",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"paymentTokenGenerated": false,
"details": {
"trustlyOrderId": 123456789
}
}
}
Response fields not covered in the Initialized
redirect or seamless view responses:<div class="api-compact" aria-label="Response">
payment
string
paid
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.
instrument
string
capture
is needed, we recommend using operations
or the transactionType
field.
number
integer
The transaction number
, useful when there’s need to reference the transaction in human communication. Not usable for programmatic identification of the transaction, where id
should be used instead.
payeeReference
string(30)
A unique reference from the merchant system. Set per operation to ensure an exactly-once delivery of a transactional operation. Length and content validation depends on whether the transaction.number
or the payeeReference
is sent to the acquirer. If Swedbank Pay handles the settlement, the transaction.number
is sent to the acquirer and the payeeReference
must be in the format of A-Za-z0-9
and string(30)
. If you handle the settlement, Swedbank Pay will send the payeeReference
and it will be limited to the format of string(12)
. All characters must be digits.
transactionType
string
Authorization
or Sale
. Can be used to understand if there is a need for doing a capture on this payment order. Swedbank Pay recommends using the different operations to figure out if a capture is needed.
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.
submittedAmount
integer
amount
field.
feeAmount
integer
discountAmount
integer
paymentTokenGenerated
bool
true
or false
. Used to show if a payment token has been generated or not. Will be set to true
if the checkbox enabled by EnablePaymentDetailsConsentCheckbox
has been checked by the payer during a payment, otherwise false
.
details
object
nonPaymentToken
string
externalNonPaymentToken
string
paymentAccountReference
.
paymentAccountReference
string
paymentAccountReference
will also populate the externalNonPaymentToken field.
cardType
string
Credit Card
or Debit Card
. Indicates the type of card used for the authorization.
maskedPan
string
maskedDPan
string
expiryDate
string
issuerAuthorizationApprovalCode
string
acquirerTransactionType
string
3DSECURE
or STANDARD
. Indicates the transaction type of the acquirer.
acquirerStan
string
acquirerTerminalId
string
acquirerTransactionTime
string
transactionInitiator
string
MERCHANT
or CARDHOLDER
.
bin
string
msisdn
string
</div>
Paid Examples With Connected Tokens
If there e.g. is a recurrence or an unscheduled (below) token connected to the payment, it will appear like this.
Recurrence Token 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
{
"paid": {
"id": "/psp/paymentorders/91c3ca0d-3710-40f0-0f78-08d9d133750b/paid",
"instrument": "CreditCard",
"number": 99101548605,
"payeeReference": "1641543637",
"amount": 1500,
"tokens": [
{
"type": "recurrence",
"token": "48806524-6422-4db7-9fbd-c8b81611132f",
"name": "492500******0004",
"expiryDate": "02/2023"
}
],
"details": {}
}
}
Unscheduled Token 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
{
"paid": {
"id": "/psp/paymentorders/9f786139-3537-4a8b-0f79-08d9d133750b/paid",
"instrument": "CreditCard",
"number": 99101548607,
"payeeReference": "1641543818",
"amount": 1500,
"tokens": [
{
"type": "Unscheduled",
"token": "6d495aac-cb2b-4d94-a5f1-577baa143f2c",
"name": "492500******0004",
"expiryDate": "02/2023"
}
],
"details": {}
}
}
Response fields not covered in the Initialized
redirect or seamless view
responses:
tokens
array
type
string
payment
, recurrence
, transactionOnFile
or unscheduled
. The different types of available tokens.
token
string
guid
.
name
string
expiryDate
string
Reversed
The payment order response with status
equal to Reversed
, and the reversed
resource expanded. Please note that the main code example is of a card reversal.
Apart from the id and number fields, the output will be inherited from the
corresponding Paid
transaction. As several Reversed
transactions can exist
on a single payment, the number and payerReference will be from the latest
Reversed
.
We have included reversal
resources of the remaining payment methods below the
main code example. Resource examples where details are empty indicate that no
details are available.
The wallets Apple Pay and Vipps do not return maskedPan
. Please note that
while MobilePay does return this field, the value present is actually a
networkToken
, which represents the PAN, but is not a PAN in itself.
Request
1
2
3
4
GET /psp/paymentorders/09ccd29a-7c4f-4752-9396-12100cbfecce/reversed HTTP/1.1
Host: api.externalintegration.payex.com
Authorization: Bearer <AccessToken>
Content-Type: application/json;version=3.x
Card Reversed
Resource
Card 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c/reversed",
"instrument": "Creditcard",
"number": 1234567890,
"payeeReference": "CD123",
"orderReference": "AB1234",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"tokens": [
{
"type": "payment",
"token": "12345678-1234-1234-1234-1234567890AB",
"name": "4925xxxxxx000004",
"expiryDate" : "mm/yyyy"
},
{
"type": "recurrence",
"token": "87654321-4321-4321-4321-BA0987654321",
"name": "4925xxxxxx000004",
"expiryDate" : "mm/yyyy"
},
{
"type": "unscheduled",
"token": "87654321-4321-4321-4321-BA0987654321",
"name": "4925xxxxxx000004",
"expiryDate" : "mm/yyyy"
},
{
"type": "transactionsOnFile",
"token": "87654321-4321-4321-4321-BA0987654321",
"name": "4925xxxxxx000004",
"expiryDate" : "mm/yyyy"
}
],
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"paymentAccountReference": "43f6b6d2cbd30c36627ec02247259",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedPan": "492500******0004",
"maskedDPan": "************0004",
"expiryDate": "12/2022",
"issuerAuthorizationApprovalCode": "L00302",
"acquirerTransactionType": "STANDARD",
"acquirerStan": "302",
"acquirerTerminalId": "70101301389",
"acquirerTransactionTime": "2022-06-15T14:12:55.029Z",
"transactionInitiator": "CARDHOLDER",
"bin": "492500"
}
}
}
Apple Pay Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Apple Pay 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/1f8d409e-8d8c-4ba1-a3ab-08da8caf7918/reversed",
"instrument": "ApplePay",
"number": 80100001190,
"payeeReference": "1662360210",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"details": {
"cardBrand": "Visa",
"cardType": "Credit",
"maskedDPan": "************0004",
"expiryDate": "12/2023",
"issuerAuthorizationApprovalCode": "L00392",
"acquirerTransactionType": "WALLET",
"acquirerStan": "392",
"acquirerTerminalId": "80100001190",
"acquirerTransactionTime": "2022-09-05T06:45:40.322Z",
"transactionInitiator": "CARDHOLDER",
"bin": "492500"
}
}
}
Click to Pay Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Click to Pay 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/1f8d409e-8d8c-4ba1-a3ab-08da8caf7918/reversed",
"instrument": "ClickToPay",
"number": 80100001190,
"payeeReference": "1662360210",
"amount": 1500,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedPan": "492500******0004",
"maskedDPan": "************0004",
"expiryDate": "12/0023",
"issuerAuthorizationApprovalCode": "L00392",
"acquirerTransactionType": "WALLET",
"acquirerStan": "392",
"acquirerTerminalId": "80100001190",
"acquirerTransactionTime": "2022-09-05T06:45:40.322Z",
"transactionInitiator": "CARDHOLDER"
"bin": "489537"
}
}
}
Google Pay™ Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Google Pay™ 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/1f8d409e-8d8c-4ba1-a3ab-08da8caf7918/reversed",
"instrument": "GooglePay",
"number": 80100001190,
"payeeReference": "1662360210",
"amount": 1500,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedPan": "492500******0004",
"maskedDPan": "************0004",
"expiryDate": "12/0023",
"issuerAuthorizationApprovalCode": "L00392",
"acquirerTransactionType": "WALLET",
"acquirerStan": "392",
"acquirerTerminalId": "80100001190",
"acquirerTransactionTime": "2022-09-05T06:45:40.322Z",
"transactionInitiator": "CARDHOLDER"
"bin": "489537"
}
}
}
MobilePay Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
MobilePay 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/efdcbf77-9a62-426b-a3b1-08da8caf7918/reversed",
"instrument": "MobilePay",
"number": 75100106637,
"payeeReference": "1662364327",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"maskedDPan": "************0004",
"expiryDate": "12/2022",
"issuerAuthorizationApprovalCode": "018117",
"acquirerTransactionType": "MOBILEPAY",
"acquirerStan": "53889",
"acquirerTerminalId": "42",
"acquirerTransactionTime": "2022-09-05T09:54:05Z",
"bin": "489537"
}
}
}
Vipps Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Vipps 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/a463b145-3278-4aa0-c4db-08da8f1813a2/reversed",
"instrument": "Vipps",
"number": 99463794,
"payeeReference": "1662366424",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"maskedDPan": "************0004",
"acquirerTransactionType": "WALLET",
"acquirerTerminalId": "99488282",
"acquirerTransactionTime": "2022-09-05T09:54:05Z",
"transactionInitiator": "CARDHOLDER",
"bin": "489537"
}
}
}
Swish Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Swish 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/b0410cd0-61df-4548-a3ad-08da8caf7918/reversed",
"instrument": "Swish",
"number": 74100413405,
"payeeReference": "1662360831",
"transactionType": "Sale",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"details": {
"misidn": "+46739000001"
}
}
}
Invoice Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Invoice 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/05a356df-05e2-49e6-8858-08da8cb4d651/reversed",
"instrument": "Invoice",
"number": 71100775379,
"payeeReference": "1662360980",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"details": {}
}
}
Installment Account Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Installment Account 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/39eef759-a619-4c91-885b-08da8cb4d651/reversed",
"instrument": "CreditAccount",
"number": 77100038000,
"payeeReference": "1662361777",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"details": {}
}
}
Trustly Reversed
Resource
Please note that this is an abbreviated example. See the main Reversed
example
for more context.
Trustly 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
{
"paymentOrder": "/psp/paymentorders/5adc265f-f87f-4313-577e-08d3dca1a26c",
"reversed": {
"id": "/psp/paymentorders/bf660901-93d0-4245-4e6b-08da8f165366/reversed",
"instrument": "Trustly",
"number": 79100113652,
"payeeReference": "1662373401",
"orderReference": "orderReference",
"transactionType": "Sale",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"details": {
"trustlyOrderId": 123456789
}
}
}
paymentOrder
object
reversed
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.
instrument
string
capture
is needed, we recommend using operations
or the transactionType
field.
number
integer
The paymentorder number
, useful when there’s need to reference the paymentorder in human communication. Not usable for programmatic identification of the paymentorder, where id
should be used instead.
payeeReference
string(30)
A unique reference from the merchant system. Set per operation to ensure an exactly-once delivery of a transactional operation. Length and content validation depends on whether the transaction.number
or the payeeReference
is sent to the acquirer. If Swedbank Pay handles the settlement, the transaction.number
is sent to the acquirer and the payeeReference
must be in the format of A-Za-z0-9
and string(30)
. If you handle the settlement, Swedbank Pay will send the payeeReference
and it will be limited to the format of string(12)
. All characters must be digits.
orderReference
string(50)
transactionType
string
Authorization
or Sale
. Can be used to understand if there is a need for doing a capture
on this payment order.
Swedbank Pay recommends using the different operations
to figure out if a capture
is needed.
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.
submittedAmount
integer
amount
field.
feeAmount
integer
discountAmount
integer
tokens
array
type
string
payment
, recurrence
, transactionOnFile
or unscheduled
. The different types of available tokens.
token
string
guid
.
name
string
expiryDate
string
details
object
nonPaymentToken
string
externalNonPaymentToken
string
paymentAccountReference
.
paymentAccountReference
string
paymentAccountReference
will also populate the externalNonPaymentToken field.
cardType
string
Credit Card
or Debit Card
. Indicates the type of card used for the authorization.
maskedPan
string
maskedDPan
string
expiryDate
string
issuerAuthorizationApprovalCode
string
acquirerTransactionType
string
3DSECURE
or STANDARD
. Indicates the transaction type of the acquirer.
acquirerStan
string
acquirerTerminalId
string
acquirerTransactionTime
string
transactionInitiator
string
MERCHANT
or CARDHOLDER
.