curl --request POST \
--url https://api.veryfront.com/credits/topup \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_reference": "<string>",
"projectId": "<string>",
"project_id": "<string>",
"successUrl": "<string>",
"success_url": "<string>",
"cancelUrl": "<string>",
"cancel_url": "<string>"
}
'import requests
url = "https://api.veryfront.com/credits/topup"
payload = {
"project_reference": "<string>",
"projectId": "<string>",
"project_id": "<string>",
"successUrl": "<string>",
"success_url": "<string>",
"cancelUrl": "<string>",
"cancel_url": "<string>"
}
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({
project_reference: '<string>',
projectId: '<string>',
project_id: '<string>',
successUrl: '<string>',
success_url: '<string>',
cancelUrl: '<string>',
cancel_url: '<string>'
})
};
fetch('https://api.veryfront.com/credits/topup', 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.veryfront.com/credits/topup",
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([
'project_reference' => '<string>',
'projectId' => '<string>',
'project_id' => '<string>',
'successUrl' => '<string>',
'success_url' => '<string>',
'cancelUrl' => '<string>',
'cancel_url' => '<string>'
]),
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.veryfront.com/credits/topup"
payload := strings.NewReader("{\n \"project_reference\": \"<string>\",\n \"projectId\": \"<string>\",\n \"project_id\": \"<string>\",\n \"successUrl\": \"<string>\",\n \"success_url\": \"<string>\",\n \"cancelUrl\": \"<string>\",\n \"cancel_url\": \"<string>\"\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.veryfront.com/credits/topup")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_reference\": \"<string>\",\n \"projectId\": \"<string>\",\n \"project_id\": \"<string>\",\n \"successUrl\": \"<string>\",\n \"success_url\": \"<string>\",\n \"cancelUrl\": \"<string>\",\n \"cancel_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/credits/topup")
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 \"project_reference\": \"<string>\",\n \"projectId\": \"<string>\",\n \"project_id\": \"<string>\",\n \"successUrl\": \"<string>\",\n \"success_url\": \"<string>\",\n \"cancelUrl\": \"<string>\",\n \"cancel_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "checkout_created",
"checkout_url": "<string>"
}{
"error": "<string>"
}Create credit checkout
Create credit checkout. Requires account.billing.manage.
curl --request POST \
--url https://api.veryfront.com/credits/topup \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"project_reference": "<string>",
"projectId": "<string>",
"project_id": "<string>",
"successUrl": "<string>",
"success_url": "<string>",
"cancelUrl": "<string>",
"cancel_url": "<string>"
}
'import requests
url = "https://api.veryfront.com/credits/topup"
payload = {
"project_reference": "<string>",
"projectId": "<string>",
"project_id": "<string>",
"successUrl": "<string>",
"success_url": "<string>",
"cancelUrl": "<string>",
"cancel_url": "<string>"
}
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({
project_reference: '<string>',
projectId: '<string>',
project_id: '<string>',
successUrl: '<string>',
success_url: '<string>',
cancelUrl: '<string>',
cancel_url: '<string>'
})
};
fetch('https://api.veryfront.com/credits/topup', 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.veryfront.com/credits/topup",
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([
'project_reference' => '<string>',
'projectId' => '<string>',
'project_id' => '<string>',
'successUrl' => '<string>',
'success_url' => '<string>',
'cancelUrl' => '<string>',
'cancel_url' => '<string>'
]),
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.veryfront.com/credits/topup"
payload := strings.NewReader("{\n \"project_reference\": \"<string>\",\n \"projectId\": \"<string>\",\n \"project_id\": \"<string>\",\n \"successUrl\": \"<string>\",\n \"success_url\": \"<string>\",\n \"cancelUrl\": \"<string>\",\n \"cancel_url\": \"<string>\"\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.veryfront.com/credits/topup")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"project_reference\": \"<string>\",\n \"projectId\": \"<string>\",\n \"project_id\": \"<string>\",\n \"successUrl\": \"<string>\",\n \"success_url\": \"<string>\",\n \"cancelUrl\": \"<string>\",\n \"cancel_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/credits/topup")
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 \"project_reference\": \"<string>\",\n \"projectId\": \"<string>\",\n \"project_id\": \"<string>\",\n \"successUrl\": \"<string>\",\n \"success_url\": \"<string>\",\n \"cancelUrl\": \"<string>\",\n \"cancel_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "checkout_created",
"checkout_url": "<string>"
}{
"error": "<string>"
}Authorizations
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Body
Credit package ID in camelCase form
small, medium, large, xl Credit package ID in snake_case form
small, medium, large, xl Project UUID or slug for an owner-pays top-up: the project owner’s wallet and effective price apply. Naming a project also requires project.read on it.
Deprecated alias; use project_reference. Optional project ID or slug. When supplied for a gate other than projects, checks the project owner and requires project.read. The projects gate always checks the caller.
Deprecated alias; use project_reference. Optional project ID or slug. When supplied for a gate other than projects, checks the project owner and requires project.read. The projects gate always checks the caller.
Checkout success redirect URL in camelCase form
Checkout success redirect URL in snake_case form
Checkout cancellation redirect URL in camelCase form
Checkout cancellation redirect URL in snake_case form