Retrieve detailed information about a specific merchant account. For setup status and instructions, see provider webhook verification .
GET /v2/projects/ {project_id} /merchant-accounts/ {merchant_account_id} CopyTry it Authorization Bearer API Key Required
API key scope: merchant-accounts:read (required for restricted keys).
Path Parameters The unique identifier of the project.
The unique identifier of the merchant account.
Query Parameters Use requirements for field definitions, requirements.enabled for enabled choices, or requirements.available for available choices. Crypto payment-currency options are merchant-specific.
When options.enabled is returned for a requirement, each choice has string value and label fields, with optional description and opaque object metadata. Pass the selected value to checkout unchanged. An expansion can omit enabled; do not infer choices or a universal network list when it is absent.
supported_currencies, when included, is either a list of currency codes or true for all currencies. currency_compatible reports compatibility with the selected currency context; these fields may be omitted.
Manual webhook providers can include webhook_setup with a URL, instructions, an optional dashboard URL and optional missing_credentials names. Project API keys do not receive webhook signing secrets. If setup information cannot be built, webhook_setup_error: true can be returned without the setup block; retry the detail request. The account response itself still uses HTTP 200.
curl -X GET "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/merchant-accounts/11111111-1111-1111-1111-111111111111" \
-H "Authorization: Bearer YOUR_API_KEY" const project_id = 'YOUR_PROJECT_ID' ;
const merchant_account_id = '11111111-1111-1111-1111-111111111111' ;
const response = await fetch ( `https://api.botsubscription.com/v2/projects/${ project_id }/merchant-accounts/${ merchant_account_id }` , {
method: 'GET' ,
headers: {
'Authorization' : 'Bearer YOUR_API_KEY'
}
});
const data = await response. json (); import requests
project_id = 'YOUR_PROJECT_ID'
merchant_account_id = '11111111-1111-1111-1111-111111111111'
response = requests.get(
f 'https://api.botsubscription.com/v2/projects/ { project_id } /merchant-accounts/ { merchant_account_id } ' ,
headers = { 'Authorization' : 'Bearer YOUR_API_KEY' }
)
data = response.json() $project_id = 'YOUR_PROJECT_ID' ;
$merchant_account_id = '11111111-1111-1111-1111-111111111111' ;
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , "https://api.botsubscription.com/v2/projects/{ $project_id }/merchant-accounts/{ $merchant_account_id }" );
curl_setopt ($ch, CURLOPT_HTTPHEADER , [ 'Authorization: Bearer YOUR_API_KEY' ]);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch); Success application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/11111111-1111-1111-1111-111111111111" ,
"code" : 200 ,
"message" : "Merchant account retrieved successfully" ,
"data" : {
"merchant_account_id" : "11111111-1111-1111-1111-111111111111" ,
"provider" : "stripe" ,
"environment" : "sandbox" ,
"active" : true ,
"has_requirements" : false ,
"configuration_editable" : false ,
"label" : null ,
"stripe_managed_payments_enabled" : false ,
"supported_currencies" : [
"USD" ,
"EUR"
],
"currency_compatible" : true ,
"webhook_status" : "not_required" ,
"webhook_verification" : {
"required" : false ,
"mode" : "auto" ,
"status" : "not_required" ,
"verification_method" : null ,
"verification_supported" : false ,
"can_mark_verified" : false ,
"action_required" : false
}
}
} Account supports all currencies application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/11111111-1111-1111-1111-111111111111" ,
"code" : 200 ,
"message" : "Merchant account retrieved successfully" ,
"data" : {
"merchant_account_id" : "11111111-1111-1111-1111-111111111111" ,
"provider" : "nowpayments" ,
"environment" : "production" ,
"active" : true ,
"has_requirements" : true ,
"supported_currencies" : true
}
} Enabled crypto choices (expand=requirements.enabled) application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/22222222-2222-2222-2222-222222222222" ,
"code" : 200 ,
"message" : "Merchant account retrieved successfully" ,
"data" : {
"merchant_account_id" : "22222222-2222-2222-2222-222222222222" ,
"provider" : "nowpayments" ,
"environment" : "sandbox" ,
"active" : true ,
"has_requirements" : true ,
"configuration_editable" : false ,
"label" : null ,
"requirements" : {
"fields" : [
{
"id" : "pay_currency" ,
"label" : "Settlement Currency" ,
"description" : "Cryptocurrency that the customer must use to complete the payment." ,
"type" : "enum" ,
"required" : true ,
"is_editable" : false ,
"selection" : {
"mode" : "single" ,
"min" : 1 ,
"max" : 1 ,
"allow_empty" : false
},
"options" : {
"allow_custom" : false ,
"enabled" : [
{
"value" : "USDTTRC20" ,
"label" : "USDT (TRC20)" ,
"description" : "Enabled payment option." ,
"metadata" : {}
},
{
"value" : "USDTBSC" ,
"label" : "USDT (BSC)"
}
]
}
}
]
}
}
} Merchant account not found application/json
{
"ok" : false ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/11111111-1111-1111-1111-111111111111" ,
"code" : 404 ,
"error" : {
"error_code" : "NOT_FOUND" ,
"message" : "Merchant account not found"
}
} Available crypto choices (expand=requirements.available) application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/22222222-2222-2222-2222-222222222222" ,
"code" : 200 ,
"message" : "Merchant account retrieved successfully" ,
"data" : {
"merchant_account_id" : "22222222-2222-2222-2222-222222222222" ,
"provider" : "nowpayments" ,
"environment" : "sandbox" ,
"active" : true ,
"has_requirements" : true ,
"configuration_editable" : false ,
"label" : null ,
"requirements" : {
"fields" : [
{
"id" : "pay_currency" ,
"label" : "Settlement Currency" ,
"description" : "Cryptocurrency that the customer must use to complete the payment." ,
"type" : "enum" ,
"required" : true ,
"is_editable" : false ,
"selection" : {
"mode" : "single" ,
"min" : 1 ,
"max" : 1 ,
"allow_empty" : false
},
"options" : {
"allow_custom" : false ,
"available" : [
{
"value" : "USDTTRC20" ,
"label" : "USDT (TRC20)" ,
"description" : "Enabled payment option." ,
"metadata" : {}
},
{
"value" : "USDTBSC" ,
"label" : "USDT (BSC)"
}
]
}
}
]
}
}
} Invalid or expired API key application/json
{
"ok" : false ,
"request_id" : "44444444-4444-4444-8444-444444444444" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/22222222-2222-4222-8222-222222222222" ,
"code" : 401 ,
"error" : {
"message" : "Invalid or expired authentication token." ,
"error_code" : "UNAUTHORIZED"
}
} Manual webhook setup is pending application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/11111111-1111-1111-1111-111111111111" ,
"code" : 200 ,
"message" : "Merchant account retrieved successfully" ,
"data" : {
"merchant_account_id" : "11111111-1111-1111-1111-111111111111" ,
"provider" : "creem" ,
"environment" : "sandbox" ,
"active" : true ,
"has_requirements" : true ,
"configuration_editable" : true ,
"label" : "Example payments" ,
"supported_currencies" : [
"USD" ,
"EUR"
],
"currency_compatible" : true ,
"webhook_status" : "pending" ,
"webhook_verification" : {
"required" : true ,
"mode" : "manual" ,
"status" : "pending" ,
"verification_method" : "webhook_arrival" ,
"verification_supported" : true ,
"can_mark_verified" : false ,
"action_required" : true
},
"webhook_setup" : {
"required" : true ,
"mode" : "manual" ,
"status" : "pending" ,
"webhook_url" : "https://api.example.com/webhooks/provider/example-account" ,
"dashboard_url" : "https://provider.example.com/settings/webhooks" ,
"instructions" : [
{
"step" : 1 ,
"text" : "Configure the webhook URL in your payment provider dashboard."
}
],
"missing_credentials" : [
"creem_webhook_secret"
]
}
}
} Webhook setup information is temporarily unavailable application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "GET" ,
"path" : "/v2/projects/11111111-1111-4111-8111-111111111111/merchant-accounts/11111111-1111-1111-1111-111111111111" ,
"code" : 200 ,
"message" : "Merchant account retrieved successfully" ,
"data" : {
"merchant_account_id" : "11111111-1111-1111-1111-111111111111" ,
"provider" : "creem" ,
"environment" : "sandbox" ,
"active" : true ,
"has_requirements" : true ,
"configuration_editable" : true ,
"label" : "Example payments" ,
"supported_currencies" : [
"USD" ,
"EUR"
],
"currency_compatible" : true ,
"webhook_status" : "pending" ,
"webhook_verification" : {
"required" : true ,
"mode" : "manual" ,
"status" : "pending" ,
"verification_method" : "webhook_arrival" ,
"verification_supported" : true ,
"can_mark_verified" : false ,
"action_required" : true
},
"webhook_setup_error" : true
}
}