User
Open your billing page
Returns the URL of the trader’s billing page, where they can update their payment method and billing details and download invoices. 404 if the trader has never paid for an add-on.
POST
/
v1
/
user
/
addons
/
billing-portal
Open your billing page
curl --request POST \
--url https://api.hyperprop.com/platform/v1/user/addons/billing-portal \
--header 'Content-Type: application/json' \
--data '
{
"returnPath": "/settings/add-ons"
}
'import requests
url = "https://api.hyperprop.com/platform/v1/user/addons/billing-portal"
payload = { "returnPath": "/settings/add-ons" }
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({returnPath: '/settings/add-ons'})
};
fetch('https://api.hyperprop.com/platform/v1/user/addons/billing-portal', 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.hyperprop.com/platform/v1/user/addons/billing-portal",
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([
'returnPath' => '/settings/add-ons'
]),
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.hyperprop.com/platform/v1/user/addons/billing-portal"
payload := strings.NewReader("{\n \"returnPath\": \"/settings/add-ons\"\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.hyperprop.com/platform/v1/user/addons/billing-portal")
.header("Content-Type", "application/json")
.body("{\n \"returnPath\": \"/settings/add-ons\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperprop.com/platform/v1/user/addons/billing-portal")
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 \"returnPath\": \"/settings/add-ons\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"url": "https://billing.example.com/p/session/a1b2c3"
}
}{
"success": false,
"statusCode": 401,
"error": "Unauthorized",
"message": "Authentication required",
"code": "UNAUTHORIZED"
}{
"success": false,
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found",
"code": "NOT_FOUND"
}{
"success": false,
"statusCode": 500,
"error": "Internal Server Error",
"message": "An unexpected error occurred",
"code": "INTERNAL_ERROR"
}⌘I
Open your billing page
curl --request POST \
--url https://api.hyperprop.com/platform/v1/user/addons/billing-portal \
--header 'Content-Type: application/json' \
--data '
{
"returnPath": "/settings/add-ons"
}
'import requests
url = "https://api.hyperprop.com/platform/v1/user/addons/billing-portal"
payload = { "returnPath": "/settings/add-ons" }
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({returnPath: '/settings/add-ons'})
};
fetch('https://api.hyperprop.com/platform/v1/user/addons/billing-portal', 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.hyperprop.com/platform/v1/user/addons/billing-portal",
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([
'returnPath' => '/settings/add-ons'
]),
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.hyperprop.com/platform/v1/user/addons/billing-portal"
payload := strings.NewReader("{\n \"returnPath\": \"/settings/add-ons\"\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.hyperprop.com/platform/v1/user/addons/billing-portal")
.header("Content-Type", "application/json")
.body("{\n \"returnPath\": \"/settings/add-ons\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hyperprop.com/platform/v1/user/addons/billing-portal")
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 \"returnPath\": \"/settings/add-ons\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"url": "https://billing.example.com/p/session/a1b2c3"
}
}{
"success": false,
"statusCode": 401,
"error": "Unauthorized",
"message": "Authentication required",
"code": "UNAUTHORIZED"
}{
"success": false,
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found",
"code": "NOT_FOUND"
}{
"success": false,
"statusCode": 500,
"error": "Internal Server Error",
"message": "An unexpected error occurred",
"code": "INTERNAL_ERROR"
}