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 instruments 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
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
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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": "Paid",
"currency": "SEK",
"transactionType": "Authorization",
"amount": 1500,
"submittedAmount": 1500,
"feeAmount": 0,
"discountAmount": 0,
"vatAmount": 375,
"remainingCaptureAmount": 1500,
"remainingCancellationAmount": 1500,
"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,
"orderItems": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/orderitems"
},
"urls": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/urls"
},
"payeeInfo": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/payeeinfo"
},
"payer": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/payers"
},
"history": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/history"
},
"failed": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/failed"
},
"aborted": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/aborted"
},
"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",
"cardBrand": "Visa",
"cardType": "Credit",
"maskedPan": "492500******0004",
"expiryDate": "12/2022",
"issuerAuthorizationApprovalCode": "L00302",
"acquirerTransactionType": "STANDARD",
"acquirerStan": "302",
"acquirerTerminalId": "70101301389",
"acquirerTransactionTime": "2022-06-15T14:12:55.029Z",
"transactionInitiator": "CARDHOLDER",
"bin": "492500"
}
},
"cancelled": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/cancelled"
},
"financialTransactions": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/financialtransactions"
},
"failedAttempts": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/failedattempts"
},
"metadata": {
"id": "/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/metadata"
}
},
"operations": [
{
"method": "POST",
"href": "https://api.internaltest.payex.com/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/cancellations",
"rel": "cancel",
"contentType": "application/json"
},
{
"method": "POST",
"href": "https://api.internaltest.payex.com/psp/paymentorders/ca59fa8a-3423-40e5-0f77-08d9d133750b/captures",
"rel": "capture",
"contentType": "application/json"
},
]
}
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
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
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"cardType": "Credit",
"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
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
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890",
"cardBrand": "Visa",
"maskedPan": "489537******1424",
"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
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
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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,
"details": {
"nonPaymentToken": "12345678-1234-1234-1234-1234567890AB",
"externalNonPaymentToken": "1234567890"
"cardBrand": "Visa",
"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
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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,
"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
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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,
"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
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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,
"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
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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,
"details": {
"trustlyOrderId": 1234567890
}
}
}
Field | Type | Description |
---|---|---|
paymentOrder |
object |
The payment order 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 |
The ISO-8601 date of when the payment order was created. |
updated |
string |
The ISO-8601 date of when the payment order was updated. |
operation |
string |
Determines the initial operation, defining the type of payment order created. |
status |
string |
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. 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. Cancelled is returned when an authorized amount has been fully cancelled. 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). |
currency |
string |
The currency of the payment order. |
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. |
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 40 character length textual description of the purchase. |
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 |
A list of instruments available for this payment. |
implementation |
string |
The merchant’s Digital Payments implementation type. 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 |
The merchant’s Digital Payments integration type. 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 |
Set to true or false . Indicates if the payment is initialized with only one payment instrument available. |
guestMode |
bool |
Set to 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 |
string |
The URL to the payer resource where information about the payer can be retrieved. |
orderItems |
string |
The URL to the orderItems resource where information about the order items can be retrieved. |
history |
string |
The URL to the history resource where information about the payment’s history can be retrieved. |
failed |
string |
The URL to the failed resource where information about the failed transactions can be retrieved. |
aborted |
string |
The URL to the aborted resource where information about the aborted transactions can be retrieved. |
paid |
object |
The 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 |
The payment instrument used in the fulfillment of the payment. Do not use this field for code validation purposes. To determine if a 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 |
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 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 |
This will either be set to 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. |
remainingCaptureAmount |
integer |
The remaining authorized amount that is still possible to capture. |
remainingCancellationAmount |
integer |
The remaining authorized amount that is still possible to cancel. |
submittedAmount |
integer |
This field will display the initial payment order amount, not including any instrument specific discounts or fees. The final payment order amount will be displayed in the amount field. |
feeAmount |
integer |
If the payment instrument used had a unique fee, it will be displayed in this field. |
discountAmount |
integer |
If the payment instrument used had a unique discount, it will be displayed in this field. |
details |
integer |
Details connected to the payment. |
nonPaymentToken |
string |
The result of our own card tokenization. Activated in POS for the merchant or merchant group. |
externalNonPaymentToken |
string |
The result of an external tokenization. This value will vary depending on card types, acquirers, customers, etc. For Mass Transit merchants, transactions redeemed by Visa will be populated with PAR. For Mastercard and Amex, it will be our own token. |
cardType |
string |
Credit Card or Debit Card . Indicates the type of card used for the authorization. |
maskedPan |
string |
The masked PAN number of the card. |
expiryDate |
string |
The month and year of when the card expires. |
issuerAuthorizationApprovalCode |
string |
Payment reference code provided by the issuer. |
acquirerTransactionType |
string |
3DSECURE or STANDARD . Indicates the transaction type of the acquirer. |
acquirerStan |
string |
The System Trace Audit Number assigned by the acquirer to uniquely identify the transaction. |
acquirerTerminalId |
string |
The ID of the acquirer terminal. |
acquirerTransactionTime |
string |
The ISO-8601 date and time of the acquirer transaction. |
transactionInitatior |
string |
The party which initiated the transaction. MERCHANT or CARDHOLDER . |
bin |
string |
The first six digits of the maskedPan. |
msisdn |
string |
The msisdn used in the purchase. Only available when paid with Swish. |
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 |
The URL to the 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 a paid payment, the available operations are capture , cancel and redirect-checkout or view-checkout , depending on the integration. See Operations for details
|
If there e.g. is a recurrence or an unscheduled (below) token connected to the payment, it will appear like this.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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": {}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8; version=2.0
api-supported-versions: 2.0
{
"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 introduced in this section:
Field | Type | Description |
---|---|---|
tokens |
integer |
A list of tokens connected to the payment. |
type |
string |
payment , recurrence , transactionOnFile or unscheduled . The different types of available tokens. |
token |
string |
The token guid . |
name |
string |
The name of the token. In the example, a masked version of a card number. |
expiryDate |
string |
The expiry date of the token. |