Create Offset Order
curl --request POST \
--url https://api.sandbox.external.bnznow.com/offset-gateway/orders \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--header 'x-body-signature: <x-body-signature>' \
--data '
{
"emission_amount": 1,
"emission_unit": "kgCO2",
"callback_url": "<string>",
"user": {
"name": "<string>",
"email": "jsmith@example.com",
"tax_id": "<string>"
}
}
'import requests
url = "https://api.sandbox.external.bnznow.com/offset-gateway/orders"
payload = {
"emission_amount": 1,
"emission_unit": "kgCO2",
"callback_url": "<string>",
"user": {
"name": "<string>",
"email": "jsmith@example.com",
"tax_id": "<string>"
}
}
headers = {
"x-api-key": "<x-api-key>",
"x-body-signature": "<x-body-signature>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-body-signature': '<x-body-signature>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
emission_amount: 1,
emission_unit: 'kgCO2',
callback_url: '<string>',
user: {name: '<string>', email: 'jsmith@example.com', tax_id: '<string>'}
})
};
fetch('https://api.sandbox.external.bnznow.com/offset-gateway/orders', 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.sandbox.external.bnznow.com/offset-gateway/orders",
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([
'emission_amount' => 1,
'emission_unit' => 'kgCO2',
'callback_url' => '<string>',
'user' => [
'name' => '<string>',
'email' => 'jsmith@example.com',
'tax_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>",
"x-body-signature: <x-body-signature>"
],
]);
$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.sandbox.external.bnznow.com/offset-gateway/orders"
payload := strings.NewReader("{\n \"emission_amount\": 1,\n \"emission_unit\": \"kgCO2\",\n \"callback_url\": \"<string>\",\n \"user\": {\n \"name\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"tax_id\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-body-signature", "<x-body-signature>")
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.sandbox.external.bnznow.com/offset-gateway/orders")
.header("x-api-key", "<x-api-key>")
.header("x-body-signature", "<x-body-signature>")
.header("Content-Type", "application/json")
.body("{\n \"emission_amount\": 1,\n \"emission_unit\": \"kgCO2\",\n \"callback_url\": \"<string>\",\n \"user\": {\n \"name\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"tax_id\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.external.bnznow.com/offset-gateway/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-body-signature"] = '<x-body-signature>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emission_amount\": 1,\n \"emission_unit\": \"kgCO2\",\n \"callback_url\": \"<string>\",\n \"user\": {\n \"name\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"tax_id\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"order_id": "<string>",
"emission_amount": 123,
"emission_unit": "<string>",
"user": {
"name": "<string>",
"email": "<string>",
"tax_id": "<string>"
},
"callback_url": "<string>",
"payment_url": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}{
"error": 123,
"message": "<string>"
}Offset Gateway
Create Order
Create a new carbon offset order through the offset gateway
POST
/
offset-gateway
/
orders
Create Offset Order
curl --request POST \
--url https://api.sandbox.external.bnznow.com/offset-gateway/orders \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--header 'x-body-signature: <x-body-signature>' \
--data '
{
"emission_amount": 1,
"emission_unit": "kgCO2",
"callback_url": "<string>",
"user": {
"name": "<string>",
"email": "jsmith@example.com",
"tax_id": "<string>"
}
}
'import requests
url = "https://api.sandbox.external.bnznow.com/offset-gateway/orders"
payload = {
"emission_amount": 1,
"emission_unit": "kgCO2",
"callback_url": "<string>",
"user": {
"name": "<string>",
"email": "jsmith@example.com",
"tax_id": "<string>"
}
}
headers = {
"x-api-key": "<x-api-key>",
"x-body-signature": "<x-body-signature>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<x-api-key>',
'x-body-signature': '<x-body-signature>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
emission_amount: 1,
emission_unit: 'kgCO2',
callback_url: '<string>',
user: {name: '<string>', email: 'jsmith@example.com', tax_id: '<string>'}
})
};
fetch('https://api.sandbox.external.bnznow.com/offset-gateway/orders', 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.sandbox.external.bnznow.com/offset-gateway/orders",
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([
'emission_amount' => 1,
'emission_unit' => 'kgCO2',
'callback_url' => '<string>',
'user' => [
'name' => '<string>',
'email' => 'jsmith@example.com',
'tax_id' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>",
"x-body-signature: <x-body-signature>"
],
]);
$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.sandbox.external.bnznow.com/offset-gateway/orders"
payload := strings.NewReader("{\n \"emission_amount\": 1,\n \"emission_unit\": \"kgCO2\",\n \"callback_url\": \"<string>\",\n \"user\": {\n \"name\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"tax_id\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-body-signature", "<x-body-signature>")
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.sandbox.external.bnznow.com/offset-gateway/orders")
.header("x-api-key", "<x-api-key>")
.header("x-body-signature", "<x-body-signature>")
.header("Content-Type", "application/json")
.body("{\n \"emission_amount\": 1,\n \"emission_unit\": \"kgCO2\",\n \"callback_url\": \"<string>\",\n \"user\": {\n \"name\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"tax_id\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.external.bnznow.com/offset-gateway/orders")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-body-signature"] = '<x-body-signature>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"emission_amount\": 1,\n \"emission_unit\": \"kgCO2\",\n \"callback_url\": \"<string>\",\n \"user\": {\n \"name\": \"<string>\",\n \"email\": \"jsmith@example.com\",\n \"tax_id\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"order_id": "<string>",
"emission_amount": 123,
"emission_unit": "<string>",
"user": {
"name": "<string>",
"email": "<string>",
"tax_id": "<string>"
},
"callback_url": "<string>",
"payment_url": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}{
"error": 123,
"message": "<string>"
}Headers
API key for authentication
Signature of the request body signed with API secret (private key)
Body
application/json
Amount of carbon credits to purchase
Required range:
x >= 0Unit of measurement for emissions (defaults to kgCO2 if not specified)
Available options:
kgCO2, tonCO2e URL to receive webhook notifications about order status changes
User information
Show child attributes
Show child attributes
Response
Order created successfully
Unique identifier for the order
Amount of emissions to offset
Unit of emission measurement
Show child attributes
Show child attributes
URL to receive webhook notifications about order status changes
URL to complete the payment
Order creation timestamp
⌘I
