# TransactionOutcome

The result of a transaction or refund with details


```swift
public struct TransactionOutcome : Equatable, Sendable {

    public let amount: String

    public let surcharge: String

    public let approvalCode: String

    public let cardType: String?

    public let elidedPan: String

    public let isSignatureRequired: Bool

    public let merchantCategoryCode: String

    public let mid: String

    public let retrievalReferenceNumber: String

    public let statusCode: String

    public let statusMessage: String

    public let tid: String

    public let transactionDate: String

    public let transactionID: String

    public let transactionReference: String

    public let transactionTime: String

    public let customerReceipt: String
}
```

## Parameters


```json
{
  "type": "object",
  "properties": {
    "amount": {
      "type": "String",
      "description": "The total authorised transaction amount in cents."
    },
    "surcharge": {
      "type": "String",
      "description": "The surcharge amount in cents, it will be `nil` if surcharge is unsupported."
    },
    "approvalCode": {
      "type": "String"
    },
    "cardType": {
      "type": "String",
      "description": "The type of card used in the transaction",
      "enum": [
        "Visa",
        "Mastercard",
        "AMEX",
        "JCB",
        "UnionPay",
        "MyDebit",
        "Diners",
        "TPN",
        "VCCS (NAPAS)",
        "Discover",
        "EFTPOS"
      ]
    },
    "elidedPan": {
      "type": "String",
      "description": "The elided string representing the PAN for the card used in the transaction. The last 4 digits are available"
    },
    "isSignatureRequired": {
      "type": "Bool",
      "description": "Whether or not the transaction requires a signature"
    },
    "merchantCategoryCode": {
      "type": "String"
    },
    "mid": {
      "type": "String",
      "description": "The merchant identifier (MID) of the transaction."
    },
    "retrievalReferenceNumber": {
      "type": "String"
    },
    "statusCode": {
      "type": "String",
      "enum": [
        "APPROVED",
        "DECLINED",
        "REVERSED"
      ]
    },
    "statusMessage": {
      "type": "String"
    },
    "tid": {
      "type": "String",
      "description": "The terminal identifier (TID) of the transaction."
    },
    "transactionDate": {
      "type": "String"
    },
    "transactionID": {
      "type": "String"
    },
    "transactionReference": {
      "type": "String"
    },
    "transactionTime": {
      "type": "String"
    },
    "customerReceipt": {
      "type": "String",
      "description": "Formatted receipt with transaction details"
    }
  },
  "required": [
    "amount",
    "approvalCode",
    "elidedPan",
    "isSignatureRequired",
    "merchantCategoryCode",
    "mid",
    "retrievalReferenceNumber",
    "statusCode",
    "statusMessage",
    "tid",
    "transactionDate",
    "transactionID",
    "transactionReference",
    "transactionTime",
    "customerReceipt"
  ]
}
```