POST api/payments/requests/{paymentId}/confirm

Confirms that the terminal took the payment: records the card details and turns the request into a payment. Fields left out default to: PaymentReference "Manual", PaymentMask and CardType empty, PaymentNetAmount the amount requested. Responses: 200 with the payment. 404 if the request no longer exists, which includes a second confirm of the same request.

Request Information

URI Parameters

NameDescriptionTypeAdditional information
paymentId

The payment request's PaymentId.

globally unique identifier

Required

Body Parameters

What the terminal returned.

PaymentRequestConfirmationDT
NameDescriptionTypeAdditional information
PaymentReference

The terminal's transaction reference. Defaults to "Manual".

string

None.

PaymentMask

The masked card number. Defaults to empty.

string

None.

PaymentNetAmount

The amount taken, not including the fee. Defaults to the amount requested.

decimal number

None.

CardType

The card type, such as VISA. Defaults to empty.

string

None.

Request Formats

application/json, text/json

Sample:
{
  "paymentReference": "sample string 1",
  "paymentMask": "sample string 2",
  "paymentNetAmount": 1.0,
  "cardType": "sample string 3"
}

Response Information

Resource Description

The payment.

PaymentDT
NameDescriptionTypeAdditional information
ContextUser

UserDT

None.

Refund

PaymentRefundDT

None.

User

UserDT

None.

PaymentType

PaymentTypeDT

None.

BasketId

globally unique identifier

None.

OrderId

globally unique identifier

None.

RequestData

string

None.

Refunded

decimal number

None.

Credited

decimal number

None.

Remaining

decimal number

None.

PaymentAmountText

string

None.

PaymentTypeName

string

None.

PaymentDescription

string

None.

PaymentId

globally unique identifier

None.

PaymentReference

string

None.

UserId

globally unique identifier

None.

ContextUserId

globally unique identifier

None.

SessionId

globally unique identifier

None.

PaymentAmount

decimal number

None.

PaymentTypeId

string

None.

PaymentMask

string

None.

PaymentTimeStamp

date

None.

PaymentMaskEnd

string

None.

PaymentFeeAmount

decimal number

None.

HardwareId

string

None.

PaymentRecipientId

globally unique identifier

None.

CardType

string

None.

TransactionId

globally unique identifier

None.

LedgerCode

string

None.

IsSaved

boolean

None.

Response Formats

application/json, text/json

Sample:
{
  "contextUser": {
    "userDescription": "sample string 9 sample string 10",
    "salutationCalculated": "sample string 17",
    "fullNameCalculated": "sample string 19",
    "listAlerts": [
      "sample string 1",
      "sample string 2"
    ],
    "userFullDescription": "sample string 9 sample string 10 sample string 14",
    "roleSummary": "sample string 5",
    "orderCount": 6,
    "statusCount": 7,
    "defaultAddress": {
      "country": {
        "countryId": "sample string 1",
        "countryName": "sample string 2",
        "addressTemplate": "sample string 3",
        "sortOrder": "sample string 4",
        "requiresPostcode": true,
        "alpha3": "sample string 6",
        "numeric": 1,
        "isSaved": true
      },
      "addressSummaryShort": "sample string 8, sample string 9, sample string 10, sample string 12 sample string 14",
      "addressSummaryFull": "sample string 3",
      "addressId": "96bbcc4e-7ea7-4c37-9418-7eda041bbdb4",
      "sao": "sample string 8",
      "pao": "sample string 9",
      "street": "sample string 10",
      "locality": "sample string 11",
      "town": "sample string 12",
      "county": "sample string 13",
      "postCode": "sample string 14",
      "countryId": "sample string 15",
      "isSaved": true
    },
    "defaultMobilePhone": {
      "phoneNumberId": "e0e87847-1e2a-49f5-a7e3-b63aadbdd20b",
      "phoneNumber": "sample string 2",
      "phoneNumberType": "sample string 3",
      "phoneNumberDigitsOnly": "sample string 4",
      "isSaved": true
    },
    "userId": "666d3aa5-dfb9-4ff4-a180-768e4dbd038f",
    "firstName": "sample string 9",
    "lastName": "sample string 10",
    "sortName": "sample string 11",
    "emailAddress": "sample string 12",
    "lastActivityDate": "2026-11-04T14:42:37.4679308+00:00",
    "title": "sample string 14",
    "isActive": true,
    "createdDate": "2026-11-04T14:42:37.4679308+00:00",
    "salutation": "sample string 17",
    "suffix": "sample string 18",
    "fullName": "sample string 19",
    "companyName": "sample string 20",
    "topicCollectionId": "7985b8fe-bb93-4a0c-99a9-7a0be58a8e73",
    "dateOfBirth": "2026-11-04T14:42:37.4679308+00:00",
    "pronouns": "sample string 21",
    "isEmailAddressValidated": true,
    "userAccountType": "sample string 22",
    "isSaved": true
  },
  "refund": {
    "url": "sample string 1",
    "refundPaymentId": "47dad433-1b8b-4d32-bd5c-bcd2782550bb",
    "originalPaymentId": "186061ba-6214-4db2-832f-529b866a964d",
    "processed": true,
    "processedDateTimeStamp": "2026-11-04T14:42:37.4679308+00:00",
    "isSaved": true
  },
  "user": {
    "userDescription": "sample string 9 sample string 10",
    "salutationCalculated": "sample string 17",
    "fullNameCalculated": "sample string 19",
    "listAlerts": [
      "sample string 1",
      "sample string 2"
    ],
    "userFullDescription": "sample string 9 sample string 10 sample string 14",
    "roleSummary": "sample string 5",
    "orderCount": 6,
    "statusCount": 7,
    "defaultAddress": {
      "country": {
        "countryId": "sample string 1",
        "countryName": "sample string 2",
        "addressTemplate": "sample string 3",
        "sortOrder": "sample string 4",
        "requiresPostcode": true,
        "alpha3": "sample string 6",
        "numeric": 1,
        "isSaved": true
      },
      "addressSummaryShort": "sample string 8, sample string 9, sample string 10, sample string 12 sample string 14",
      "addressSummaryFull": "sample string 3",
      "addressId": "96bbcc4e-7ea7-4c37-9418-7eda041bbdb4",
      "sao": "sample string 8",
      "pao": "sample string 9",
      "street": "sample string 10",
      "locality": "sample string 11",
      "town": "sample string 12",
      "county": "sample string 13",
      "postCode": "sample string 14",
      "countryId": "sample string 15",
      "isSaved": true
    },
    "defaultMobilePhone": {
      "phoneNumberId": "e0e87847-1e2a-49f5-a7e3-b63aadbdd20b",
      "phoneNumber": "sample string 2",
      "phoneNumberType": "sample string 3",
      "phoneNumberDigitsOnly": "sample string 4",
      "isSaved": true
    },
    "userId": "666d3aa5-dfb9-4ff4-a180-768e4dbd038f",
    "firstName": "sample string 9",
    "lastName": "sample string 10",
    "sortName": "sample string 11",
    "emailAddress": "sample string 12",
    "lastActivityDate": "2026-11-04T14:42:37.4679308+00:00",
    "title": "sample string 14",
    "isActive": true,
    "createdDate": "2026-11-04T14:42:37.4679308+00:00",
    "salutation": "sample string 17",
    "suffix": "sample string 18",
    "fullName": "sample string 19",
    "companyName": "sample string 20",
    "topicCollectionId": "7985b8fe-bb93-4a0c-99a9-7a0be58a8e73",
    "dateOfBirth": "2026-11-04T14:42:37.4679308+00:00",
    "pronouns": "sample string 21",
    "isEmailAddressValidated": true,
    "userAccountType": "sample string 22",
    "isSaved": true
  },
  "paymentType": {
    "paymentFeeAmountPreview": 1.0,
    "roleFilter": {
      "roleIds": [
        "752a3d86-54b7-4d4c-ab0e-005e5b704714",
        "ba77473f-b123-49c9-b052-6ec328dab58f"
      ],
      "roleFilterId": "cefffd76-1c0c-4290-a018-2e256c37c172",
      "roleFilterRule": "sample string 2",
      "isSaved": true
    },
    "displayAsIframe": true,
    "paymentTypeId": "sample string 3",
    "paymentTypeName": "sample string 4",
    "imageURL": "sample string 5",
    "requiresAddress": true,
    "requiresPhone": true,
    "requiresEmail": true,
    "isEnabled": true,
    "sortOrder": "sample string 10",
    "requiresCustomerPresence": "sample string 11",
    "paymentFeeSchemeId": "e60e9bf1-9dda-422f-aed2-1bfa4066d50e",
    "paymentTypeDescription": "sample string 12",
    "requiresAddressMessage": "sample string 13",
    "requiresPhoneMessage": "sample string 14",
    "requiresEmailMessage": "sample string 15",
    "requiresName": true,
    "requiresNameMessage": "sample string 17",
    "roleFilterId": "6885435f-47d8-4c15-b2cd-f23bad07896e",
    "isAutomaticRenewal": true,
    "paymentTypeCaption": "sample string 19",
    "ledgerCodeSchemeId": "fce71dde-977c-49cc-89aa-7d01ab3ae26c",
    "isSaved": true
  },
  "basketId": "1038c099-0e15-4231-a225-383eb5f6c0b5",
  "orderId": "fcbeee6b-3183-454a-bf03-85c79b902474",
  "requestData": "sample string 1",
  "refunded": 2.0,
  "credited": 3.0,
  "remaining": 4.0,
  "paymentAmountText": "sample string 5",
  "paymentTypeName": "sample string 6",
  "paymentDescription": "sample string 7",
  "paymentId": "1137f31a-4f47-476d-b3c2-8d816f3e4729",
  "paymentReference": "sample string 9",
  "userId": "e8d51965-3d79-489e-b586-f09d6b760f5d",
  "contextUserId": "04814912-ca31-407f-b79b-816fe738a99a",
  "sessionId": "fdb960e7-2480-429d-9efd-2e353177b602",
  "paymentAmount": 13.0,
  "paymentTypeId": "sample string 14",
  "paymentMask": "sample string 15",
  "paymentTimeStamp": "2026-11-04T14:42:37.4679308+00:00",
  "paymentMaskEnd": "sample string 17",
  "paymentFeeAmount": 18.0,
  "hardwareId": "sample string 19",
  "paymentRecipientId": "71c51435-f9db-454b-9a07-f494b29bbbf2",
  "cardType": "sample string 21",
  "transactionId": "d2767ae2-551a-46f8-9a2f-92d89a362062",
  "ledgerCode": "sample string 22",
  "isSaved": true
}