Create credits checkout session
Create an embedded Stripe checkout session for a credit purchase. Provide planId, or both customAmount and customCredits (customAmount minimum 99).
curl -X POST "https://api.talkturo.com/api/credits/checkout" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN (tk_live_ or tk_test_)" \
-d '{
"accountId": "example_string",
"accountSlug": "example_string",
"planId": "example_string",
"customAmount": 3.14,
"customCredits": 3.14,
"customerId": "example_string",
"customerEmail": "user@example.com",
"toltReferral": "example_string"
}'
import requests
import json
url = "https://api.talkturo.com/api/credits/checkout"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (tk_live_ or tk_test_)"
}
data = {
"accountId": "example_string",
"accountSlug": "example_string",
"planId": "example_string",
"customAmount": 3.14,
"customCredits": 3.14,
"customerId": "example_string",
"customerEmail": "user@example.com",
"toltReferral": "example_string"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.talkturo.com/api/credits/checkout", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN (tk_live_ or tk_test_)"
},
body: JSON.stringify({
"accountId": "example_string",
"accountSlug": "example_string",
"planId": "example_string",
"customAmount": 3.14,
"customCredits": 3.14,
"customerId": "example_string",
"customerEmail": "user@example.com",
"toltReferral": "example_string"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"accountId": "example_string",
"accountSlug": "example_string",
"planId": "example_string",
"customAmount": 3.14,
"customCredits": 3.14,
"customerId": "example_string",
"customerEmail": "user@example.com",
"toltReferral": "example_string"
}`)
req, err := http.NewRequest("POST", "https://api.talkturo.com/api/credits/checkout", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN (tk_live_ or tk_test_)")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.talkturo.com/api/credits/checkout')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN (tk_live_ or tk_test_)'
request.body = '{
"accountId": "example_string",
"accountSlug": "example_string",
"planId": "example_string",
"customAmount": 3.14,
"customCredits": 3.14,
"customerId": "example_string",
"customerEmail": "user@example.com",
"toltReferral": "example_string"
}'
response = http.request(request)
puts response.body
{
"success": true,
"checkoutToken": "example_string",
"sessionId": "example_string",
"credits": 3.14,
"amount": 3.14
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
/credits/checkout
Target server for requests. Edit to use your own host.
Talkturo API key. Send as Authorization: Bearer tk_live_... or
Authorization: Bearer tk_test_.... Default scope is *; rate limit defaults
to 1000 requests per hour.
Authorization: Bearer tk_live_... or
Authorization: Bearer tk_test_.... Default scope is *; rate limit defaults
to 1000 requests per hour.
Authenticated Talkturo web session cookie (Supabase httpOnly session). Browser clients typically send this automatically after sign-in. Related refresh cookies may also be present depending on the client.
The media type of the request body
Custom purchase amount in USD (minimum 99)
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token (tk_live_ or tk_test_). Talkturo API key. Send as Authorization: Bearer tk_live_... or
Authorization: Bearer tk_test_.... Default scope is *; rate limit defaults
to 1000 requests per hour.
API Key for authentication. Authenticated Talkturo web session cookie (Supabase httpOnly session). Browser clients typically send this automatically after sign-in. Related refresh cookies may also be present depending on the client.
Body
Custom purchase amount in USD (minimum 99)