Operation paid-payment 
        
        
      
The paid-payment operation confirms that the transaction has been successful
and that the payment is completed.
A paid-payment operation looks like this:
`paid-payment` operation
1
2
3
4
5
6
{
   "href": "https://api.externalintegration.payex.com/psp/vipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/paid",
   "rel": "paid-payment",
   "method": "GET",
   "contentType": "application/json"
}
 
To inspect the paid payment, you need to perform an HTTP GET request
towards the operation’s href field. An example of the request and
response is given below.
Request
1
2
3
4
GET /psp/vipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/paid HTTP/1.1
Host: api.externalintegration.payex.com
Authorization: Bearer <AccessToken>
Content-Type: application/json
 
Response
1
2
HTTP/1.1 200 OK
Content-Type: application/json
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    "payment": "/psp/vipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1",
    "paid": {
        "id": "/psp/vipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/paid",
        "number": 1234567890,
        "transaction": {
            "id": "/pspvipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/transactions/",
            "number": 1234567891
        },
        "payeeReference": "CD123",
        "orderReference": "AB1234",
        "amount": 1500
    }
}
 
| Field | Type | Description | 
|---|---|---|
| payment | string | The relative URL and unique identifier of the paymentresource thistransactionbelongs to.     Please read about URL Usage     to understand how this and other URLs should be used in your solution. | 
| transaction | string | The object representation of the generic transactionresource, containing information about the current transaction. | 
| id | string | The relative URL and unique identifier of the transactionresource thistransactionbelongs to.     Please read about URL Usage     to understand how this and other URLs should be used in your solution. | 
| 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, whereidshould 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.numberor thepayeeReferenceis sent to the acquirer. If Swedbank Pay handles the     settlement, thetransaction.numberis sent to the acquirer and thepayeeReferencemust be in the format ofA-Za-z0-9andstring(30). If you handle the settlement,     Swedbank Pay will send thepayeeReferenceand it will be limited to the     format ofstring(12). All characters must be digits. | 
| orderReference | string(50) | The order reference, which should reflect the order reference found in the merchant’s systems. | 
| amount | integer | The transaction amount (including VAT, if any) entered in the lowest monetary unit of the selected currency. E.g.: 10000=100.00SEK,5000=50.00SEK. | 
| tokens | integer | A list of generated tokens. | 
| details | integer | A human readable and descriptive text of the payment. | 
| cardBrand | string | Visa,MC, etc. The brand of the card. | 
| maskedPan | string | The masked PAN number of the card. | 
| cardType | string | Credit CardorDebit Card. Indicates the type of card used for the authorization. | 
| issuingBank | string | The name of the bank that issued the card used for the authorization. | 
| countryCode | string | The country the card is issued in. | 
| acquirerTransactionType | string | 3DSECUREorSSL. 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. | 
| 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. | 
        
        
          Operation failed-payment 
        
        
      
The failed-payment operation means that something went wrong during the
payment process. The transaction was not authorized, and no further transactions
can be created if the payment is in this state.
A failed-payment operation looks like this:
`failed-payment` operation
1
2
HTTP/1.1 200 OK
Content-Type: application/json
 
1
2
3
4
5
6
{
   "href": "https://api.externalintegration.payex.com/psp/vipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/failed",
   "rel": "failed-payment",
   "method": "GET",
   "contentType": "application/problem+json"
}
 
To inspect why the payment failed, you need to perform an HTTP GET request
towards the operation’s href field.
The problem message can be found in details field. Under problems you can
see which problem occurred, a description of the problem and the corresponding
error code.
An example of the request and response is given below.
Response
1
2
HTTP/1.1 200 OK
Content-Type: application/json
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    "problem": {
        "type": "https://api.externalintegration.payex.com/psp/errordetail/vipps/acquirererror",
        "title": "Operation failed",
        "status": 403,
        "detail":  "Unable to complete Authorization transaction, look at problem node!", 
        "problems": [
            {
                "name": "ExternalResponse",
                "description": "REJECTED_BY_ACQUIRER-unknown error, response-code: 51"
            }
        ]
    }
}
 
        
        
          Operation aborted-payment 
        
        
      
The aborted-payment operation means that the merchant aborted the payment
before the payer fulfilled the payment process. You can see this under
abortReason in the response.
An aborted-payment operation looks like this:
`aborted-payment` operation
1
2
HTTP/1.1 200 OK
Content-Type: application/json
 
1
2
3
4
5
6
{
    "href": "https://api.externalintegration.payex.com/psp/creditcard/payments/<paymentId>/aborted",
    "rel": "aborted-payment",
    "method": "GET",
    "contentType": "application/json"
}
 
To inspect why the payment was aborted, you need to perform an HTTP GET
request towards the operation’s href field. An example of the request and
response is given below.
Request
1
2
3
4
GET /psp/vipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1/aborted HTTP/1.1
Host: api.externalintegration.payex.com
Authorization: Bearer <AccessToken>
Content-Type: application/json
 
Response
1
2
HTTP/1.1 200 OK
Content-Type: application/json
 
1
2
3
4
5
6
{
    "payment": "/psp/vipps/payments/7e6cdfc3-1276-44e9-9992-7cf4419750e1",
    "aborted": {
        "abortReason": "Aborted by consumer"
    }
}