Resolve Payment Order Requirements
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"additionalData": {
"beneficiaryType": "individual",
"purpose": "goods_and_services"
},
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve"
payload = {
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"additionalData": {
"beneficiaryType": "individual",
"purpose": "goods_and_services"
},
"provider": "example-provider"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
currency: 'NGN',
amount: '100.00',
additionalData: {beneficiaryType: 'individual', purpose: 'goods_and_services'},
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve', 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.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve",
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([
'sessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'currency' => 'NGN',
'amount' => '100.00',
'additionalData' => [
'beneficiaryType' => 'individual',
'purpose' => 'goods_and_services'
],
'provider' => 'example-provider'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve"
payload := strings.NewReader("{\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"additionalData\": {\n \"beneficiaryType\": \"individual\",\n \"purpose\": \"goods_and_services\"\n },\n \"provider\": \"example-provider\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"additionalData\": {\n \"beneficiaryType\": \"individual\",\n \"purpose\": \"goods_and_services\"\n },\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"additionalData\": {\n \"beneficiaryType\": \"individual\",\n \"purpose\": \"goods_and_services\"\n },\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Payment order requirements resolved successfully",
"data": {
"data": {
"beneficiaryType": "individual",
"purpose": "goods_and_services"
},
"metadata": {
"resolutionId": "resolution_839201"
},
"sessionId": "13a36c1c-f4a6-4e49-a582-2ecded2559bc",
"sessionExpiresAt": "2026-09-15T15:20:00.000Z"
}
}Deposit Fiat
Resolve Payment Order Requirements
Resolves a dynamic payment-order field using its x-resolution definition. See Dynamic Forms.
POST
/
v1
/
wallets
/
{id}
/
deposit
/
fiat
/
payment-order-requirements
/
resolve
Resolve Payment Order Requirements
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"additionalData": {
"beneficiaryType": "individual",
"purpose": "goods_and_services"
},
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve"
payload = {
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"additionalData": {
"beneficiaryType": "individual",
"purpose": "goods_and_services"
},
"provider": "example-provider"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
currency: 'NGN',
amount: '100.00',
additionalData: {beneficiaryType: 'individual', purpose: 'goods_and_services'},
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve', 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.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve",
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([
'sessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'currency' => 'NGN',
'amount' => '100.00',
'additionalData' => [
'beneficiaryType' => 'individual',
'purpose' => 'goods_and_services'
],
'provider' => 'example-provider'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve"
payload := strings.NewReader("{\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"additionalData\": {\n \"beneficiaryType\": \"individual\",\n \"purpose\": \"goods_and_services\"\n },\n \"provider\": \"example-provider\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"additionalData\": {\n \"beneficiaryType\": \"individual\",\n \"purpose\": \"goods_and_services\"\n },\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"additionalData\": {\n \"beneficiaryType\": \"individual\",\n \"purpose\": \"goods_and_services\"\n },\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Payment order requirements resolved successfully",
"data": {
"data": {
"beneficiaryType": "individual",
"purpose": "goods_and_services"
},
"metadata": {
"resolutionId": "resolution_839201"
},
"sessionId": "13a36c1c-f4a6-4e49-a582-2ecded2559bc",
"sessionExpiresAt": "2026-09-15T15:20:00.000Z"
}
}Call this operation only when the returned schema contains an
x-resolution
definition whose url points to this endpoint.
We recommend passing the sessionId returned by the deposit quote together
with the current additionalData. The session keeps the wallet, asset, fiat
currency, amount, rail, and selected provider route consistent throughout the
flow. sessionId is optional: when it is omitted, send assetId, currency,
amount, and rail instead. Do not send those routing fields again when a
session ID is present.
The response returns the same sessionId and sessionExpiresAt. Use that
session when creating the payment order. If it expires or the selected route is
no longer available, request a new quote and repeat requirement resolution.Authorizations
Path Parameters
Wallet identifier.
Body
application/json
Session ID returned by the deposit quote.
Stablecoin asset identifier.
Example:
"ae455f23-3824-4125-baab-d158315cbcbd"
ISO 4217 fiat currency.
Required string length:
3Example:
"NGN"
Stablecoin amount as a decimal string.
Pattern:
^\d+(\.\d+)?$Example:
"100.00"
Collection method being resolved.
Available options:
one_time_virtual_account, payment_link, qr_code Current values from the dynamic requirements form.
Example:
{
"beneficiaryType": "individual",
"purpose": "goods_and_services"
}
Provider slug selected during quote discovery.
Example:
"example-provider"

