Create a new Checkout Element
curl --request POST \
--url https://api.fungies.io/v0/elements/checkout/create \
--header 'Content-Type: application/json' \
--header 'x-fngs-public-key: <api-key>' \
--header 'x-fngs-secret-key: <api-key>' \
--data '
{
"offersIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"name": "<string>",
"customFields": [
{
"id": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://api.fungies.io/v0/elements/checkout/create"
payload = {
"offersIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"name": "<string>",
"customFields": [
{
"id": "<string>",
"value": "<string>"
}
]
}
headers = {
"x-fngs-public-key": "<api-key>",
"x-fngs-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fngs-public-key': '<api-key>',
'x-fngs-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
offersIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
name: '<string>',
customFields: [{id: '<string>', value: '<string>'}]
})
};
fetch('https://api.fungies.io/v0/elements/checkout/create', 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.fungies.io/v0/elements/checkout/create",
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([
'offersIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'name' => '<string>',
'customFields' => [
[
'id' => '<string>',
'value' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-fngs-public-key: <api-key>",
"x-fngs-secret-key: <api-key>"
],
]);
$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.fungies.io/v0/elements/checkout/create"
payload := strings.NewReader("{\n \"offersIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"name\": \"<string>\",\n \"customFields\": [\n {\n \"id\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fngs-public-key", "<api-key>")
req.Header.Add("x-fngs-secret-key", "<api-key>")
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.fungies.io/v0/elements/checkout/create")
.header("x-fngs-public-key", "<api-key>")
.header("x-fngs-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"offersIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"name\": \"<string>\",\n \"customFields\": [\n {\n \"id\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fungies.io/v0/elements/checkout/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fngs-public-key"] = '<api-key>'
request["x-fngs-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"offersIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"name\": \"<string>\",\n \"customFields\": [\n {\n \"id\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"data": {
"checkoutElement": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offers": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"object": "offer",
"internalId": null
}
],
"object": "checkoutElement",
"name": null,
"subscriptionOffer": false
}
}
}{
"status": "error",
"error": {
"message": "Sample error message"
}
}elements
Create a new Checkout Element
Create a new Checkout Element with specified offers.
Checkout Elements are embeddable or hosted checkout experiences that can be integrated into your website or application. They handle the entire checkout flow including payment collection, tax calculation, and order creation.
Supported configurations:
- Single one-time purchase: One offer for a standard product
- Multiple one-time purchases: Multiple offers in a cart
- Subscription: One subscription offer (cannot be combined with other offers)
POST
/
v0
/
elements
/
checkout
/
create
Create a new Checkout Element
curl --request POST \
--url https://api.fungies.io/v0/elements/checkout/create \
--header 'Content-Type: application/json' \
--header 'x-fngs-public-key: <api-key>' \
--header 'x-fngs-secret-key: <api-key>' \
--data '
{
"offersIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"name": "<string>",
"customFields": [
{
"id": "<string>",
"value": "<string>"
}
]
}
'import requests
url = "https://api.fungies.io/v0/elements/checkout/create"
payload = {
"offersIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"name": "<string>",
"customFields": [
{
"id": "<string>",
"value": "<string>"
}
]
}
headers = {
"x-fngs-public-key": "<api-key>",
"x-fngs-secret-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fngs-public-key': '<api-key>',
'x-fngs-secret-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
offersIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
name: '<string>',
customFields: [{id: '<string>', value: '<string>'}]
})
};
fetch('https://api.fungies.io/v0/elements/checkout/create', 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.fungies.io/v0/elements/checkout/create",
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([
'offersIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'name' => '<string>',
'customFields' => [
[
'id' => '<string>',
'value' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-fngs-public-key: <api-key>",
"x-fngs-secret-key: <api-key>"
],
]);
$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.fungies.io/v0/elements/checkout/create"
payload := strings.NewReader("{\n \"offersIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"name\": \"<string>\",\n \"customFields\": [\n {\n \"id\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fngs-public-key", "<api-key>")
req.Header.Add("x-fngs-secret-key", "<api-key>")
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.fungies.io/v0/elements/checkout/create")
.header("x-fngs-public-key", "<api-key>")
.header("x-fngs-secret-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"offersIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"name\": \"<string>\",\n \"customFields\": [\n {\n \"id\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fungies.io/v0/elements/checkout/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fngs-public-key"] = '<api-key>'
request["x-fngs-secret-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"offersIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"name\": \"<string>\",\n \"customFields\": [\n {\n \"id\": \"<string>\",\n \"value\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "<string>",
"data": {
"checkoutElement": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"offers": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"object": "offer",
"internalId": null
}
],
"object": "checkoutElement",
"name": null,
"subscriptionOffer": false
}
}
}{
"status": "error",
"error": {
"message": "Sample error message"
}
}Body
application/json
POST /v0/elements/checkout/create Request body
⌘I