Create checkout
curl --request POST \
--url https://api.platnova.com/v1/checkout \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"email": "[email protected]",
"amount": 2000.15,
"currency": "ngn"
}
'import requests
url = "https://api.platnova.com/v1/checkout"
payload = {
"email": "[email protected]",
"amount": 2000.15,
"currency": "ngn"
}
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({email: '[email protected]', amount: 2000.15, currency: 'ngn'})
};
fetch('https://api.platnova.com/v1/checkout', 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.platnova.com/v1/checkout",
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([
'email' => '[email protected]',
'amount' => 2000.15,
'currency' => 'ngn'
]),
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://api.platnova.com/v1/checkout"
payload := strings.NewReader("{\n \"email\": \"[email protected]\",\n \"amount\": 2000.15,\n \"currency\": \"ngn\"\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://api.platnova.com/v1/checkout")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"[email protected]\",\n \"amount\": 2000.15,\n \"currency\": \"ngn\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platnova.com/v1/checkout")
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 \"email\": \"[email protected]\",\n \"amount\": 2000.15,\n \"currency\": \"ngn\"\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"data": {
"amount": 2000.15,
"currency": "ngn",
"id": "3e584f08-6a55-4b15-a97f-364a7d21071e",
"email": "[email protected]",
"url": "https://pay.platnova.com/3e584f08-6a55-4b15-a97f-364a7d21071e",
"status": "pending",
"success_url": "https://platnova.com/process?status=successful",
"cancel_url": "https://platnova.com/process?status=cancelled",
"source": "platform",
"entity": {
"category": "Technology",
"country_code": "NG",
"created_at": "2025-09-14T20:00:41.114031Z",
"description": "A leading technology solutions provider g",
"dial_code": "+234",
"id": "67fa2a59-5d73-4f9c-be49-2a3a8c391cde",
"legal_name": "Techies 2 Ltd",
"name": "Techies 2 Ltd",
"phone": "8012345678",
"status": "ACTIVE",
"username": "techies2ltd"
},
"payment_options": [
{
"id": "tag_transfer"
},
{
"id": "bank_transfer"
},
{
"id": "card"
},
{
"id": "opay"
},
{
"id": "ussd"
},
{
"id": "crypto"
}
],
"created_at": "2026-05-05T15:57:19Z"
},
"error": [],
"message": "operation was successful"
}{
"status": true,
"data": {},
"error": [
"<unknown>"
],
"message": "<string>"
}Checkout
Create Checkout
Initiate a hosted checkout session for a customer.
POST
/
v1
/
checkout
Create checkout
curl --request POST \
--url https://api.platnova.com/v1/checkout \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"email": "[email protected]",
"amount": 2000.15,
"currency": "ngn"
}
'import requests
url = "https://api.platnova.com/v1/checkout"
payload = {
"email": "[email protected]",
"amount": 2000.15,
"currency": "ngn"
}
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({email: '[email protected]', amount: 2000.15, currency: 'ngn'})
};
fetch('https://api.platnova.com/v1/checkout', 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.platnova.com/v1/checkout",
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([
'email' => '[email protected]',
'amount' => 2000.15,
'currency' => 'ngn'
]),
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://api.platnova.com/v1/checkout"
payload := strings.NewReader("{\n \"email\": \"[email protected]\",\n \"amount\": 2000.15,\n \"currency\": \"ngn\"\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://api.platnova.com/v1/checkout")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"[email protected]\",\n \"amount\": 2000.15,\n \"currency\": \"ngn\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platnova.com/v1/checkout")
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 \"email\": \"[email protected]\",\n \"amount\": 2000.15,\n \"currency\": \"ngn\"\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"data": {
"amount": 2000.15,
"currency": "ngn",
"id": "3e584f08-6a55-4b15-a97f-364a7d21071e",
"email": "[email protected]",
"url": "https://pay.platnova.com/3e584f08-6a55-4b15-a97f-364a7d21071e",
"status": "pending",
"success_url": "https://platnova.com/process?status=successful",
"cancel_url": "https://platnova.com/process?status=cancelled",
"source": "platform",
"entity": {
"category": "Technology",
"country_code": "NG",
"created_at": "2025-09-14T20:00:41.114031Z",
"description": "A leading technology solutions provider g",
"dial_code": "+234",
"id": "67fa2a59-5d73-4f9c-be49-2a3a8c391cde",
"legal_name": "Techies 2 Ltd",
"name": "Techies 2 Ltd",
"phone": "8012345678",
"status": "ACTIVE",
"username": "techies2ltd"
},
"payment_options": [
{
"id": "tag_transfer"
},
{
"id": "bank_transfer"
},
{
"id": "card"
},
{
"id": "opay"
},
{
"id": "ussd"
},
{
"id": "crypto"
}
],
"created_at": "2026-05-05T15:57:19Z"
},
"error": [],
"message": "operation was successful"
}{
"status": true,
"data": {},
"error": [
"<unknown>"
],
"message": "<string>"
}Overview
Create a hosted checkout session for a customer. This endpoint returns a checkout ID and checkout URL that you can use to redirect the customer and complete payment.Authorizations
API key for authentication.
Body
application/json
Optional. The ways the payer may pay. Omit it to offer every method that is live for the currency (recommended). Methods not live for the currency are left off the page even if listed.
Show child attributes
Show child attributes

