Get Transaction By Reference
The "GetTransactionByReference" API retrieves the details of a specific transaction along with the status history.
Method: POST
{{URL}}/jsonrpc
Example
Request Parameters
Parameter | Description |
---|---|
method Mandatory | String Method Name must be "TransactionService.GetTransactionByReference" |
id | String A unique identifier for the request, typically used for tracing or correlation. |
params | Object Contains the request parameters including payload and API credentials. |
payload | Object Request-specific data. |
referenceId | String Unique reference ID of the transaction to be retrieved. |
api | Object Contains authentication and authorization details for the API request. |
credential Mandatory | String Basic (space) [( "<Username>:<apiKey>" ) as Base64 encoded value] to be provided Sample Value: "Basic bmF2eWEubitlbXBAbmV0eGQuY29tOmY1OWIwY2NlOTU4ZTQ1YTc4MGVhZWIzYWVjOWVjZDAx" |
signature Mandatory | String Sign the request payload (params.payload) using private key. Sample Value: "MEQCIAbpxHpdOyBEVlmxPYv7m4Z1OvWJJYw7g7u3GE3T9nmvAiBjKHckSvb1M6O4t7FeWsn2z9Y3dMeYn3HyX/k28ek/Dw==" |
apiKey Optional | String API key is provided at the time of device registration. Sample Value : "f59b0cce958e45a780eaeb3aec9ecd01" |
params.api.keyId Mandatory | String Key ID is provided at the time of device registration. Sample Value : "348076" |
- cURL
- C#
- Go
- NodeJS
curl --location '{{URL}}/jsonrpc' \
--header 'Content-Type: application/json' \
--data '{"method":"TransactionService.GetTransactionByReference","id":"1","params":{"payload":{"referenceId":"REFERENCE00130"},"api":{"credential":"Basic cmFqYXJlcEBuZXR4ZC5jb206MDM1Nzg2MmYxYTk4NDc3OGE0ZDU4NGE2YzBjYTMyNzM=","signature":"MEUCIQDsv7iL9YUshZxghhrcVavoLjJz+LhHVKNr/GCIVQO+JwIgcLFVPQ7HkSgyhy46Fh/5UPARVfbOrzafdN6Efu5QKs8=","apiKey":"0357862f1a984778a4d584a6c0ca3273","keyId":"463009"}}}'
var options = new RestClientOptions("{{URL}}")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("/PL/jsonrpc", Method.Post);
request.AddHeader("Content-Type", "application/json");
var body = @"{""method"":""TransactionService.GetTransactionByReference"",""id"":""1"",""params"":{""payload"":{""referenceId"":""REFERENCE00130""},""api"":{""credential"":""Basic cmFqYXJlcEBuZXR4ZC5jb206MDM1Nzg2MmYxYTk4NDc3OGE0ZDU4NGE2YzBjYTMyNzM="",""signature"":""MEUCIQDsv7iL9YUshZxghhrcVavoLjJz+LhHVKNr/GCIVQO+JwIgcLFVPQ7HkSgyhy46Fh/5UPARVfbOrzafdN6Efu5QKs8="",""apiKey"":""0357862f1a984778a4d584a6c0ca3273"",""keyId"":""463009""}}}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "{{URL}}/jsonrpc"
method := "POST"
payload := strings.NewReader(`{"method":"TransactionService.GetTransactionByReference","id":"1","params":{"payload":{"referenceId":"REFERENCE00130"},"api":{"credential":"Basic cmFqYXJlcEBuZXR4ZC5jb206MDM1Nzg2MmYxYTk4NDc3OGE0ZDU4NGE2YzBjYTMyNzM=","signature":"MEUCIQDsv7iL9YUshZxghhrcVavoLjJz+LhHVKNr/GCIVQO+JwIgcLFVPQ7HkSgyhy46Fh/5UPARVfbOrzafdN6Efu5QKs8=","apiKey":"0357862f1a984778a4d584a6c0ca3273","keyId":"463009"}}}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var http = require('follow-redirects').http;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'localhost',
'port': 5010,
'path': '/PL/jsonrpc',
'headers': {
'Content-Type': 'application/json'
},
'maxRedirects': 20
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"method": "TransactionService.GetTransactionByReference",
"id": "1",
"params": {
"payload": {
"referenceId": "REFERENCE00130"
},
"api": {
"credential": "Basic cmFqYXJlcEBuZXR4ZC5jb206MDM1Nzg2MmYxYTk4NDc3OGE0ZDU4NGE2YzBjYTMyNzM=",
"signature": "MEUCIQDsv7iL9YUshZxghhrcVavoLjJz+LhHVKNr/GCIVQO+JwIgcLFVPQ7HkSgyhy46Fh/5UPARVfbOrzafdN6Efu5QKs8=",
"apiKey": "0357862f1a984778a4d584a6c0ca3273",
"keyId": "463009"
}
}
});
req.write(postData);
req.end();
Body
{
"method": "TransactionService.GetTransactionByReference",
"id": "1",
"params": {
"payload": {
"referenceId": "REFERENCE00130"
},
"api": {
"credential": "{{Credential}}",
"signature": "{{signature}}",
"apiKey": "{{ApiKey}}",
"keyId": "{{DeviceID}}"
}
}
}
Response: 200
Response Parameters
Parameter | Description |
---|---|
id | String Unique ID of the API request Sample Value : "1" |
jsonrpc | String JSON-RPC version used Sample Value : "2.0" |
result | Object Contains transaction result details. |
type | String Type of transaction Sample Value : "ACH_OUT" |
previousStatus | String Status before the current update Sample Value : "PENDING" |
currentStatus | String Final status of the transaction Sample Value : "COMPLETED" |
statusHistory | Array Chronological status changes of the transaction. |
statusHistory[].paymentStage | String Stage name of the transaction flow Sample Value : "Admin Approval" |
statusHistory[].status | String Status at that payment stage Sample Value : "APPROVED" |
statusHistory[].createdDate | String ISO timestamp of status entry Sample Value : "2025-05-29T15:03:03.265Z" |
statusHistory[].user | String Email of the user who performed the action Sample Value : "t.rajagopal@netxd.com" |
referenceID | String Unique reference ID of the transaction Sample Value : "REFERENCE00130" |
transactionNumber | String Internal transaction number Sample Value : "QA00000003104001" |
reason | String Reason for the transaction Sample Value : "Settlement" |
customerID | String Customer ID of the transaction initiator Sample Value : "100000000045001" |
timeStamp | String ISO timestamp of transaction initiation Sample Value : "2024-08-26T06:20:25Z" |
transactionID | String Unique ID of the transaction Sample Value : "19882109" |
credit | Boolean Indicates if the transaction was a credit Sample Value : false |
instructedAmount | Object Amount and currency details of the transaction. |
amount | Number Amount transferred Sample Value : 300 |
currency | String Currency used for the transaction Sample Value : "USD" |
debtorAccount | Object Account details of the sender. |
accountNumber | String Sender's account number Sample Value : "200686362505215" |
nickName | String Nickname of the debtor account Sample Value : "JD" |
customerName | String Name of the debtor Sample Value : "EnableForAllAccount Test" |
customerID | String Debtor's customer ID Sample Value : "100000000045001" |
institutionId | String ID of the debtor’s financial institution Sample Value : "101115399" |
institutionName | String Name of the debtor’s financial institution Sample Value : "NETXD BANK" |
party | Object Party details of the debtor. |
name | String Name of the debtor party Sample Value : "EnableForAll AccountThree" |
address | Object Address of the debtor. |
line1 | String Street address line 1 Sample Value : "test" |
city | String City of the debtor Sample Value : "New York" |
state | String State or province Sample Value : "NY" |
country | String Country code Sample Value : "US" |
zipCode | String ZIP or postal code Sample Value : "98786" |
creditorAccount | Object Account details of the receiver. |
accountNumber | String Creditor's account number Sample Value : "89900200002" |
institutionId | String ID of the creditor’s institution Sample Value : "124303298" |
institutionName | String Name of the creditor’s institution Sample Value : "FINWISE BANK" |
party | Object Party details of the creditor. |
name | String Name of the creditor Sample Value : "Andy" |
line1 | String Street address line 1 Sample Value : "3745SWWanamakerRD" |
line2 | String Street address line 2 Sample Value : "SuiteC" |
city | String City Sample Value : "Topeka" |
state | String State Sample Value : "KS" |
country | String Country code Sample Value : "840" |
zipCode | String ZIP or postal code Sample Value : "66610" |
{
"id": "1",
"result": {
"type": "ACH_OUT",
"previousStatus": "PENDING",
"currentStatus": "COMPLETED",
"statusHistory": [
{
"paymentStage": "File Uploaded",
"status": "PENDING",
"createdDate": "2025-05-29T15:02:22.692Z",
"user": "rajarep@netxd.com"
},
{
"paymentStage": "Admin Approval",
"status": "APPROVED",
"createdDate": "2025-05-29T15:03:03.265Z",
"user": "t.rajagopal@netxd.com"
},
{
"paymentStage": "Connector Processed",
"status": "COMPLETED",
"createdDate": "2025-05-29T15:03:03.328Z",
"user": "t.rajagopal@netxd.com"
}
],
"referenceID": "REFERENCE00130",
"transactionNumber": "QA00000003104001",
"reason": "Settlement",
"customerID": "100000000045001",
"timeStamp": "2024-08-26T06:20:25Z",
"transactionID": "19882109",
"credit": false,
"instructedAmount": {
"amount": 300,
"currency": "USD"
},
"debtorAccount": {
"accountNumber": "200686362505215",
"party": {
"name": "EnableForAll AccountThree",
"address": {
"line1": "test",
"city": "New York",
"state": "NY",
"country": "US",
"zipCode": "98786"
}
},
"institutionId": "101115399",
"institutionName": "NETXD BANK",
"customerName": "EnableForAllAccount Test",
"customerID": "100000000045001",
"nickName": "JD"
},
"creditorAccount": {
"accountNumber": "89900200002",
"party": {
"name": "Andy",
"address": {
"line1": "3745SWWanamakerRD",
"line2": "SuiteC",
"city": "Topeka",
"state": "KS",
"country": "840",
"zipCode": "66610"
}
},
"institutionId": "124303298",
"institutionName": "FINWISE BANK"
}
},
"jsonrpc": "2.0"
}
Error Codes
Error Codes
Error Code | Error Message | Recommended Action |
---|---|---|
BAD_INPUT | ID is invalid or missing | ReferenceId is missing. Please provide a valid Reference Id |
UNAUTHORIZED | Access Denied | Access Denied. Please Check with Support Team |
NOT_FOUND_TRANSACTION | No transaction found with reference | Please provide a valid Reference Id of a transaction and try again |
INVALID_SIGNATURE | Invalid Signature | Signature is invalid. Please ensure correct key, algorithm and signature process is followed |
NOT_FOUND_USER_DEVICE | User device not found | Invalid Key Id. please provide valid Key ID |
BAD_CREDENTIAL | Invalid Credential | Invalid credential. Please verify the credentials provided. |