Capture the final part of funds and mark an authorisation as completely captured.
Use the following request to perform a final capture.
val finalCaptureRequest = TransactionRequest(
merchantTransactionId = "FINA-001",
merchantTransactionDate = OffsetDateTime.now(),
amounts = Amounts(transaction = amount),
merchantDeeplink = "app://merchantapp/return",
systemTransactionId = "ORIGINAL-TRANSACTION-ID",
operation = OperationType.FinalCapture
)| Property | Description |
|---|---|
merchantTransactionIdstring (≤ 50 characters) | The unique identifier for this transaction, as chosen by you. |
merchantTransactionDateOffsetDateTime | The date and time when the initial transaction happened, in ISO 8601 format. |
amountsobject | Details about the transaction amount. |
merchantDeeplinkstring | The URL that the SDK will navigate back to upon transaction completion, if applicable. For more information, see Callback navigation. |
systemTransactionIdstring | The unique systemTransactionId associated with the transaction you want to modify. |
operationOperation | The type of modification that you want to make. Set this to FinalCapture.Possible values:
|
If your request is successful, you'll receive a response containing a new systemTransactionId. You'll also receive a Transaction (Card Authorised) webhook notification.
structureTransactionResponse(
state = "Captured",
stateData = StateData(
code = "Success",
message = "Transaction successful"
),
approvalCode = "123456",
merchantTransactionId = "MERCH-001",
merchantTransactionDate = "2024-03-19T10:30:00Z",
systemTransactionId = "PXP-123456789",
providerTransactionId = "PROV-987654321",
fundingData = FundingData(
maskedPrimaryAccountNumber = "************1234",
expiryMonth = "12",
expiryYear = "2025",
cardScheme = "Visa",
gatewayTokenId = "123e4567-e89b-12d3-a456-426614174000",
emvDataResponse = EmvDataResponse(
applicationId = "A0000000031010",
applicationLabel = "VISA CREDIT",
authorisationResponseCode = "00",
cardHolderVerificationMethodResults = "410000",
panSequenceNumber = "01",
preferredName = "VISA CREDIT"
),
providerResponse = ProviderResponse(
provider = "PROVIDER_NAME",
code = "00",
message = "Approved",
merchantId = "MERCH123",
terminalId = "TERM456",
paymentAccountReference = "PAR-123456",
schemeTransactionId = "VISA-789012"
)
)
)| Property | Description |
|---|---|
statestring | The current state of the transaction. Possible values:
|
stateDataobject | Details about the state. |
stateData.codestring | The state code. |
stateData.messagestring | The state message. |
approvalCodestring | A unique identifier code provided by the authorising entity, indicating approval or reference for the transaction. This code typically consists of alphanumeric characters, starting with an uppercase letter, and serves as a key reference for authorisation verification. |
merchantTransactionIdstring | The merchant transaction ID. |
merchantTransactionDatedate-time | The date and time when the transaction happened, in ISO 8601 format. |
systemTransactionIdstring | The system transaction ID. |
providerTransactionIdstring | The transaction ID set by the provider. |
fundingDataobject | Details about the funding method. |
fundingData.maskedPrimaryAccountNumberstring | The masked primary account number. |
fundingData.expiryMonthstring | The card's expiry month (MM). |
fundingData.expiryYearstring | The card's expiry year (YYYY). |
fundingData.cardSchemestring | The card scheme. |
fundingData.gatewayTokenIdstring | The gateway token ID. |
fundingData.emvDataResponseobject | Details about the EMV (Europay, Mastercard, and Visa) response. |
fundingData.emvDataResponse.applicationIdstring | EMV tag 9F06: a unique identifier for the application, according to ISO/IEC 7816-5. |
fundingData.emvDataResponse.applicationLabelstring | EMV tag 50: a mnemonic associated with the Application Identifier (AID) according to ISO/IEC 7816-5. |
fundingData.emvDataResponse.authorisationResponseCodestring | The authorisation response code. |
fundingData.emvDataResponse.cardHolderVerificationMethodResultsstring | EMV tag 9F34: the results of the last cardholder verification method performed. |
fundingData.emvDataResponse.panSequenceNumberstring | EMV tag 5F34: the PAN sequence number, which identifies and differentiates cards with the same PAN. |
fundingData.emvDataResponse.preferredNamestring | The preferred name of the application as designated by the card issuer. |
fundingData.providerResponseobject | Details about the provider response. |
fundingData.providerResponse.providerstring | The name of the provider that processed the transaction. |
fundingData.providerResponse.codestring | The raw result code returned by the provider that processed the transaction. |
fundingData.providerResponse.messagestring | The raw message associated with the result code from the provider that processed the transaction. |
fundingData.providerResponse.merchantIdstring | The unique identified assigned to you by the provider. |
fundingData.providerResponse.terminalIdstring | The unique identifier assigned to the terminal by the provider. |
fundingData.providerResponse.paymentAccountReferencestring | The unique identifier assigned to a payment account, independent of the card number. It remains constant over the account's lifetime, even if the card number (PAN) changes. |
fundingData.providerResponse.schemeTransactionIdstring | The scheme transaction ID. |