Generate Checkout Link
curl --request POST \
--url https://staging.crossmint.com/api/v1-alpha1/checkout/mint \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"clientId": "<string>",
"userId": "<string>",
"emailTo": "<string>",
"mintTo": "<string>",
"paymentMethod": "<string>",
"listingId": "<string>",
"redirect": {
"continue": "<string>",
"cancel": "<string>"
},
"mintConfig": {
"totalPrice": "<string>"
},
"whPassThroughArgs": "<string>"
}
'import requests
url = "https://staging.crossmint.com/api/v1-alpha1/checkout/mint"
payload = {
"clientId": "<string>",
"userId": "<string>",
"emailTo": "<string>",
"mintTo": "<string>",
"paymentMethod": "<string>",
"listingId": "<string>",
"redirect": {
"continue": "<string>",
"cancel": "<string>"
},
"mintConfig": { "totalPrice": "<string>" },
"whPassThroughArgs": "<string>"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
clientId: '<string>',
userId: '<string>',
emailTo: '<string>',
mintTo: '<string>',
paymentMethod: '<string>',
listingId: '<string>',
redirect: {continue: '<string>', cancel: '<string>'},
mintConfig: {totalPrice: '<string>'},
whPassThroughArgs: '<string>'
})
};
fetch('https://staging.crossmint.com/api/v1-alpha1/checkout/mint', 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://staging.crossmint.com/api/v1-alpha1/checkout/mint",
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([
'clientId' => '<string>',
'userId' => '<string>',
'emailTo' => '<string>',
'mintTo' => '<string>',
'paymentMethod' => '<string>',
'listingId' => '<string>',
'redirect' => [
'continue' => '<string>',
'cancel' => '<string>'
],
'mintConfig' => [
'totalPrice' => '<string>'
],
'whPassThroughArgs' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-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://staging.crossmint.com/api/v1-alpha1/checkout/mint"
payload := strings.NewReader("{\n \"clientId\": \"<string>\",\n \"userId\": \"<string>\",\n \"emailTo\": \"<string>\",\n \"mintTo\": \"<string>\",\n \"paymentMethod\": \"<string>\",\n \"listingId\": \"<string>\",\n \"redirect\": {\n \"continue\": \"<string>\",\n \"cancel\": \"<string>\"\n },\n \"mintConfig\": {\n \"totalPrice\": \"<string>\"\n },\n \"whPassThroughArgs\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-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://staging.crossmint.com/api/v1-alpha1/checkout/mint")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"<string>\",\n \"userId\": \"<string>\",\n \"emailTo\": \"<string>\",\n \"mintTo\": \"<string>\",\n \"paymentMethod\": \"<string>\",\n \"listingId\": \"<string>\",\n \"redirect\": {\n \"continue\": \"<string>\",\n \"cancel\": \"<string>\"\n },\n \"mintConfig\": {\n \"totalPrice\": \"<string>\"\n },\n \"whPassThroughArgs\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/v1-alpha1/checkout/mint")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientId\": \"<string>\",\n \"userId\": \"<string>\",\n \"emailTo\": \"<string>\",\n \"mintTo\": \"<string>\",\n \"paymentMethod\": \"<string>\",\n \"listingId\": \"<string>\",\n \"redirect\": {\n \"continue\": \"<string>\",\n \"cancel\": \"<string>\"\n },\n \"mintConfig\": {\n \"totalPrice\": \"<string>\"\n },\n \"whPassThroughArgs\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"checkoutURL": "<string>"
}{
"error": "<string>"
}Generate Checkout Link
API scope required: nfts.checkout Begin the checkout process for a mint
This API is subject to change as it is currently in its alpha form.
POST
/
v1-alpha1
/
checkout
/
mint
Generate Checkout Link
curl --request POST \
--url https://staging.crossmint.com/api/v1-alpha1/checkout/mint \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"clientId": "<string>",
"userId": "<string>",
"emailTo": "<string>",
"mintTo": "<string>",
"paymentMethod": "<string>",
"listingId": "<string>",
"redirect": {
"continue": "<string>",
"cancel": "<string>"
},
"mintConfig": {
"totalPrice": "<string>"
},
"whPassThroughArgs": "<string>"
}
'import requests
url = "https://staging.crossmint.com/api/v1-alpha1/checkout/mint"
payload = {
"clientId": "<string>",
"userId": "<string>",
"emailTo": "<string>",
"mintTo": "<string>",
"paymentMethod": "<string>",
"listingId": "<string>",
"redirect": {
"continue": "<string>",
"cancel": "<string>"
},
"mintConfig": { "totalPrice": "<string>" },
"whPassThroughArgs": "<string>"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
clientId: '<string>',
userId: '<string>',
emailTo: '<string>',
mintTo: '<string>',
paymentMethod: '<string>',
listingId: '<string>',
redirect: {continue: '<string>', cancel: '<string>'},
mintConfig: {totalPrice: '<string>'},
whPassThroughArgs: '<string>'
})
};
fetch('https://staging.crossmint.com/api/v1-alpha1/checkout/mint', 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://staging.crossmint.com/api/v1-alpha1/checkout/mint",
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([
'clientId' => '<string>',
'userId' => '<string>',
'emailTo' => '<string>',
'mintTo' => '<string>',
'paymentMethod' => '<string>',
'listingId' => '<string>',
'redirect' => [
'continue' => '<string>',
'cancel' => '<string>'
],
'mintConfig' => [
'totalPrice' => '<string>'
],
'whPassThroughArgs' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-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://staging.crossmint.com/api/v1-alpha1/checkout/mint"
payload := strings.NewReader("{\n \"clientId\": \"<string>\",\n \"userId\": \"<string>\",\n \"emailTo\": \"<string>\",\n \"mintTo\": \"<string>\",\n \"paymentMethod\": \"<string>\",\n \"listingId\": \"<string>\",\n \"redirect\": {\n \"continue\": \"<string>\",\n \"cancel\": \"<string>\"\n },\n \"mintConfig\": {\n \"totalPrice\": \"<string>\"\n },\n \"whPassThroughArgs\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-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://staging.crossmint.com/api/v1-alpha1/checkout/mint")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"clientId\": \"<string>\",\n \"userId\": \"<string>\",\n \"emailTo\": \"<string>\",\n \"mintTo\": \"<string>\",\n \"paymentMethod\": \"<string>\",\n \"listingId\": \"<string>\",\n \"redirect\": {\n \"continue\": \"<string>\",\n \"cancel\": \"<string>\"\n },\n \"mintConfig\": {\n \"totalPrice\": \"<string>\"\n },\n \"whPassThroughArgs\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/v1-alpha1/checkout/mint")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"clientId\": \"<string>\",\n \"userId\": \"<string>\",\n \"emailTo\": \"<string>\",\n \"mintTo\": \"<string>\",\n \"paymentMethod\": \"<string>\",\n \"listingId\": \"<string>\",\n \"redirect\": {\n \"continue\": \"<string>\",\n \"cancel\": \"<string>\"\n },\n \"mintConfig\": {\n \"totalPrice\": \"<string>\"\n },\n \"whPassThroughArgs\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"checkoutURL": "<string>"
}{
"error": "<string>"
}This is an alpha API and subject to change.
Authorizations
Body
application/json
The clientId of a previously created collection
The userId of a previously created wallet
Target email
Crypto address to mint the NFT to
Payment method
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Any arguments to included in the webhook status updates
Response
Checkout url generated
A URL to send the user to in order to capture payment and start the minting process
Was this page helpful?

