Validate a credit before execution
curl --request POST \
--url https://api.examplebank.com/meridian/v1/credits/validate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"FIToFICstmrCdtTrf": {
"GrpHdr": {
"MsgId": "CR7Q2M9X4KZ8-withdrawal-request",
"CreDtTm": "2026-08-12T07:04:05.123Z",
"NbOfTxs": "1",
"SttlmInf": {
"SttlmMtd": "CLRG"
},
"InstgAgt": {
"FinInstnId": {
"BICFI": "MRDNUS33"
}
},
"InstdAgt": {
"FinInstnId": {
"BICFI": "EXBKPHMM"
}
}
},
"CdtTrfTxInf": [
{
"PmtId": {
"InstrId": "CR7Q2M9X4KZ8",
"EndToEndId": "mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27"
},
"IntrBkSttlmAmt": {
"Ccy": "PHP",
"Amt": 1500
},
"Dbtr": {
"Nm": "Juan Cruz",
"GvnNm": "Juan",
"FmlyNm": "Cruz",
"PstlAdr": {
"AdrLine": [
"123 Test Street"
],
"TwnNm": "San Jose",
"CtrySubDvsn": "CA",
"PstCd": "95112",
"Ctry": "US"
},
"CtryOfRes": "US",
"PrvtId": {
"DtAndPlcOfBirth": {
"BirthDt": "1990-01-15"
}
}
},
"DbtrAcct": {
"Id": {
"Othr": {
"Id": "MRDN-SND-0042"
}
},
"Ccy": "USD"
},
"DbtrAgt": {
"FinInstnId": {
"BICFI": "MRDNUS33"
}
},
"CdtrAgt": {
"FinInstnId": {
"BICFI": "EXBKPHMM"
}
},
"Cdtr": {
"Nm": "Maria Santos",
"GvnNm": "Maria",
"FmlyNm": "Santos"
},
"CdtrAcct": {
"Id": {
"Othr": {
"Id": "001234567890"
}
},
"Ccy": "PHP"
},
"RmtInf": {
"Ustrd": [
"Family support",
"R9x8k2m4p6w1c3v5b7n9q0z2"
]
},
"Purp": {
"Prtry": "REMITTANCES"
},
"XchgRate": "56.25",
"SplmtryData": [
{
"PlcAndNm": "/MeridianPay/CrossBorderInfo",
"Envlp": {
"sourceAmount": "26.67",
"sourceCurrency": "USD",
"exchangeRate": "56.25",
"reference": "R9x8k2m4p6w1c3v5b7n9q0z2",
"relationToReceiver": "FAMILY",
"sourceOfIncome": "SALARY"
}
}
]
}
]
}
}
'import requests
url = "https://api.examplebank.com/meridian/v1/credits/validate"
payload = { "FIToFICstmrCdtTrf": {
"GrpHdr": {
"MsgId": "CR7Q2M9X4KZ8-withdrawal-request",
"CreDtTm": "2026-08-12T07:04:05.123Z",
"NbOfTxs": "1",
"SttlmInf": { "SttlmMtd": "CLRG" },
"InstgAgt": { "FinInstnId": { "BICFI": "MRDNUS33" } },
"InstdAgt": { "FinInstnId": { "BICFI": "EXBKPHMM" } }
},
"CdtTrfTxInf": [
{
"PmtId": {
"InstrId": "CR7Q2M9X4KZ8",
"EndToEndId": "mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27"
},
"IntrBkSttlmAmt": {
"Ccy": "PHP",
"Amt": 1500
},
"Dbtr": {
"Nm": "Juan Cruz",
"GvnNm": "Juan",
"FmlyNm": "Cruz",
"PstlAdr": {
"AdrLine": ["123 Test Street"],
"TwnNm": "San Jose",
"CtrySubDvsn": "CA",
"PstCd": "95112",
"Ctry": "US"
},
"CtryOfRes": "US",
"PrvtId": { "DtAndPlcOfBirth": { "BirthDt": "1990-01-15" } }
},
"DbtrAcct": {
"Id": { "Othr": { "Id": "MRDN-SND-0042" } },
"Ccy": "USD"
},
"DbtrAgt": { "FinInstnId": { "BICFI": "MRDNUS33" } },
"CdtrAgt": { "FinInstnId": { "BICFI": "EXBKPHMM" } },
"Cdtr": {
"Nm": "Maria Santos",
"GvnNm": "Maria",
"FmlyNm": "Santos"
},
"CdtrAcct": {
"Id": { "Othr": { "Id": "001234567890" } },
"Ccy": "PHP"
},
"RmtInf": { "Ustrd": ["Family support", "R9x8k2m4p6w1c3v5b7n9q0z2"] },
"Purp": { "Prtry": "REMITTANCES" },
"XchgRate": "56.25",
"SplmtryData": [
{
"PlcAndNm": "/MeridianPay/CrossBorderInfo",
"Envlp": {
"sourceAmount": "26.67",
"sourceCurrency": "USD",
"exchangeRate": "56.25",
"reference": "R9x8k2m4p6w1c3v5b7n9q0z2",
"relationToReceiver": "FAMILY",
"sourceOfIncome": "SALARY"
}
}
]
}
]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
FIToFICstmrCdtTrf: {
GrpHdr: {
MsgId: 'CR7Q2M9X4KZ8-withdrawal-request',
CreDtTm: '2026-08-12T07:04:05.123Z',
NbOfTxs: '1',
SttlmInf: {SttlmMtd: 'CLRG'},
InstgAgt: {FinInstnId: {BICFI: 'MRDNUS33'}},
InstdAgt: {FinInstnId: {BICFI: 'EXBKPHMM'}}
},
CdtTrfTxInf: [
{
PmtId: {
InstrId: 'CR7Q2M9X4KZ8',
EndToEndId: 'mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27'
},
IntrBkSttlmAmt: {Ccy: 'PHP', Amt: 1500},
Dbtr: {
Nm: 'Juan Cruz',
GvnNm: 'Juan',
FmlyNm: 'Cruz',
PstlAdr: {
AdrLine: ['123 Test Street'],
TwnNm: 'San Jose',
CtrySubDvsn: 'CA',
PstCd: '95112',
Ctry: 'US'
},
CtryOfRes: 'US',
PrvtId: {DtAndPlcOfBirth: {BirthDt: '1990-01-15'}}
},
DbtrAcct: {Id: {Othr: {Id: 'MRDN-SND-0042'}}, Ccy: 'USD'},
DbtrAgt: {FinInstnId: {BICFI: 'MRDNUS33'}},
CdtrAgt: {FinInstnId: {BICFI: 'EXBKPHMM'}},
Cdtr: {Nm: 'Maria Santos', GvnNm: 'Maria', FmlyNm: 'Santos'},
CdtrAcct: {Id: {Othr: {Id: '001234567890'}}, Ccy: 'PHP'},
RmtInf: {Ustrd: ['Family support', 'R9x8k2m4p6w1c3v5b7n9q0z2']},
Purp: {Prtry: 'REMITTANCES'},
XchgRate: '56.25',
SplmtryData: [
{
PlcAndNm: '/MeridianPay/CrossBorderInfo',
Envlp: {
sourceAmount: '26.67',
sourceCurrency: 'USD',
exchangeRate: '56.25',
reference: 'R9x8k2m4p6w1c3v5b7n9q0z2',
relationToReceiver: 'FAMILY',
sourceOfIncome: 'SALARY'
}
}
]
}
]
}
})
};
fetch('https://api.examplebank.com/meridian/v1/credits/validate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.examplebank.com/meridian/v1/credits/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'FIToFICstmrCdtTrf' => [
'GrpHdr' => [
'MsgId' => 'CR7Q2M9X4KZ8-withdrawal-request',
'CreDtTm' => '2026-08-12T07:04:05.123Z',
'NbOfTxs' => '1',
'SttlmInf' => [
'SttlmMtd' => 'CLRG'
],
'InstgAgt' => [
'FinInstnId' => [
'BICFI' => 'MRDNUS33'
]
],
'InstdAgt' => [
'FinInstnId' => [
'BICFI' => 'EXBKPHMM'
]
]
],
'CdtTrfTxInf' => [
[
'PmtId' => [
'InstrId' => 'CR7Q2M9X4KZ8',
'EndToEndId' => 'mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27'
],
'IntrBkSttlmAmt' => [
'Ccy' => 'PHP',
'Amt' => 1500
],
'Dbtr' => [
'Nm' => 'Juan Cruz',
'GvnNm' => 'Juan',
'FmlyNm' => 'Cruz',
'PstlAdr' => [
'AdrLine' => [
'123 Test Street'
],
'TwnNm' => 'San Jose',
'CtrySubDvsn' => 'CA',
'PstCd' => '95112',
'Ctry' => 'US'
],
'CtryOfRes' => 'US',
'PrvtId' => [
'DtAndPlcOfBirth' => [
'BirthDt' => '1990-01-15'
]
]
],
'DbtrAcct' => [
'Id' => [
'Othr' => [
'Id' => 'MRDN-SND-0042'
]
],
'Ccy' => 'USD'
],
'DbtrAgt' => [
'FinInstnId' => [
'BICFI' => 'MRDNUS33'
]
],
'CdtrAgt' => [
'FinInstnId' => [
'BICFI' => 'EXBKPHMM'
]
],
'Cdtr' => [
'Nm' => 'Maria Santos',
'GvnNm' => 'Maria',
'FmlyNm' => 'Santos'
],
'CdtrAcct' => [
'Id' => [
'Othr' => [
'Id' => '001234567890'
]
],
'Ccy' => 'PHP'
],
'RmtInf' => [
'Ustrd' => [
'Family support',
'R9x8k2m4p6w1c3v5b7n9q0z2'
]
],
'Purp' => [
'Prtry' => 'REMITTANCES'
],
'XchgRate' => '56.25',
'SplmtryData' => [
[
'PlcAndNm' => '/MeridianPay/CrossBorderInfo',
'Envlp' => [
'sourceAmount' => '26.67',
'sourceCurrency' => 'USD',
'exchangeRate' => '56.25',
'reference' => 'R9x8k2m4p6w1c3v5b7n9q0z2',
'relationToReceiver' => 'FAMILY',
'sourceOfIncome' => 'SALARY'
]
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.examplebank.com/meridian/v1/credits/validate"
payload := strings.NewReader("{\n \"FIToFICstmrCdtTrf\": {\n \"GrpHdr\": {\n \"MsgId\": \"CR7Q2M9X4KZ8-withdrawal-request\",\n \"CreDtTm\": \"2026-08-12T07:04:05.123Z\",\n \"NbOfTxs\": \"1\",\n \"SttlmInf\": {\n \"SttlmMtd\": \"CLRG\"\n },\n \"InstgAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"InstdAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n }\n },\n \"CdtTrfTxInf\": [\n {\n \"PmtId\": {\n \"InstrId\": \"CR7Q2M9X4KZ8\",\n \"EndToEndId\": \"mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27\"\n },\n \"IntrBkSttlmAmt\": {\n \"Ccy\": \"PHP\",\n \"Amt\": 1500\n },\n \"Dbtr\": {\n \"Nm\": \"Juan Cruz\",\n \"GvnNm\": \"Juan\",\n \"FmlyNm\": \"Cruz\",\n \"PstlAdr\": {\n \"AdrLine\": [\n \"123 Test Street\"\n ],\n \"TwnNm\": \"San Jose\",\n \"CtrySubDvsn\": \"CA\",\n \"PstCd\": \"95112\",\n \"Ctry\": \"US\"\n },\n \"CtryOfRes\": \"US\",\n \"PrvtId\": {\n \"DtAndPlcOfBirth\": {\n \"BirthDt\": \"1990-01-15\"\n }\n }\n },\n \"DbtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"MRDN-SND-0042\"\n }\n },\n \"Ccy\": \"USD\"\n },\n \"DbtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"CdtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n },\n \"Cdtr\": {\n \"Nm\": \"Maria Santos\",\n \"GvnNm\": \"Maria\",\n \"FmlyNm\": \"Santos\"\n },\n \"CdtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"001234567890\"\n }\n },\n \"Ccy\": \"PHP\"\n },\n \"RmtInf\": {\n \"Ustrd\": [\n \"Family support\",\n \"R9x8k2m4p6w1c3v5b7n9q0z2\"\n ]\n },\n \"Purp\": {\n \"Prtry\": \"REMITTANCES\"\n },\n \"XchgRate\": \"56.25\",\n \"SplmtryData\": [\n {\n \"PlcAndNm\": \"/MeridianPay/CrossBorderInfo\",\n \"Envlp\": {\n \"sourceAmount\": \"26.67\",\n \"sourceCurrency\": \"USD\",\n \"exchangeRate\": \"56.25\",\n \"reference\": \"R9x8k2m4p6w1c3v5b7n9q0z2\",\n \"relationToReceiver\": \"FAMILY\",\n \"sourceOfIncome\": \"SALARY\"\n }\n }\n ]\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.examplebank.com/meridian/v1/credits/validate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"FIToFICstmrCdtTrf\": {\n \"GrpHdr\": {\n \"MsgId\": \"CR7Q2M9X4KZ8-withdrawal-request\",\n \"CreDtTm\": \"2026-08-12T07:04:05.123Z\",\n \"NbOfTxs\": \"1\",\n \"SttlmInf\": {\n \"SttlmMtd\": \"CLRG\"\n },\n \"InstgAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"InstdAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n }\n },\n \"CdtTrfTxInf\": [\n {\n \"PmtId\": {\n \"InstrId\": \"CR7Q2M9X4KZ8\",\n \"EndToEndId\": \"mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27\"\n },\n \"IntrBkSttlmAmt\": {\n \"Ccy\": \"PHP\",\n \"Amt\": 1500\n },\n \"Dbtr\": {\n \"Nm\": \"Juan Cruz\",\n \"GvnNm\": \"Juan\",\n \"FmlyNm\": \"Cruz\",\n \"PstlAdr\": {\n \"AdrLine\": [\n \"123 Test Street\"\n ],\n \"TwnNm\": \"San Jose\",\n \"CtrySubDvsn\": \"CA\",\n \"PstCd\": \"95112\",\n \"Ctry\": \"US\"\n },\n \"CtryOfRes\": \"US\",\n \"PrvtId\": {\n \"DtAndPlcOfBirth\": {\n \"BirthDt\": \"1990-01-15\"\n }\n }\n },\n \"DbtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"MRDN-SND-0042\"\n }\n },\n \"Ccy\": \"USD\"\n },\n \"DbtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"CdtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n },\n \"Cdtr\": {\n \"Nm\": \"Maria Santos\",\n \"GvnNm\": \"Maria\",\n \"FmlyNm\": \"Santos\"\n },\n \"CdtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"001234567890\"\n }\n },\n \"Ccy\": \"PHP\"\n },\n \"RmtInf\": {\n \"Ustrd\": [\n \"Family support\",\n \"R9x8k2m4p6w1c3v5b7n9q0z2\"\n ]\n },\n \"Purp\": {\n \"Prtry\": \"REMITTANCES\"\n },\n \"XchgRate\": \"56.25\",\n \"SplmtryData\": [\n {\n \"PlcAndNm\": \"/MeridianPay/CrossBorderInfo\",\n \"Envlp\": {\n \"sourceAmount\": \"26.67\",\n \"sourceCurrency\": \"USD\",\n \"exchangeRate\": \"56.25\",\n \"reference\": \"R9x8k2m4p6w1c3v5b7n9q0z2\",\n \"relationToReceiver\": \"FAMILY\",\n \"sourceOfIncome\": \"SALARY\"\n }\n }\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.examplebank.com/meridian/v1/credits/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"FIToFICstmrCdtTrf\": {\n \"GrpHdr\": {\n \"MsgId\": \"CR7Q2M9X4KZ8-withdrawal-request\",\n \"CreDtTm\": \"2026-08-12T07:04:05.123Z\",\n \"NbOfTxs\": \"1\",\n \"SttlmInf\": {\n \"SttlmMtd\": \"CLRG\"\n },\n \"InstgAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"InstdAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n }\n },\n \"CdtTrfTxInf\": [\n {\n \"PmtId\": {\n \"InstrId\": \"CR7Q2M9X4KZ8\",\n \"EndToEndId\": \"mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27\"\n },\n \"IntrBkSttlmAmt\": {\n \"Ccy\": \"PHP\",\n \"Amt\": 1500\n },\n \"Dbtr\": {\n \"Nm\": \"Juan Cruz\",\n \"GvnNm\": \"Juan\",\n \"FmlyNm\": \"Cruz\",\n \"PstlAdr\": {\n \"AdrLine\": [\n \"123 Test Street\"\n ],\n \"TwnNm\": \"San Jose\",\n \"CtrySubDvsn\": \"CA\",\n \"PstCd\": \"95112\",\n \"Ctry\": \"US\"\n },\n \"CtryOfRes\": \"US\",\n \"PrvtId\": {\n \"DtAndPlcOfBirth\": {\n \"BirthDt\": \"1990-01-15\"\n }\n }\n },\n \"DbtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"MRDN-SND-0042\"\n }\n },\n \"Ccy\": \"USD\"\n },\n \"DbtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"CdtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n },\n \"Cdtr\": {\n \"Nm\": \"Maria Santos\",\n \"GvnNm\": \"Maria\",\n \"FmlyNm\": \"Santos\"\n },\n \"CdtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"001234567890\"\n }\n },\n \"Ccy\": \"PHP\"\n },\n \"RmtInf\": {\n \"Ustrd\": [\n \"Family support\",\n \"R9x8k2m4p6w1c3v5b7n9q0z2\"\n ]\n },\n \"Purp\": {\n \"Prtry\": \"REMITTANCES\"\n },\n \"XchgRate\": \"56.25\",\n \"SplmtryData\": [\n {\n \"PlcAndNm\": \"/MeridianPay/CrossBorderInfo\",\n \"Envlp\": {\n \"sourceAmount\": \"26.67\",\n \"sourceCurrency\": \"USD\",\n \"exchangeRate\": \"56.25\",\n \"reference\": \"R9x8k2m4p6w1c3v5b7n9q0z2\",\n \"relationToReceiver\": \"FAMILY\",\n \"sourceOfIncome\": \"SALARY\"\n }\n }\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"FIToFIPmtStsRpt": {
"GrpHdr": {
"MsgId": "EBNK-STS-20260812-000102",
"CreDtTm": "2026-08-12T15:04:06+08:00"
},
"OrgnlGrpInfAndSts": {
"OrgnlMsgId": "CR7Q2M9X4KZ8-withdrawal-request",
"OrgnlMsgNmId": "pacs.008"
},
"TxInfAndSts": [
{
"OrgnlInstrId": "CR7Q2M9X4KZ8",
"OrgnlEndToEndId": "mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27",
"TxSts": "ACCP"
}
]
}
}
Prepare Credit
Validate a credit
Confirm the recipient account can receive the credit before any money moves.
POST
/
credits
/
validate
Validate a credit before execution
curl --request POST \
--url https://api.examplebank.com/meridian/v1/credits/validate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"FIToFICstmrCdtTrf": {
"GrpHdr": {
"MsgId": "CR7Q2M9X4KZ8-withdrawal-request",
"CreDtTm": "2026-08-12T07:04:05.123Z",
"NbOfTxs": "1",
"SttlmInf": {
"SttlmMtd": "CLRG"
},
"InstgAgt": {
"FinInstnId": {
"BICFI": "MRDNUS33"
}
},
"InstdAgt": {
"FinInstnId": {
"BICFI": "EXBKPHMM"
}
}
},
"CdtTrfTxInf": [
{
"PmtId": {
"InstrId": "CR7Q2M9X4KZ8",
"EndToEndId": "mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27"
},
"IntrBkSttlmAmt": {
"Ccy": "PHP",
"Amt": 1500
},
"Dbtr": {
"Nm": "Juan Cruz",
"GvnNm": "Juan",
"FmlyNm": "Cruz",
"PstlAdr": {
"AdrLine": [
"123 Test Street"
],
"TwnNm": "San Jose",
"CtrySubDvsn": "CA",
"PstCd": "95112",
"Ctry": "US"
},
"CtryOfRes": "US",
"PrvtId": {
"DtAndPlcOfBirth": {
"BirthDt": "1990-01-15"
}
}
},
"DbtrAcct": {
"Id": {
"Othr": {
"Id": "MRDN-SND-0042"
}
},
"Ccy": "USD"
},
"DbtrAgt": {
"FinInstnId": {
"BICFI": "MRDNUS33"
}
},
"CdtrAgt": {
"FinInstnId": {
"BICFI": "EXBKPHMM"
}
},
"Cdtr": {
"Nm": "Maria Santos",
"GvnNm": "Maria",
"FmlyNm": "Santos"
},
"CdtrAcct": {
"Id": {
"Othr": {
"Id": "001234567890"
}
},
"Ccy": "PHP"
},
"RmtInf": {
"Ustrd": [
"Family support",
"R9x8k2m4p6w1c3v5b7n9q0z2"
]
},
"Purp": {
"Prtry": "REMITTANCES"
},
"XchgRate": "56.25",
"SplmtryData": [
{
"PlcAndNm": "/MeridianPay/CrossBorderInfo",
"Envlp": {
"sourceAmount": "26.67",
"sourceCurrency": "USD",
"exchangeRate": "56.25",
"reference": "R9x8k2m4p6w1c3v5b7n9q0z2",
"relationToReceiver": "FAMILY",
"sourceOfIncome": "SALARY"
}
}
]
}
]
}
}
'import requests
url = "https://api.examplebank.com/meridian/v1/credits/validate"
payload = { "FIToFICstmrCdtTrf": {
"GrpHdr": {
"MsgId": "CR7Q2M9X4KZ8-withdrawal-request",
"CreDtTm": "2026-08-12T07:04:05.123Z",
"NbOfTxs": "1",
"SttlmInf": { "SttlmMtd": "CLRG" },
"InstgAgt": { "FinInstnId": { "BICFI": "MRDNUS33" } },
"InstdAgt": { "FinInstnId": { "BICFI": "EXBKPHMM" } }
},
"CdtTrfTxInf": [
{
"PmtId": {
"InstrId": "CR7Q2M9X4KZ8",
"EndToEndId": "mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27"
},
"IntrBkSttlmAmt": {
"Ccy": "PHP",
"Amt": 1500
},
"Dbtr": {
"Nm": "Juan Cruz",
"GvnNm": "Juan",
"FmlyNm": "Cruz",
"PstlAdr": {
"AdrLine": ["123 Test Street"],
"TwnNm": "San Jose",
"CtrySubDvsn": "CA",
"PstCd": "95112",
"Ctry": "US"
},
"CtryOfRes": "US",
"PrvtId": { "DtAndPlcOfBirth": { "BirthDt": "1990-01-15" } }
},
"DbtrAcct": {
"Id": { "Othr": { "Id": "MRDN-SND-0042" } },
"Ccy": "USD"
},
"DbtrAgt": { "FinInstnId": { "BICFI": "MRDNUS33" } },
"CdtrAgt": { "FinInstnId": { "BICFI": "EXBKPHMM" } },
"Cdtr": {
"Nm": "Maria Santos",
"GvnNm": "Maria",
"FmlyNm": "Santos"
},
"CdtrAcct": {
"Id": { "Othr": { "Id": "001234567890" } },
"Ccy": "PHP"
},
"RmtInf": { "Ustrd": ["Family support", "R9x8k2m4p6w1c3v5b7n9q0z2"] },
"Purp": { "Prtry": "REMITTANCES" },
"XchgRate": "56.25",
"SplmtryData": [
{
"PlcAndNm": "/MeridianPay/CrossBorderInfo",
"Envlp": {
"sourceAmount": "26.67",
"sourceCurrency": "USD",
"exchangeRate": "56.25",
"reference": "R9x8k2m4p6w1c3v5b7n9q0z2",
"relationToReceiver": "FAMILY",
"sourceOfIncome": "SALARY"
}
}
]
}
]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
FIToFICstmrCdtTrf: {
GrpHdr: {
MsgId: 'CR7Q2M9X4KZ8-withdrawal-request',
CreDtTm: '2026-08-12T07:04:05.123Z',
NbOfTxs: '1',
SttlmInf: {SttlmMtd: 'CLRG'},
InstgAgt: {FinInstnId: {BICFI: 'MRDNUS33'}},
InstdAgt: {FinInstnId: {BICFI: 'EXBKPHMM'}}
},
CdtTrfTxInf: [
{
PmtId: {
InstrId: 'CR7Q2M9X4KZ8',
EndToEndId: 'mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27'
},
IntrBkSttlmAmt: {Ccy: 'PHP', Amt: 1500},
Dbtr: {
Nm: 'Juan Cruz',
GvnNm: 'Juan',
FmlyNm: 'Cruz',
PstlAdr: {
AdrLine: ['123 Test Street'],
TwnNm: 'San Jose',
CtrySubDvsn: 'CA',
PstCd: '95112',
Ctry: 'US'
},
CtryOfRes: 'US',
PrvtId: {DtAndPlcOfBirth: {BirthDt: '1990-01-15'}}
},
DbtrAcct: {Id: {Othr: {Id: 'MRDN-SND-0042'}}, Ccy: 'USD'},
DbtrAgt: {FinInstnId: {BICFI: 'MRDNUS33'}},
CdtrAgt: {FinInstnId: {BICFI: 'EXBKPHMM'}},
Cdtr: {Nm: 'Maria Santos', GvnNm: 'Maria', FmlyNm: 'Santos'},
CdtrAcct: {Id: {Othr: {Id: '001234567890'}}, Ccy: 'PHP'},
RmtInf: {Ustrd: ['Family support', 'R9x8k2m4p6w1c3v5b7n9q0z2']},
Purp: {Prtry: 'REMITTANCES'},
XchgRate: '56.25',
SplmtryData: [
{
PlcAndNm: '/MeridianPay/CrossBorderInfo',
Envlp: {
sourceAmount: '26.67',
sourceCurrency: 'USD',
exchangeRate: '56.25',
reference: 'R9x8k2m4p6w1c3v5b7n9q0z2',
relationToReceiver: 'FAMILY',
sourceOfIncome: 'SALARY'
}
}
]
}
]
}
})
};
fetch('https://api.examplebank.com/meridian/v1/credits/validate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.examplebank.com/meridian/v1/credits/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'FIToFICstmrCdtTrf' => [
'GrpHdr' => [
'MsgId' => 'CR7Q2M9X4KZ8-withdrawal-request',
'CreDtTm' => '2026-08-12T07:04:05.123Z',
'NbOfTxs' => '1',
'SttlmInf' => [
'SttlmMtd' => 'CLRG'
],
'InstgAgt' => [
'FinInstnId' => [
'BICFI' => 'MRDNUS33'
]
],
'InstdAgt' => [
'FinInstnId' => [
'BICFI' => 'EXBKPHMM'
]
]
],
'CdtTrfTxInf' => [
[
'PmtId' => [
'InstrId' => 'CR7Q2M9X4KZ8',
'EndToEndId' => 'mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27'
],
'IntrBkSttlmAmt' => [
'Ccy' => 'PHP',
'Amt' => 1500
],
'Dbtr' => [
'Nm' => 'Juan Cruz',
'GvnNm' => 'Juan',
'FmlyNm' => 'Cruz',
'PstlAdr' => [
'AdrLine' => [
'123 Test Street'
],
'TwnNm' => 'San Jose',
'CtrySubDvsn' => 'CA',
'PstCd' => '95112',
'Ctry' => 'US'
],
'CtryOfRes' => 'US',
'PrvtId' => [
'DtAndPlcOfBirth' => [
'BirthDt' => '1990-01-15'
]
]
],
'DbtrAcct' => [
'Id' => [
'Othr' => [
'Id' => 'MRDN-SND-0042'
]
],
'Ccy' => 'USD'
],
'DbtrAgt' => [
'FinInstnId' => [
'BICFI' => 'MRDNUS33'
]
],
'CdtrAgt' => [
'FinInstnId' => [
'BICFI' => 'EXBKPHMM'
]
],
'Cdtr' => [
'Nm' => 'Maria Santos',
'GvnNm' => 'Maria',
'FmlyNm' => 'Santos'
],
'CdtrAcct' => [
'Id' => [
'Othr' => [
'Id' => '001234567890'
]
],
'Ccy' => 'PHP'
],
'RmtInf' => [
'Ustrd' => [
'Family support',
'R9x8k2m4p6w1c3v5b7n9q0z2'
]
],
'Purp' => [
'Prtry' => 'REMITTANCES'
],
'XchgRate' => '56.25',
'SplmtryData' => [
[
'PlcAndNm' => '/MeridianPay/CrossBorderInfo',
'Envlp' => [
'sourceAmount' => '26.67',
'sourceCurrency' => 'USD',
'exchangeRate' => '56.25',
'reference' => 'R9x8k2m4p6w1c3v5b7n9q0z2',
'relationToReceiver' => 'FAMILY',
'sourceOfIncome' => 'SALARY'
]
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.examplebank.com/meridian/v1/credits/validate"
payload := strings.NewReader("{\n \"FIToFICstmrCdtTrf\": {\n \"GrpHdr\": {\n \"MsgId\": \"CR7Q2M9X4KZ8-withdrawal-request\",\n \"CreDtTm\": \"2026-08-12T07:04:05.123Z\",\n \"NbOfTxs\": \"1\",\n \"SttlmInf\": {\n \"SttlmMtd\": \"CLRG\"\n },\n \"InstgAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"InstdAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n }\n },\n \"CdtTrfTxInf\": [\n {\n \"PmtId\": {\n \"InstrId\": \"CR7Q2M9X4KZ8\",\n \"EndToEndId\": \"mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27\"\n },\n \"IntrBkSttlmAmt\": {\n \"Ccy\": \"PHP\",\n \"Amt\": 1500\n },\n \"Dbtr\": {\n \"Nm\": \"Juan Cruz\",\n \"GvnNm\": \"Juan\",\n \"FmlyNm\": \"Cruz\",\n \"PstlAdr\": {\n \"AdrLine\": [\n \"123 Test Street\"\n ],\n \"TwnNm\": \"San Jose\",\n \"CtrySubDvsn\": \"CA\",\n \"PstCd\": \"95112\",\n \"Ctry\": \"US\"\n },\n \"CtryOfRes\": \"US\",\n \"PrvtId\": {\n \"DtAndPlcOfBirth\": {\n \"BirthDt\": \"1990-01-15\"\n }\n }\n },\n \"DbtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"MRDN-SND-0042\"\n }\n },\n \"Ccy\": \"USD\"\n },\n \"DbtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"CdtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n },\n \"Cdtr\": {\n \"Nm\": \"Maria Santos\",\n \"GvnNm\": \"Maria\",\n \"FmlyNm\": \"Santos\"\n },\n \"CdtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"001234567890\"\n }\n },\n \"Ccy\": \"PHP\"\n },\n \"RmtInf\": {\n \"Ustrd\": [\n \"Family support\",\n \"R9x8k2m4p6w1c3v5b7n9q0z2\"\n ]\n },\n \"Purp\": {\n \"Prtry\": \"REMITTANCES\"\n },\n \"XchgRate\": \"56.25\",\n \"SplmtryData\": [\n {\n \"PlcAndNm\": \"/MeridianPay/CrossBorderInfo\",\n \"Envlp\": {\n \"sourceAmount\": \"26.67\",\n \"sourceCurrency\": \"USD\",\n \"exchangeRate\": \"56.25\",\n \"reference\": \"R9x8k2m4p6w1c3v5b7n9q0z2\",\n \"relationToReceiver\": \"FAMILY\",\n \"sourceOfIncome\": \"SALARY\"\n }\n }\n ]\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.examplebank.com/meridian/v1/credits/validate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"FIToFICstmrCdtTrf\": {\n \"GrpHdr\": {\n \"MsgId\": \"CR7Q2M9X4KZ8-withdrawal-request\",\n \"CreDtTm\": \"2026-08-12T07:04:05.123Z\",\n \"NbOfTxs\": \"1\",\n \"SttlmInf\": {\n \"SttlmMtd\": \"CLRG\"\n },\n \"InstgAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"InstdAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n }\n },\n \"CdtTrfTxInf\": [\n {\n \"PmtId\": {\n \"InstrId\": \"CR7Q2M9X4KZ8\",\n \"EndToEndId\": \"mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27\"\n },\n \"IntrBkSttlmAmt\": {\n \"Ccy\": \"PHP\",\n \"Amt\": 1500\n },\n \"Dbtr\": {\n \"Nm\": \"Juan Cruz\",\n \"GvnNm\": \"Juan\",\n \"FmlyNm\": \"Cruz\",\n \"PstlAdr\": {\n \"AdrLine\": [\n \"123 Test Street\"\n ],\n \"TwnNm\": \"San Jose\",\n \"CtrySubDvsn\": \"CA\",\n \"PstCd\": \"95112\",\n \"Ctry\": \"US\"\n },\n \"CtryOfRes\": \"US\",\n \"PrvtId\": {\n \"DtAndPlcOfBirth\": {\n \"BirthDt\": \"1990-01-15\"\n }\n }\n },\n \"DbtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"MRDN-SND-0042\"\n }\n },\n \"Ccy\": \"USD\"\n },\n \"DbtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"CdtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n },\n \"Cdtr\": {\n \"Nm\": \"Maria Santos\",\n \"GvnNm\": \"Maria\",\n \"FmlyNm\": \"Santos\"\n },\n \"CdtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"001234567890\"\n }\n },\n \"Ccy\": \"PHP\"\n },\n \"RmtInf\": {\n \"Ustrd\": [\n \"Family support\",\n \"R9x8k2m4p6w1c3v5b7n9q0z2\"\n ]\n },\n \"Purp\": {\n \"Prtry\": \"REMITTANCES\"\n },\n \"XchgRate\": \"56.25\",\n \"SplmtryData\": [\n {\n \"PlcAndNm\": \"/MeridianPay/CrossBorderInfo\",\n \"Envlp\": {\n \"sourceAmount\": \"26.67\",\n \"sourceCurrency\": \"USD\",\n \"exchangeRate\": \"56.25\",\n \"reference\": \"R9x8k2m4p6w1c3v5b7n9q0z2\",\n \"relationToReceiver\": \"FAMILY\",\n \"sourceOfIncome\": \"SALARY\"\n }\n }\n ]\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.examplebank.com/meridian/v1/credits/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"FIToFICstmrCdtTrf\": {\n \"GrpHdr\": {\n \"MsgId\": \"CR7Q2M9X4KZ8-withdrawal-request\",\n \"CreDtTm\": \"2026-08-12T07:04:05.123Z\",\n \"NbOfTxs\": \"1\",\n \"SttlmInf\": {\n \"SttlmMtd\": \"CLRG\"\n },\n \"InstgAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"InstdAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n }\n },\n \"CdtTrfTxInf\": [\n {\n \"PmtId\": {\n \"InstrId\": \"CR7Q2M9X4KZ8\",\n \"EndToEndId\": \"mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27\"\n },\n \"IntrBkSttlmAmt\": {\n \"Ccy\": \"PHP\",\n \"Amt\": 1500\n },\n \"Dbtr\": {\n \"Nm\": \"Juan Cruz\",\n \"GvnNm\": \"Juan\",\n \"FmlyNm\": \"Cruz\",\n \"PstlAdr\": {\n \"AdrLine\": [\n \"123 Test Street\"\n ],\n \"TwnNm\": \"San Jose\",\n \"CtrySubDvsn\": \"CA\",\n \"PstCd\": \"95112\",\n \"Ctry\": \"US\"\n },\n \"CtryOfRes\": \"US\",\n \"PrvtId\": {\n \"DtAndPlcOfBirth\": {\n \"BirthDt\": \"1990-01-15\"\n }\n }\n },\n \"DbtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"MRDN-SND-0042\"\n }\n },\n \"Ccy\": \"USD\"\n },\n \"DbtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"MRDNUS33\"\n }\n },\n \"CdtrAgt\": {\n \"FinInstnId\": {\n \"BICFI\": \"EXBKPHMM\"\n }\n },\n \"Cdtr\": {\n \"Nm\": \"Maria Santos\",\n \"GvnNm\": \"Maria\",\n \"FmlyNm\": \"Santos\"\n },\n \"CdtrAcct\": {\n \"Id\": {\n \"Othr\": {\n \"Id\": \"001234567890\"\n }\n },\n \"Ccy\": \"PHP\"\n },\n \"RmtInf\": {\n \"Ustrd\": [\n \"Family support\",\n \"R9x8k2m4p6w1c3v5b7n9q0z2\"\n ]\n },\n \"Purp\": {\n \"Prtry\": \"REMITTANCES\"\n },\n \"XchgRate\": \"56.25\",\n \"SplmtryData\": [\n {\n \"PlcAndNm\": \"/MeridianPay/CrossBorderInfo\",\n \"Envlp\": {\n \"sourceAmount\": \"26.67\",\n \"sourceCurrency\": \"USD\",\n \"exchangeRate\": \"56.25\",\n \"reference\": \"R9x8k2m4p6w1c3v5b7n9q0z2\",\n \"relationToReceiver\": \"FAMILY\",\n \"sourceOfIncome\": \"SALARY\"\n }\n }\n ]\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"FIToFIPmtStsRpt": {
"GrpHdr": {
"MsgId": "EBNK-STS-20260812-000102",
"CreDtTm": "2026-08-12T15:04:06+08:00"
},
"OrgnlGrpInfAndSts": {
"OrgnlMsgId": "CR7Q2M9X4KZ8-withdrawal-request",
"OrgnlMsgNmId": "pacs.008"
},
"TxInfAndSts": [
{
"OrgnlInstrId": "CR7Q2M9X4KZ8",
"OrgnlEndToEndId": "mrdn-9f2c1e4a-71bd-4c5e-a2f3-8d6b0c9e1a27",
"TxSts": "ACCP"
}
]
}
}
Authorizations
Assume OAuth 2.0 client credentials issued by the bank, presented as a bearer token. Meridian can adapt to the bank's preferred authentication scheme during onboarding.
Body
application/json
ISO 20022 pacs.008 FI to FI customer credit transfer, as JSON. Meridian sends exactly one transaction per message.
Show child attributes
Show child attributes
Response
Validation outcome (both eligible and ineligible accounts return 200).
ISO 20022 pacs.002 FI to FI payment status report, as JSON.
Show child attributes
Show child attributes