Submit user OTP
curl --request POST \
--url https://api.nomba.com/v1/checkout/user-card \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"orderReference": "c4307d58-2513-41d8-b7f7-dfecd5f9fdbe",
"phoneNumber": "08012345678",
"otp": "1234"
}
'import requests
url = "https://api.nomba.com/v1/checkout/user-card"
payload = {
"orderReference": "c4307d58-2513-41d8-b7f7-dfecd5f9fdbe",
"phoneNumber": "08012345678",
"otp": "1234"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
orderReference: 'c4307d58-2513-41d8-b7f7-dfecd5f9fdbe',
phoneNumber: '08012345678',
otp: '1234'
})
};
fetch('https://api.nomba.com/v1/checkout/user-card', 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.nomba.com/v1/checkout/user-card",
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([
'orderReference' => 'c4307d58-2513-41d8-b7f7-dfecd5f9fdbe',
'phoneNumber' => '08012345678',
'otp' => '1234'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.nomba.com/v1/checkout/user-card"
payload := strings.NewReader("{\n \"orderReference\": \"c4307d58-2513-41d8-b7f7-dfecd5f9fdbe\",\n \"phoneNumber\": \"08012345678\",\n \"otp\": \"1234\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.nomba.com/v1/checkout/user-card")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"orderReference\": \"c4307d58-2513-41d8-b7f7-dfecd5f9fdbe\",\n \"phoneNumber\": \"08012345678\",\n \"otp\": \"1234\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nomba.com/v1/checkout/user-card")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderReference\": \"c4307d58-2513-41d8-b7f7-dfecd5f9fdbe\",\n \"phoneNumber\": \"08012345678\",\n \"otp\": \"1234\"\n}"
response = http.request(request)
puts response.read_body{
"code": "00",
"description": "Success",
"data": {
"success": "true",
"message": "success"
}
}{
"code": "400",
"description": "Request failed."
}{
"code": "401",
"description": "Unauthorized"
}{
"code": "403",
"description": "Forbidden"
}{
"code": "404",
"description": "Record not found"
}{
"code": "429",
"description": "Too many requests"
}{
"code": "500",
"description": "Server error"
}Charge
Submit user OTP
Use this endpoint to submit the user OTP send to the user’s mobile number. This will result in the user’s card being saved for later use.
POST
/
v1
/
checkout
/
user-card
Submit user OTP
curl --request POST \
--url https://api.nomba.com/v1/checkout/user-card \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"orderReference": "c4307d58-2513-41d8-b7f7-dfecd5f9fdbe",
"phoneNumber": "08012345678",
"otp": "1234"
}
'import requests
url = "https://api.nomba.com/v1/checkout/user-card"
payload = {
"orderReference": "c4307d58-2513-41d8-b7f7-dfecd5f9fdbe",
"phoneNumber": "08012345678",
"otp": "1234"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
orderReference: 'c4307d58-2513-41d8-b7f7-dfecd5f9fdbe',
phoneNumber: '08012345678',
otp: '1234'
})
};
fetch('https://api.nomba.com/v1/checkout/user-card', 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.nomba.com/v1/checkout/user-card",
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([
'orderReference' => 'c4307d58-2513-41d8-b7f7-dfecd5f9fdbe',
'phoneNumber' => '08012345678',
'otp' => '1234'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.nomba.com/v1/checkout/user-card"
payload := strings.NewReader("{\n \"orderReference\": \"c4307d58-2513-41d8-b7f7-dfecd5f9fdbe\",\n \"phoneNumber\": \"08012345678\",\n \"otp\": \"1234\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.nomba.com/v1/checkout/user-card")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"orderReference\": \"c4307d58-2513-41d8-b7f7-dfecd5f9fdbe\",\n \"phoneNumber\": \"08012345678\",\n \"otp\": \"1234\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nomba.com/v1/checkout/user-card")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderReference\": \"c4307d58-2513-41d8-b7f7-dfecd5f9fdbe\",\n \"phoneNumber\": \"08012345678\",\n \"otp\": \"1234\"\n}"
response = http.request(request)
puts response.read_body{
"code": "00",
"description": "Success",
"data": {
"success": "true",
"message": "success"
}
}{
"code": "400",
"description": "Request failed."
}{
"code": "401",
"description": "Unauthorized"
}{
"code": "403",
"description": "Forbidden"
}{
"code": "404",
"description": "Record not found"
}{
"code": "429",
"description": "Too many requests"
}{
"code": "500",
"description": "Server error"
}Authorizations
Nomba authenticates API calls with OAuth2 HTTP bearer tokens. There are two methods of authentication; Client-Credentials method and PKCE (Proof Key for Code Exchange) method. In each of the methods, You will get an ACCESS_TOKEN. You need to use an "Authorization" HTTP header to provide your ACCESS_TOKEN. For example: Authorization: {ACCESS_TOKEN}.
Body
application/json
Submit User OTP
⌘I