# Get Transaction Return details of a transaction. Endpoint: GET /transactions/{transactionId} Version: 3.0 Security: Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT ## Path parameters: - `transactionId` (string, required) ## Response 200 fields (application/json): - `purchaseDetails` (object, required) - `purchaseDetails.orderId` (string, required) System unique identifier for the order. - `purchaseDetails.merchantId` (string, required) System unique identifier for the merchant the order was created for. - `purchaseDetails.referenceOrderId` (string, required) A reference provided by the merchant to identify this order, such as an order number. - `purchaseDetails.amount` (object, required) The order amount including any surcharge passed on to the customer. - `purchaseDetails.amount.minorCurrencyUnits` (integer, required) The amount in minor currency units (e.g. cents for AUD). - `purchaseDetails.amount.currency` (string, required) The currency of the given amount as a 3 letter ISO code. - `purchaseDetails.surchargeAmount` (integer, required) The amount in minor currency units that was surcharged to the customer. - `purchaseDetails.refundedAmount` (integer, required) The amount in minor currency units that has been refunded to the customer. - `purchaseDetails.merchantName` (string, required) Business name of the merchant the order is associated with. - `purchaseDetails.transactionId` (string, required) System unique identifier for the transaction representing this payment. - `purchaseDetails.referenceTransactionId` (string) A reference provided by the merchant to identify this transaction. - `purchaseDetails.orderType` (string, required) Enum: "online", "paybylink", "invoice" - `purchaseDetails.payType` (string, required) Enum: "PayPlan", "PayInFull" - `purchaseDetails.description` (string) A free text description of the order. - `purchaseDetails.orderMetadata` (object) Metadata passed in when creating the order. - `purchaseDetails.status` (string, required) These are the statuses returned by the order payment API and the values displayed when merchant integrators retrieve (GET) a transaction via the API. Note: our dashboards in most cases map these statuses to different values, but only for display purposes. * accepted - This payment was accepted by the customer but the payment method is asynchronous (e.g.: Direct Debit, Bank Transfer), so we have to wait for the final result before we move it to either paid or failed. * paid - This payment is successful and funds have been collected. * pending - This payment is successful, funds have been collected from the customer, but they are pending being transferred to the merchants balance. This status is currently only used by PayPlan's since we delay the transfer of funds into a merchants balance. * refunded - A full refund has been initiated on this payment. * partially_refunded - A partial refund of the original payment amount has been initiated on this payment. * failed - The attempt to collect funds from the payment method was not successful. * cancelled - This payment has been cancelled. * disputed - At least one charge on the payment method has been disputed. * not_captured - The payment method has been authorised but funds are not yet captured. * incomplete - This payment has not been completed by the customer. Currently, a transaction is only incomplete if 3DS authentication has not yet been completed. If the customer does not complete the authentication, the transaction will stay in this state. Enum: "accepted", "paid", "refunded", "partially_refunded", "pending", "failed", "cancelled", "disputed", "not_captured", "incomplete" - `purchaseDetails.refundIds` (array) A list of refund system unique identifiers issued against this transaction. - `purchaseDetails.disputeIds` (array) System unique identifiers for any disputes raised against this transaction. - `purchaseDetails.paidOn` (string) The day the payment was settled with the merchant. Only set after a successful payout. - `purchaseDetails.availableOn` (string) The day this payment will be available for payout to the merchant. - `purchaseDetails.parentTransactionId` (any) - `purchaseDetails.referenceIssuerTransactionId` (string) If this transaction runs as a closed loop transaction, this will provide the corresponding IssuerTransactionId - `purchaseDetails.createdAt` (string, required) - `purchaseDetails.updatedAt` (string, required) - `purchaseDetails.disputeId` (string) System unique identifier for a dispute raised against this transaction, if any. - `paymentMethod` (any) - `serviceFees` (object) Restricted field - only included if caller has access. - `serviceFees.variableAmount` (integer, required) - `serviceFees.fixedAmount` (integer, required) - `serviceFees.taxAmount` (integer, required) - `serviceFees.totalAmount` (integer, required) - `customerDetails` (object) - `customerDetails.customerId` (string, required) System unique identifier for the customer. - `customerDetails.referenceCustomerId` (string) A reference provided by the merchant to identify this customer. If provided, must be unique for the given merchant. - `customerDetails.customerName` (string, required) Full name of the customer. - `customerDetails.customerEmailAddress` (string, required) Email address of the customer. - `customerDetails.customerPhoneNumber` (string) Phone number of the customer. - `timelines` (array) - `timelines.eventType` (string, required) Enum: "PaymentSucceed", "PaymentRefunded", "PaymentFailed", "PaymentAccepted", "PaymentAuthorised", "PaymentDisputed", "PaymentDisputeWon", "PaymentDisputeLost", "PaymentCancelled", "PaymentIncomplete", "PaymentTransferred" - `timelines.eventTime` (string, required) - `timelines.amount` (integer) - `timelines.identifier` (string) ## Response 400 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 401 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 403 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 404 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 405 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 406 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 409 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 422 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 429 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 500 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata ## Response 503 fields (application/json): - `statusCode` (integer, required) HTTP status code for this error - `errorCode` (string, required) An April code providing a brief explanation of the underlying error. Use this if you wish to provide custom behaviour based on the error type. - `message` (string, required) Human readable description of the error - `tracer` (string) An unique identifier for the request. Provide this to the support team if you wish to query a particular error. - `detail` (string) Optional additional details for the error. - `errorTypeDescription` (string) A description of the category of errors for the given statusCode. - `metadata` (any) Optional key value list of metadata