Transaction Request/Response Models
The data models below define the structure for payment transactions. Use StartTransactionRequest to send payment requests and parse StartTransactionResponse to handle results from the Paynt app.
StartTransactionRequest
data class StartTransactionRequest(
val transType: StartTransactionType,
val uti: String, // UUID (reversal, completion)
val amountTrans: Int, // Amount in cents (e.g., 1250 = €12.50)
val printEnabled: Boolean = true, // Enable receipt printing
val reference: String = "" // Optional reference for acquirer
)
StartTransactionResponse
data class StartTransactionResponse(
val appName: String?, // Application name on card
val applicationId: String?, // AID
val authCode: String?, // Authorization code
val cardholderReceipt: List<List<String>>?, // Customer receipt lines
val cardholderVerificationMethod: String?, // CVM method used
val currencyCode: String?, // ISO currency code
val merchantId: String?, // Merchant identifier
val merchantReceipt: List<List<String>>?, // Merchant receipt lines
val messageId: Int?, // Transaction message ID
val primaryAccountNumber: String?, // Masked PAN
val signature: Boolean?, // Signature required
val terminalId: String?, // Terminal identifier
val transAmount: Int?, // Transaction amount in cents
val transactionDate: String?, // Transaction timestamp
val transApproved: Boolean?, // Transaction approved status
val transCancelled: Boolean?, // Transaction cancelled by user
val transactionResponse: String?, // Response code (acquirer specific)
val transactionSource: String?, // Source: ICC/PICC/MAG/MANUAL/NONE
val transactionType: StartTransactionType?, // Transaction type
val voided: Boolean?, // Voided transaction flag
val uti: String?, // Current transaction UTI
val originalUti: String? // Linked transaction UTI (Reversal/Completion)
)
StartTransactionType
enum class StartTransactionType {
SALE, REFUND, REVERSAL, PREAUTH, COMPLETION, UNKNOWN
}