Resolve Payment Method Requirements
curl --request POST \
--url https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/resolve \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"paymentMethod": "bank_transfer",
"paymentMethodData": {
"accountNumber": "0123456789",
"bankCode": "999"
},
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/resolve"
payload = {
"paymentMethod": "bank_transfer",
"paymentMethodData": {
"accountNumber": "0123456789",
"bankCode": "999"
},
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"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({
paymentMethod: 'bank_transfer',
paymentMethodData: {accountNumber: '0123456789', bankCode: '999'},
sessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
currency: 'NGN',
amount: '100.00',
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/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/v2/wallets/{id}/withdraw/fiat/payment-method/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([
'paymentMethod' => 'bank_transfer',
'paymentMethodData' => [
'accountNumber' => '0123456789',
'bankCode' => '999'
],
'sessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'currency' => 'NGN',
'amount' => '100.00',
'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/v2/wallets/{id}/withdraw/fiat/payment-method/resolve"
payload := strings.NewReader("{\n \"paymentMethod\": \"bank_transfer\",\n \"paymentMethodData\": {\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"999\"\n },\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\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/v2/wallets/{id}/withdraw/fiat/payment-method/resolve")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"paymentMethod\": \"bank_transfer\",\n \"paymentMethodData\": {\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"999\"\n },\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/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 \"paymentMethod\": \"bank_transfer\",\n \"paymentMethodData\": {\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"999\"\n },\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Payment method resolved successfully",
"data": {
"paymentMethod": "bank_transfer",
"data": {
"accountNumber": "0123456789",
"accountName": "Ada Okafor",
"bankCode": "999"
},
"metadata": {
"institutionId": "bank_999"
}
}
}v2
Resolve Payment Method Requirements
Resolves a dynamic payment-method field using its x-resolution definition. See Dynamic Forms.
POST
/
v2
/
wallets
/
{id}
/
withdraw
/
fiat
/
payment-method
/
resolve
Resolve Payment Method Requirements
curl --request POST \
--url https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/resolve \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"paymentMethod": "bank_transfer",
"paymentMethodData": {
"accountNumber": "0123456789",
"bankCode": "999"
},
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"provider": "example-provider"
}
'import requests
url = "https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/resolve"
payload = {
"paymentMethod": "bank_transfer",
"paymentMethodData": {
"accountNumber": "0123456789",
"bankCode": "999"
},
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"assetId": "ae455f23-3824-4125-baab-d158315cbcbd",
"currency": "NGN",
"amount": "100.00",
"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({
paymentMethod: 'bank_transfer',
paymentMethodData: {accountNumber: '0123456789', bankCode: '999'},
sessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
assetId: 'ae455f23-3824-4125-baab-d158315cbcbd',
currency: 'NGN',
amount: '100.00',
provider: 'example-provider'
})
};
fetch('https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/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/v2/wallets/{id}/withdraw/fiat/payment-method/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([
'paymentMethod' => 'bank_transfer',
'paymentMethodData' => [
'accountNumber' => '0123456789',
'bankCode' => '999'
],
'sessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'assetId' => 'ae455f23-3824-4125-baab-d158315cbcbd',
'currency' => 'NGN',
'amount' => '100.00',
'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/v2/wallets/{id}/withdraw/fiat/payment-method/resolve"
payload := strings.NewReader("{\n \"paymentMethod\": \"bank_transfer\",\n \"paymentMethodData\": {\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"999\"\n },\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\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/v2/wallets/{id}/withdraw/fiat/payment-method/resolve")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"paymentMethod\": \"bank_transfer\",\n \"paymentMethodData\": {\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"999\"\n },\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"provider\": \"example-provider\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockradar.co/v2/wallets/{id}/withdraw/fiat/payment-method/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 \"paymentMethod\": \"bank_transfer\",\n \"paymentMethodData\": {\n \"accountNumber\": \"0123456789\",\n \"bankCode\": \"999\"\n },\n \"sessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"assetId\": \"ae455f23-3824-4125-baab-d158315cbcbd\",\n \"currency\": \"NGN\",\n \"amount\": \"100.00\",\n \"provider\": \"example-provider\"\n}"
response = http.request(request)
puts response.read_body{
"statusCode": 200,
"message": "Payment method resolved successfully",
"data": {
"paymentMethod": "bank_transfer",
"data": {
"accountNumber": "0123456789",
"accountName": "Ada Okafor",
"bankCode": "999"
},
"metadata": {
"institutionId": "bank_999"
}
}
}Nous recommandons d’utiliser le
sessionId renvoyé par l’endpoint des taux v2
tout au long de la découverte des méthodes de paiement, de la résolution des
exigences, du devis et de l’exécution. Il est optionnel : si vous l’omettez,
envoyez à la place les champs d’origine (actif, devise, montant, amountSide
et routage du fournisseur). Lorsque la réponse des exigences contient un
contrat resolution de premier niveau, soumettez les valeurs du formulaire
avec ses champs method, url, body et inputPath plutôt que de
reconstruire les champs de routage du fournisseur côté client.
La réponse conserve l’identifiant de session et son expiration. Si la session
expire ou si sa route de fournisseur devient indisponible, demandez un nouveau
taux et recommencez le flux.Autorisations
Paramètres de chemin
Wallet identifier.
Corps
application/json
Payment-method id.
Exemple:
"bank_transfer"
Current form values required by the x-resolution request.
Exemple:
{
"accountNumber": "0123456789",
"bankCode": "999"
}
Session ID returned by the v2 rates endpoint.
Stablecoin asset identifier.
Exemple:
"ae455f23-3824-4125-baab-d158315cbcbd"
ISO 4217 payout currency.
Required string length:
3Exemple:
"NGN"
Withdrawal amount as a decimal string.
Pattern:
^\d+(\.\d+)?$Exemple:
"100.00"
Provider slug selected earlier in the flow.
Exemple:
"example-provider"

