Configure a billing provider
curl --request POST \
--url 'https://api.vida.dev/api/v2/billing/billingSystemConfig?token=' \
--header 'Content-Type: application/json' \
--data '
{
"billingSystemType": "stripe",
"apiKey": "<stripe-secret-key>",
"publishableKey": "<stripe-publishable-key>",
"webhookSigningKey": "<stripe-webhook-signing-secret>"
}
'import requests
url = "https://api.vida.dev/api/v2/billing/billingSystemConfig?token="
payload = {
"billingSystemType": "stripe",
"apiKey": "<stripe-secret-key>",
"publishableKey": "<stripe-publishable-key>",
"webhookSigningKey": "<stripe-webhook-signing-secret>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
billingSystemType: 'stripe',
apiKey: '<stripe-secret-key>',
publishableKey: '<stripe-publishable-key>',
webhookSigningKey: '<stripe-webhook-signing-secret>'
})
};
fetch('https://api.vida.dev/api/v2/billing/billingSystemConfig?token=', 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.vida.dev/api/v2/billing/billingSystemConfig?token=",
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([
'billingSystemType' => 'stripe',
'apiKey' => '<stripe-secret-key>',
'publishableKey' => '<stripe-publishable-key>',
'webhookSigningKey' => '<stripe-webhook-signing-secret>'
]),
CURLOPT_HTTPHEADER => [
"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.vida.dev/api/v2/billing/billingSystemConfig?token="
payload := strings.NewReader("{\n \"billingSystemType\": \"stripe\",\n \"apiKey\": \"<stripe-secret-key>\",\n \"publishableKey\": \"<stripe-publishable-key>\",\n \"webhookSigningKey\": \"<stripe-webhook-signing-secret>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.vida.dev/api/v2/billing/billingSystemConfig?token=")
.header("Content-Type", "application/json")
.body("{\n \"billingSystemType\": \"stripe\",\n \"apiKey\": \"<stripe-secret-key>\",\n \"publishableKey\": \"<stripe-publishable-key>\",\n \"webhookSigningKey\": \"<stripe-webhook-signing-secret>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/billing/billingSystemConfig?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"billingSystemType\": \"stripe\",\n \"apiKey\": \"<stripe-secret-key>\",\n \"publishableKey\": \"<stripe-publishable-key>\",\n \"webhookSigningKey\": \"<stripe-webhook-signing-secret>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Success"
}Billing
Configure a billing provider
Stores the complete Stripe or Chargebee configuration used to bill downstream customers for the selected reseller or partner account. Each request replaces the current provider configuration. Supply every required field with its original value; redacted values returned by GET cannot be reused.
POST
/
api
/
v2
/
billing
/
billingSystemConfig
Configure a billing provider
curl --request POST \
--url 'https://api.vida.dev/api/v2/billing/billingSystemConfig?token=' \
--header 'Content-Type: application/json' \
--data '
{
"billingSystemType": "stripe",
"apiKey": "<stripe-secret-key>",
"publishableKey": "<stripe-publishable-key>",
"webhookSigningKey": "<stripe-webhook-signing-secret>"
}
'import requests
url = "https://api.vida.dev/api/v2/billing/billingSystemConfig?token="
payload = {
"billingSystemType": "stripe",
"apiKey": "<stripe-secret-key>",
"publishableKey": "<stripe-publishable-key>",
"webhookSigningKey": "<stripe-webhook-signing-secret>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
billingSystemType: 'stripe',
apiKey: '<stripe-secret-key>',
publishableKey: '<stripe-publishable-key>',
webhookSigningKey: '<stripe-webhook-signing-secret>'
})
};
fetch('https://api.vida.dev/api/v2/billing/billingSystemConfig?token=', 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.vida.dev/api/v2/billing/billingSystemConfig?token=",
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([
'billingSystemType' => 'stripe',
'apiKey' => '<stripe-secret-key>',
'publishableKey' => '<stripe-publishable-key>',
'webhookSigningKey' => '<stripe-webhook-signing-secret>'
]),
CURLOPT_HTTPHEADER => [
"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.vida.dev/api/v2/billing/billingSystemConfig?token="
payload := strings.NewReader("{\n \"billingSystemType\": \"stripe\",\n \"apiKey\": \"<stripe-secret-key>\",\n \"publishableKey\": \"<stripe-publishable-key>\",\n \"webhookSigningKey\": \"<stripe-webhook-signing-secret>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.vida.dev/api/v2/billing/billingSystemConfig?token=")
.header("Content-Type", "application/json")
.body("{\n \"billingSystemType\": \"stripe\",\n \"apiKey\": \"<stripe-secret-key>\",\n \"publishableKey\": \"<stripe-publishable-key>\",\n \"webhookSigningKey\": \"<stripe-webhook-signing-secret>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/billing/billingSystemConfig?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"billingSystemType\": \"stripe\",\n \"apiKey\": \"<stripe-secret-key>\",\n \"publishableKey\": \"<stripe-publishable-key>\",\n \"webhookSigningKey\": \"<stripe-webhook-signing-secret>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Success"
}Authorizations
Vida API Token
Query Parameters
Reseller or partner account whose billing provider configuration should be replaced.
Body
application/json
- Stripe billing provider
- Chargebee billing provider
Available options:
stripe Example:
"stripe"
Stripe secret API key.
Example:
"<stripe-secret-key>"
Stripe publishable key used for customer checkout.
Example:
"<stripe-publishable-key>"
Signing secret for the reseller-specific Vida webhook endpoint.
Example:
"<stripe-webhook-signing-secret>"
⌘I