Transaction by ID
The Partners Reporting API allows for the querying of a single POS transaction processed by any of your merchants.
GET Transactions - Request
The Transaction request is completed via a GET request to the test URL shown above, and should contain the below header data. The access_token will be the one received in the Authentication Response. The URL contains the transactionId, returned from a previous GET.
| HTTP Header | |||
|---|---|---|---|
| Field Name | State | Data Type | Description |
| Content-Type | Mandatory | String | application/json |
| Authorization | Mandatory | String | Bearer access_token |
GET Request Example
GET https://test-api.dnapayments.com/v1/pos/partners/transactions/1c0d2a11-911e-4d3a-b9f2-1977d874d7b1
HTTP/1.1
Content-Type: application/json
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.26.8
Accept: */*
Host: 192.168.0.75:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
GET Transactions - Response
If the request is successful, the method will return a 200 response code, and the body will contain the following fields:
| GET Transactions Response | ||||||
|---|---|---|---|---|---|---|
| Field Name | Data Type | Description | ||||
| totalAmount | Decimal | Total amount for the requested time period. | ||||
| totalCount | Integer | Total count of records for the requested time period. | ||||
| data.merchantId | String | Unique ID for the merchant, allocated by DNA Payments. | ||||
| data.merchantName | String | Name of the merchant. | ||||
| data.transactionDate | String | Date/time when the transaction was created on the DNA Platform. | ||||
| data.amount | Decimal | Transaction amount. | ||||
| data.currency | String | Transaction currency code. ISO 4271 Format [e.g. “GBP”] | ||||
| data.status | String |
| ||||
| data.returnCode | String | The response code which was returned by the Acquirer during the authorisation process. | ||||
| data.returnCodeDescription | String | Description of the Response Code returned by the Acquirer. | ||||
| data.transactionId | String | Unique ID allocated to the transaction. | ||||
| data.terminalId | String | Unique Terminal ID for the merchant, allocated by DNA Payments. | ||||
| data.operation | String | Confirmation of the operation performed. See operation for all operations. | ||||
| data.transactionType | String | Type of transaction completed. See transactionType for all transaction types. | ||||
| data.transactionCountry | String | Country where the transaction was processed. | ||||
| data.transactionCity | String | City where the transaction was processed. | ||||
| data.cardScheme | String | Type of card used in the transaction. | ||||
| data.cardMask | String | Masked PAN for the payment card used in the transaction, contains the first six and last four digits. | ||||
| data.cardType | Nullable String | Type of card used in the transaction. | ||||
| data.isEuropeanCard | Nullable Boolean | Confirmation of whether the card used in the transaction was issued in Europe (including the UK).
| ||||
| data.isCorporateCard | Nullable Boolean | Confirmation of whether the card used in the transaction is a Corporate card.
| ||||
| data.captureMethod | String | Capture method for the transaction. See captureMethod for all capture methods. | ||||
GET Example Response
{
"merchantId": "fd9991e8-802a-46f7-9d23-7981a852de17",
"merchantName": "TEST LIMITED",
"transactionDate": "2021-03-13T22:39:12Z",
"amount": 10.87,
"currency": "GBP",
"status": "success",
"returnCode": "0",
"returnCodeDescription": "Successfully completed",
"transactionId": "M138811RG1PK",
"terminalId": "03000024",
"operation": "advice",
"transactionType": "retail",
"transactionCountry": "GBR",
"transactionCity": "Maidstone",
"cardScheme": "visa",
"cardMask": "420000...0000",
"cardType": "credit",
"isEuropeanCard": true,
"isCorporateCard": false,
"captureMethod": "pos-contactless"
}
Errors
| HTTP Status Code | Description | Notes |
|---|---|---|
| 400 | Bad Request | Request format is invalid. |
| 401 | Unauthorized | Invalid authentication credentials have been supplied. |
| 403 | Forbidden | Authorisation has failed due to insufficient permissions. |
| 404 | Not Found | The requested resource does not exist. |
| 422 | Unprocessable Entity | API cannot complete the requested action. |
| 500 | Internal Server Error | Internal error has occurred, please try again later. |
| 503 | Service Unavailable | API is temporarily offline for maintenance, please try again later. |
{ "code": 86, "message": "Unauthorized" }
If any of these errors are seen on a regular basis or they cannot be overcome, please contact us for assistance.