> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://ixopay.ferndocs.com/developer-hub/api-reference/transaction-api/status/transaction-status-by-merchant-transaction-id/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://ixopay.ferndocs.com/_mcp/server. # Retrieve status of a transaction GET https://gateway.ixopay.com/api/v3/status/{apiKey}/getByMerchantTransactionId/{merchantTransactionId} Reference: https://ixopay.ferndocs.com/developer-hub/api-reference/transaction-api/status/transaction-status-by-uuid ## Authentication - `Authorization` header (basic auth, required) — Basic authentication of the form `Basic `. ## Request ### Path parameters - `apiKey` (string, required) — API Key of Connector - `merchantTransactionId` (string, required) — ID of merchant transaction ## Response ### 200 Status response - `success` (boolean, optional) - `transactionStatus` (enum, optional) - Allowed values: `SUCCESS`, `PENDING`, `REDIRECT`, `CANCELLED`, `ERROR` - `uuid` (string, optional) - `merchantTransactionId` (string, optional) - `adapterMerchantTransactionId` (string, optional) — Adapter/PSP-side merchant transaction identifier recorded for transaction matching and reconciliation. Omitted when unavailable. - `purchaseId` (string, optional) - `transactionType` (enum, optional) - Allowed values: `DEBIT`, `CAPTURE`, `DEREGISTER`, `PREAUTHORIZE`, `REFUND`, `REGISTER`, `VOID`, `CHARGEBACK`, `CHARGEBACK-REVERSAL`, `PAYOUT`, `INCREMENTAL-AUTHORIZATION`, `DISPUTE`, `DISPUTE-REVERSAL` - `transactionSubType` (enum, optional) — Only present if transaction has a subType - Allowed values: `cb-resolved`, `cb-reversal-resolved` - `paymentMethod` (string, optional) - `amount` (string, optional) - `currency` (enum, optional) — ISO 4217 three-letter currency code (e.g. EUR, USD, GBP). - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VES`, `VND`, `VUV`, `WST`, `XAD`, `XAF`, `XCD`, `XCG`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMW`, `ZWG` - `surchargeAmount` (string, optional) — Only present if surcharge was applied - `totalAmount` (string, optional) — Only present if surcharge was applied - `schedules` (map from string to ScheduleData, optional) - `errors` (list of TransactionError, optional) - `chargebackData` (ChargebackData, optional) - `chargebackReversalData` (ChargebackReversalData, optional) - `extraData` (map from string to string, optional) - `merchantMetaData` (string, optional) - `returnData` (ReturnData, optional) - `payByLinkData` (PayByLinkData, optional) - `customer` (Customer, optional) - `customerProfileData` (CustomerProfileData, optional) - `tracingData` (TracingData, optional) — Present only if tracing was enabled in request ## Types ### ScheduleData - `scheduleId` (string, optional) - `scheduleStatus` (enum, optional) - Allowed values: `ACTIVE`, `PAUSED`, `CANCELLED`, `ERROR`, `CREATE-PENDING` - `scheduledAt` (string, optional) - `merchantMetaData` (string, optional) ### TransactionError - `message` (string, optional) - `code` (integer, optional) - `adapterMessage` (string, optional) - `adapterCode` (string, optional) ### ChargebackData - `originalUuid` (string, optional) - `originalMerchantTransactionId` (string, optional) - `amount` (string, optional) - `currency` (enum, optional) — ISO 4217 three-letter currency code (e.g. EUR, USD, GBP). - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VES`, `VND`, `VUV`, `WST`, `XAD`, `XAF`, `XCD`, `XCG`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMW`, `ZWG` - `reason` (string, optional) - `chargebackDateTime` (string, optional) - `disputeData` (TransactionDisputeData, optional) ### ChargebackReversalData - `originalUuid` (string, optional) - `originalMerchantTransactionId` (string, optional) - `chargebackUuid` (string, optional) - `amount` (string, optional) - `currency` (enum, optional) — ISO 4217 three-letter currency code (e.g. EUR, USD, GBP). - Allowed values: `AED`, `AFN`, `ALL`, `AMD`, `AOA`, `ARS`, `AUD`, `AWG`, `AZN`, `BAM`, `BBD`, `BDT`, `BHD`, `BIF`, `BMD`, `BND`, `BOB`, `BRL`, `BSD`, `BTN`, `BWP`, `BYN`, `BZD`, `CAD`, `CDF`, `CHF`, `CLP`, `CNY`, `COP`, `CRC`, `CUP`, `CVE`, `CZK`, `DJF`, `DKK`, `DOP`, `DZD`, `EGP`, `ERN`, `ETB`, `EUR`, `FJD`, `FKP`, `GBP`, `GEL`, `GHS`, `GIP`, `GMD`, `GNF`, `GTQ`, `GYD`, `HKD`, `HNL`, `HTG`, `HUF`, `IDR`, `ILS`, `INR`, `IQD`, `IRR`, `ISK`, `JMD`, `JOD`, `JPY`, `KES`, `KGS`, `KHR`, `KMF`, `KPW`, `KRW`, `KWD`, `KYD`, `KZT`, `LAK`, `LBP`, `LKR`, `LRD`, `LSL`, `LYD`, `MAD`, `MDL`, `MGA`, `MKD`, `MMK`, `MNT`, `MOP`, `MRU`, `MUR`, `MVR`, `MWK`, `MXN`, `MYR`, `MZN`, `NAD`, `NGN`, `NIO`, `NOK`, `NPR`, `NZD`, `OMR`, `PAB`, `PEN`, `PGK`, `PHP`, `PKR`, `PLN`, `PYG`, `QAR`, `RON`, `RSD`, `RUB`, `RWF`, `SAR`, `SBD`, `SCR`, `SDG`, `SEK`, `SGD`, `SHP`, `SLE`, `SOS`, `SRD`, `SSP`, `STN`, `SVC`, `SYP`, `SZL`, `THB`, `TJS`, `TMT`, `TND`, `TOP`, `TRY`, `TTD`, `TWD`, `TZS`, `UAH`, `UGX`, `USD`, `UYU`, `UZS`, `VES`, `VND`, `VUV`, `WST`, `XAD`, `XAF`, `XCD`, `XCG`, `XOF`, `XPF`, `YER`, `ZAR`, `ZMW`, `ZWG` - `reason` (string, optional) - `reversalDateTime` (string, optional) ### ReturnData ### PayByLinkData - `payByLink` (boolean, optional) - `sendViaEmail` (boolean, optional) ### Customer - `identification` (string, optional) — Your own identifier for this customer, used to link transactions/profiles to the same person. - `firstName` (string, optional) — Customer's first name. - `lastName` (string, optional) — Customer's last name. - `birthDate` (string, optional) - `gender` (enum, optional) — Customer's gender, where known. - Allowed values: `M`, `F` - `billingAddress1` (string, optional) — First line of the customer's billing address. - `billingAddress2` (string, optional) — Second line of the customer's billing address. - `billingCity` (string, optional) — City of the customer's billing address. - `billingPostcode` (string, optional) — Postal code of the customer's billing address. - `billingState` (string, optional) — State or region of the customer's billing address. - `billingCountry` (string, optional) - `billingPhone` (string, optional) — Customer's billing phone number. - `shippingFirstName` (string, optional) — First name on the shipping address. - `shippingLastName` (string, optional) — Last name on the shipping address. - `shippingCompany` (string, optional) — Company name on the shipping address, if shipping to a business. - `shippingAddress1` (string, optional) — First line of the shipping address. - `shippingAddress2` (string, optional) — Second line of the shipping address. - `shippingCity` (string, optional) — City of the shipping address. - `shippingPostcode` (string, optional) — Postal code of the shipping address. - `shippingState` (string, optional) — State or region of the shipping address. - `shippingCountry` (string, optional) - `shippingPhone` (string, optional) — Phone number on the shipping address. - `company` (string, optional) — Customer's company name, for business/B2B transactions. - `email` (string, optional) — Customer's email address. - `emailVerified` (boolean, optional) — Whether the merchant has already verified this customer's email address. - `ipAddress` (string, optional) — Customer's IP address at the time of the transaction, used for fraud/risk screening. - `nationalId` (string, optional) — Customer's national ID or tax identification number, where required by the acquirer or local regulation. - `extraData` (map from string to string, optional) - `paymentData` (PaymentData, optional) ### CustomerProfileData - `profileGuid` (string, optional) - `customerIdentification` (string, optional) - `paymentToken` (string, optional) - `markAsPreferred` (boolean, optional) ### TracingData - `transactions` (list of TracingDataTransactionsItems, optional) ### TransactionDisputeData - `adapterDisputeId` (string, optional) - `status` (string, optional) - `reasonText` (string, optional) - `reasonCode` (string, optional) - `metaData` (string, optional) - `createdAt` (string, optional) - `modifiedAt` (string, optional) ### ReturnCardData - `_TYPE` (string, optional) - `type` (string, optional) - `firstName` (string, optional) - `lastName` (string, optional) - `country` (string, optional) - `cardHolder` (string, optional) - `expiryMonth` (string, optional) - `expiryYear` (string, optional) - `binDigits` (string, optional) - `firstSixDigits` (string, optional) - `lastFourDigits` (string, optional) - `fingerprint` (string, optional) - `binBrand` (string, optional) - `binBank` (string, optional) - `binType` (string, optional) - `binLevel` (string, optional) - `binCountry` (string, optional) - `binSegment` (enum, optional) - Allowed values: `Consumer`, `Business`, `Commercial`, `Government`, `Unknown` - `binRawData` (ReturnCardDataBinRawData, optional) - `threeDSecure` (string, optional) - `eci` (string, optional) - `merchantAdviceCode` (string, optional) - `parsedMerchantAdviceCode` (string, optional) - `schemeTransactionIdentifier` (string, optional) - `schemeLifecycleIdentifier` (string, optional) - `referenceSchemeLifecycleIdentifier` (string, optional) - `cardUpdateStatus` (enum, optional) — Account updater transaction status - Allowed values: `updated`, `contact`, `new-expiry`, `closed` - `cardUpdatedAt` (date, optional) — Last run of the batch - `cardUpdatePausedUntil` (date, optional) — Updates paused until this date ### ReturnPhoneData - `_TYPE` (string, optional) - `phoneNumber` (string, optional) - `country` (string, optional) - `operator` (string, optional) ### ReturnIbanData - `_TYPE` (string, optional) - `accountOwner` (string, optional) - `iban` (string, optional) - `bic` (string, optional) - `mandateId` (string, optional) - `mandateDate` (string, optional) - `bankName` (string, optional) - `bankBranchName` (string, optional) - `country` (string, optional) ### ReturnWalletData - `_TYPE` (string, optional) - `walletReferenceId` (string, optional) - `walletOwner` (string, optional) - `walletType` (string, optional) ### PaymentData ### TracingDataTransactionsItems - `uuid` (string, optional) - `sequence_number` (string, optional) - `status` (string, optional) - `connector` (TracingDataTransactionsItemsConnector, optional) ### ReturnCardDataBinRawData - `type` (string, optional) - `data` (map from string to any, optional) ### IbanData - `ibanData` (IbanDataIbanData, optional) ### WalletData - `walletData` (WalletDataWalletData, optional) ### TracingDataTransactionsItemsConnector - `guid` (string, optional) - `adapter_name` (string, optional) - `brand` (string, optional) ### IbanDataIbanData - `iban` (string, optional) - `bic` (string, optional) - `mandateId` (string, optional) - `mandateDate` (string, optional) ### WalletDataWalletData - `walletReferenceId` (string, optional) - `walletOwner` (string, optional) - `walletType` (string, optional) ## Examples ### success **Response** ```json { "success": true, "transactionStatus": "SUCCESS", "uuid": "abcde12345abcde12345", "merchantTransactionId": "2019-09-02-0001", "purchaseId": "20190902-abcde12345abcde12345", "transactionType": "DEBIT", "paymentMethod": "Creditcard", "amount": "9.99", "currency": "EUR", "extraData": { "otherKey": "otherValue", "someKey": "someValue" }, "returnData": { "_TYPE": "cardData", "binBank": "SOME BIG BANK", "binBrand": "VISA", "binCountry": "US", "binDigits": "12345678", "cardHolder": "John Doe", "cardUpdatePausedUntil": "2024-05-07", "cardUpdateStatus": "updated", "cardUpdatedAt": "2024-05-07", "expiryMonth": "12", "expiryYear": "2030", "firstSixDigits": "123456", "lastFourDigits": "4321", "threeDSecure": "OFF", "type": "visa" }, "customer": { "firstName": "John", "lastName": "Doe", "company": "ACME Corp.", "emailVerified": true } } ``` **SDK Code** ```python success import requests url = "https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId" response = requests.get(url, auth=("", "")) print(response.json()) ``` ```javascript success const url = 'https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId'; const credentials = btoa(":"); const options = {method: 'GET', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go success package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId" req, _ := http.NewRequest("GET", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby success require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java success import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId") .basicAuth("", "") .asString(); ``` ```php success request('GET', 'https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp success using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.GET); IRestResponse response = client.Execute(request); ``` ```swift success import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ### error **Response** ```json { "success": false } ``` **SDK Code** ```python error import requests url = "https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId" response = requests.get(url, auth=("", "")) print(response.json()) ``` ```javascript error const url = 'https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId'; const credentials = btoa(":"); const options = {method: 'GET', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go error package main import ( "fmt" "net/http" "io" ) func main() { url := "https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId" req, _ := http.NewRequest("GET", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby error require 'uri' require 'net/http' url = URI("https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java error import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId") .basicAuth("", "") .asString(); ``` ```php error request('GET', 'https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp error using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.GET); IRestResponse response = client.Execute(request); ``` ```swift error import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://gateway.ixopay.com/api/v3/status/apiKey/getByMerchantTransactionId/merchantTransactionId")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```