To make this request, send an authenticated request to the initiatetrans endpoint.
cURL NodeJs PHP - cURL Python
Copy curl -- location -- request POST 'https://api.oneappgo.com/v1/business/initiatetrans' \
-- header 'Authorization: Bearer YOUR_SECRET_KEY' \
-- form 'reference="fghjkl56789g"' \
-- form 'amount="500"' \
-- form 'customer_email="example@gmail.com"' \
-- form 'currency="NGN"' \
-- form 'redirecturl="https://example.com"' \
-- form 'fname="John"' \
-- form 'phone= "09012345678"' \ ,
-- form 'lname="Doe"'
Copy var https = require ( 'follow-redirects' ).https;
var fs = require ( 'fs' );
var options = {
'method' : 'POST' ,
'hostname' : 'api.oneappgo.com' ,
'path' : '/v1/business/initiatetrans' ,
'headers' : {
'Authorization' : 'Bearer YOUR_SECRET_KEY'
} ,
'maxRedirects' : 20
};
var req = https .request (options , function (res) {
var chunks = [];
res .on ( "data" , function (chunk) {
chunks .push (chunk);
});
res .on ( "end" , function (chunk) {
var body = Buffer .concat (chunks);
console .log ( body .toString ());
});
res .on ( "error" , function (error) {
console .error (error);
});
});
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"reference\"\r\n\r\nfghjkl56789g\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"amount\"\r\n\r\n500\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"customer_email\"\r\n\r\nexample@gmail.com\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"currency\"\r\n\r\nNGN\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"redirecturl\"\r\n\r\nhttps://example.com\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"fname\"\r\n\r\nJohn\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"lname\"\r\n\r\nDoe\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
req .setHeader ( 'content-type' , 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' );
req .write (postData);
req .end ();
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , array(
CURLOPT_URL => 'https://api.oneappgo.com/v1/business/initiatetrans' ,
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_ENCODING => '' ,
CURLOPT_MAXREDIRS => 10 ,
CURLOPT_TIMEOUT => 0 ,
CURLOPT_FOLLOWLOCATION => true ,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1 ,
CURLOPT_CUSTOMREQUEST => 'POST' ,
CURLOPT_POSTFIELDS => array('reference' => 'fghjkl56789g','amount' => '500','customer_email' => 'example@gmail.com', 'phone' => '09012345678','currency' => 'NGN','redirecturl' => 'https://example.com','fname' => 'John','lname' => 'Doe'),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer YOUR_SECRET_KEY'
) ,
) ) ;
$response = curl_exec ( $curl ) ;
curl_close ( $curl ) ;
echo $response;
Copy import requests
url = "https://api.oneappgo.com/v1/business/initiatetrans"
payload = { 'reference' : 'fghjkl56789g' ,
'amount' : '500' ,
'customer_email' : 'example@gmail.com' ,
'currency' : 'NGN' ,
'redirecturl' : 'https://example.com' ,
'fname' : 'John' ,
'phone' : '09012345678' ,
'lname' : 'Doe' }
files = [
]
headers = {
'Authorization' : 'Bearer YOUR_SECRET_KEY'
}
response = requests . request ( "POST" , url, headers = headers, data = payload, files = files)
print (response.text)
Copy {
"status" : true ,
"message" : "Successful" ,
"reference" : "2345KDF12" ,
"access_token" : "6983b68c269f7fgha2beb85625288" ,
"authorization_url" : "https://pay.1app.online/checkout/6983b68c269f7fgha2beb85625288/63490b1643375660547"
}
Once the Authorization URL is successfully generated, redirect your users to the authorization_url so they can pay. After payment is completed, the users are redirected to your website using the redirect URL passed with the initialize endpoint.