Complete Payment with Opay
POST
/
api
/
v1
/
opay-payment?transactionReference=
{transactionRef}
cURL
curl --request POST \
--url 'https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}' \
--header 'Authorization: <api-key>'import requests
url = "https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}', 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.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Opay transaction initiated.",
"data": {
"cashierUrl": "https://express.opaycheckout.com/apiCashier/redirect/payment/checkoutHome?orderToken=TOKEN.7a99a4845931441b8607f32a255693eb",
"reference": "NCPL20260610084349652371AFXR4P",
"orderNo": "260610145662165989858",
"status": "INITIAL",
"amount": {
"total": 30000,
"currency": "NGN"
},
"vat": {
"total": 0,
"currency": "NGN"
}
}
}{
"status": false,
"message": "Empty request not allowed.",
"data": {
"responseCode": "400",
"responseDescription": "Invalid request."
}
}Authorizations
Input your API key (e.g. your public key) as a Bearer token to access this API.
Path Parameters
The transaction reference for the payment, must be the same as the one used to initiate the payment
Response
OK
Indicates whether the Opay transaction was initiated successfully.
Provides additional information about the Opay transaction initiation status.
Contains the Opay checkout session details returned after a successful transaction initiation.
Show child attributes
Show child attributes
Was this page helpful?
⌘I
cURL
curl --request POST \
--url 'https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}' \
--header 'Authorization: <api-key>'import requests
url = "https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}', 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.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<api-key>")
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.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novacpayment.com/api/v1/opay-payment?transactionReference={transactionRef}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Opay transaction initiated.",
"data": {
"cashierUrl": "https://express.opaycheckout.com/apiCashier/redirect/payment/checkoutHome?orderToken=TOKEN.7a99a4845931441b8607f32a255693eb",
"reference": "NCPL20260610084349652371AFXR4P",
"orderNo": "260610145662165989858",
"status": "INITIAL",
"amount": {
"total": 30000,
"currency": "NGN"
},
"vat": {
"total": 0,
"currency": "NGN"
}
}
}{
"status": false,
"message": "Empty request not allowed.",
"data": {
"responseCode": "400",
"responseDescription": "Invalid request."
}
}