03-Address Routing (Post-Transaction)
- This test case validates your callback server's ability to handle address routing detection for Post-Transaction scenarios.
- GTR will send a callback request (
callbackType=10,verifyTargetType=2) to check if a specific address belongs to your system and potentially redirect to another local entity within your corporate group. - Post-Transaction scenario: your server should check both
beneficiaryAddressandtransactionInfo.txId.
GTR Request (GTR → VASP)
- Method:
POST - Your Callback Endpoint:
https://[YOUR_CALLBACK_URL] - Authentication:
- mTLS (Mutual Transport Layer Security) - GTR will authenticate using client certificates
- Header:
Content-Type: application/json
- Body:
{
"requestId": "test-[RANDOM_ID]",
"invokeVaspCode": "[YOUR_VASP_CODE]",
"originatorVasp": "[YOUR_VASP_CODE]",
"beneficiaryVasp": "[TESTER_VASP_CODE]",
"callbackType": 10,
"callbackData": {
"requestId": "test-[RANDOM_ID]",
"verifyTargetType": 2,
"transactionInfo": {
"network": "[NETWORK_SYMBOL]",
"txId": "[TX_ID]"
},
"beneficiaryAddress": {
"address": "[TEST_ADDRESS]",
"tag": "[ADDRESS_TAG]"
},
"initiatorVasp": "[TESTER_VASP_CODE]"
}
}
curl -v --location --request POST 'https://[YOUR_CALLBACK_URL]' \
-k \
--header 'Content-Type: application/json' \
--data-raw '{
"requestId": "test-abc123def456",
"invokeVaspCode": "[YOUR_VASP_CODE]",
"originatorVasp": "[YOUR_VASP_CODE]",
"beneficiaryVasp": "[TESTER_VASP_CODE]",
"callbackType": 10,
"callbackData": {
"requestId": "test-abc123def456",
"verifyTargetType": 2,
"transactionInfo": {
"network": "[NETWORK_SYMBOL]",
"txId": "[TX_ID]"
},
"beneficiaryAddress": {
"address": "[TEST_ADDRESS]",
"tag": "[ADDRESS_TAG]"
},
"initiatorVasp": "[TESTER_VASP_CODE]"
}
}'
Hint:
callbackType: 10indicates address routing detectionverifyTargetType: 2indicates Post-Transaction scenario (with TXID)- Your server should respond within 2 seconds
- Check both
beneficiaryAddressANDtransactionInfo.txId
Materials:
- Callback API 4: Address Routing Detection
- Authentication & mTLS Setup
- Callback Server Setup Guide
- List of Networks
Expected Response (VASP → GTR)
Your server should return one of the following responses depending on the address lookup result:
Response A: Address Found (belongs to this VASP)
{
"verifyStatus": 100000,
"verifyMessage": "",
"data": {
"redirectVaspCode": null
}
}
Response B: Address Found but Wrong VASP (redirect needed)
{
"verifyStatus": 200017,
"verifyMessage": "address/tx exists, but wrong VASP",
"data": {
"redirectVaspCode": "[CORRECTED_VASP_CODE]"
}
}
Response C: Address Not Found
{
"verifyStatus": 200001,
"verifyMessage": "address is not found"
}
Test Validation
Success Criteria:
- ✅ Your callback server responds within 2 seconds
- ✅ HTTP status code 200 returned
- ✅ Correct
verifyStatusfor the found/redirect/not found scenarios - ✅ Proper routing to correct entity (if applicable)
Common Issues:
- ⚠️ Timeout: Ensure address lookup completes within 2 seconds
- ⚠️ Wrong verifyTargetType: This test uses type 2 (Post-Transaction with TXID)
- ⚠️ Missing TXID validation: Check both address AND transaction ID
- ⚠️ Incorrect routing logic: Ensure proper entity routing within corporate group