Partner APIs: MCA
Fetch Virtual Accounts
Returns all global virtual account details assigned to a fully activated merchant, grouped by collection label and settlement currency.
GET
/
gcc
/
v3
/
merchants
/
{merchantId}
/
ffms
/
virtualAccounts
Fetch Virtual Accounts
curl --request GET \
--url https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts \
--header 'x-gl-auth: <api-key>'import requests
url = "https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts"
headers = {"x-gl-auth": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.get("https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts")
.header("x-gl-auth", "<api-key>")
.asString();const url = 'https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts';
const options = {method: 'GET', headers: {'x-gl-auth': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"gid": "REQ-XXXXX",
"status": "201 CREATED",
"timestamp": "08/10/2025 16:25:33",
"reasonCode": "GL-201-001",
"data": {
"general": {
"USD": {
"id": "acct_abc123",
"accountId": null,
"accountNumber": "XXXXXXXXXX4490",
"accountNumberType": "Local",
"accountHolderName": "Acme Exports",
"bankName": "Citibank, N.A.",
"bankAddress": "One Penns Way, New Castle, DE 19720",
"bankCountry": "US",
"currency": "USD",
"paymentType": null,
"routingCode": "31100209",
"routingCodeType": "ABA Number",
"createdAt": "1752649980511",
"updatedAt": null
},
"AUD": {
"id": "acct_def456",
"accountId": null,
"accountNumber": "XXXXXX4490",
"accountNumberType": "Local",
"accountHolderName": "Acme Exports",
"bankName": "BC Payments",
"bankAddress": "Level 11/10 Carrington St, Sydney NSW 2000, Australia",
"bankCountry": "AU",
"currency": "AUD",
"paymentType": null,
"routingCode": "252000",
"routingCodeType": "BSB Number",
"createdAt": "1752649980511",
"updatedAt": null
}
}
},
"errors": null
}{
"status": "REQUEST_ERROR",
"message": "MERCHANT ID NOT VALID",
"gid": "REQ-XXXXX",
"timestamp": "2024-11-18T12:34:56Z"
}{
"status": "REQUEST_ERROR",
"message": "MERCHANT NOT ACTIVATED",
"gid": "REQ-XXXXX",
"timestamp": "2024-11-18T12:34:56Z"
}When to Use
Call this after a merchant is fully activated on PayGlocal to retrieve their assigned global virtual accounts. Accounts are grouped by collection label (e.g.general) and within each label by currency code.
Returns data only for activated merchants. Calling for a merchant still in onboarding or pending review returns HTTP 401.
Response Structure
Thedata object is a two-level map:
data
└── <collection_label> (e.g. "general")
└── <currency_code> (e.g. "USD", "AUD", "GBP")
└── VirtualAccount (account number, bank name, routing code, etc.)
Error Scenarios
| Scenario | HTTP Code |
|---|---|
merchantId is not valid | 400 |
| Merchant is not activated | 401 |
Authorizations
Static API Key generated from the PayGlocal Partner Dashboard.
Path Parameters
Identifier of the onboarded merchant.
Fetch Virtual Accounts
curl --request GET \
--url https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts \
--header 'x-gl-auth: <api-key>'import requests
url = "https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts"
headers = {"x-gl-auth": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.get("https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts")
.header("x-gl-auth", "<api-key>")
.asString();const url = 'https://gcc.prod.payglocal.in/gcc/v3/merchants/{merchantId}/ffms/virtualAccounts';
const options = {method: 'GET', headers: {'x-gl-auth': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"gid": "REQ-XXXXX",
"status": "201 CREATED",
"timestamp": "08/10/2025 16:25:33",
"reasonCode": "GL-201-001",
"data": {
"general": {
"USD": {
"id": "acct_abc123",
"accountId": null,
"accountNumber": "XXXXXXXXXX4490",
"accountNumberType": "Local",
"accountHolderName": "Acme Exports",
"bankName": "Citibank, N.A.",
"bankAddress": "One Penns Way, New Castle, DE 19720",
"bankCountry": "US",
"currency": "USD",
"paymentType": null,
"routingCode": "31100209",
"routingCodeType": "ABA Number",
"createdAt": "1752649980511",
"updatedAt": null
},
"AUD": {
"id": "acct_def456",
"accountId": null,
"accountNumber": "XXXXXX4490",
"accountNumberType": "Local",
"accountHolderName": "Acme Exports",
"bankName": "BC Payments",
"bankAddress": "Level 11/10 Carrington St, Sydney NSW 2000, Australia",
"bankCountry": "AU",
"currency": "AUD",
"paymentType": null,
"routingCode": "252000",
"routingCodeType": "BSB Number",
"createdAt": "1752649980511",
"updatedAt": null
}
}
},
"errors": null
}{
"status": "REQUEST_ERROR",
"message": "MERCHANT ID NOT VALID",
"gid": "REQ-XXXXX",
"timestamp": "2024-11-18T12:34:56Z"
}{
"status": "REQUEST_ERROR",
"message": "MERCHANT NOT ACTIVATED",
"gid": "REQ-XXXXX",
"timestamp": "2024-11-18T12:34:56Z"
}
