Skip to content

Commit

Permalink
Merge pull request #92 from PaystackOSS/feat/add-mpesa-till
Browse files Browse the repository at this point in the history
Feat/add mpesa till
  • Loading branch information
Andrew-Paystack authored Feb 10, 2025
2 parents 107e08d + 3fcdb84 commit 97db985
Show file tree
Hide file tree
Showing 5 changed files with 184 additions and 0 deletions.
92 changes: 92 additions & 0 deletions dist/doc/payments/payment-methods/mobile-mpesa-till.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
const sh = `curl https://api.paystack.co/charge
-H "Authorization: Bearer YOUR_SECRET_KEY"
-H "Content-Type: application/json"
-d '{ "amount": 100,
"email": "customer@email.com",
"currency": "KES",
"mobile_money": {
"account" : "1234567",
"provider" : "mptill"
}
}'
-X POST`

const js = `const https = require('https')
const params = JSON.stringify({
"amount": 100,
"email": "customer@email.com",
"currency": "KES",
"mobile_money": {
"account" : "1234567",
"provider" : "mptill"
}
})
const options = {
hostname: 'api.paystack.co',
port: 443,
path: '/charge',
method: 'POST',
headers: {
Authorization: 'Bearer SECRET_KEY',
'Content-Type': 'application/json'
}
}
const req = https.request(options, res => {
let data = ''
res.on('data', (chunk) => {
data += chunk
});
res.on('end', () => {
console.log(JSON.parse(data))
})
}).on('error', error => {
console.error(error)
})
req.write(params)
req.end()`

const php = `<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.paystack.co/charge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => [
"amount" => 100,
"email" => "customer@email.com",
"currency" => "KES",
"mobile_money" => [
"account" => "1234567",
"provider" => "mptill"
]
],
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer SECRET_KEY",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}`

export {sh, js, php}
4 changes: 4 additions & 0 deletions src/doc/payments/payment-methods/mobile-mpesa-till/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
languages:
- sh
- js
- php
39 changes: 39 additions & 0 deletions src/doc/payments/payment-methods/mobile-mpesa-till/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
const https = require('https')

const params = JSON.stringify({
"amount": 100,
"email": "customer@email.com",
"currency": "KES",
"mobile_money": {
"account" : "1234567",
"provider" : "mptill"
}
})

const options = {
hostname: 'api.paystack.co',
port: 443,
path: '/charge',
method: 'POST',
headers: {
Authorization: 'Bearer SECRET_KEY',
'Content-Type': 'application/json'
}
}

const req = https.request(options, res => {
let data = ''

res.on('data', (chunk) => {
data += chunk
});

res.on('end', () => {
console.log(JSON.parse(data))
})
}).on('error', error => {
console.error(error)
})

req.write(params)
req.end()
37 changes: 37 additions & 0 deletions src/doc/payments/payment-methods/mobile-mpesa-till/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.paystack.co/charge",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => [
"amount" => 100,
"email" => "customer@email.com",
"currency" => "KES",
"mobile_money" => [
"account" => "1234567",
"provider" => "mptill"
]
],
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer SECRET_KEY",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
12 changes: 12 additions & 0 deletions src/doc/payments/payment-methods/mobile-mpesa-till/index.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
curl https://api.paystack.co/charge
-H "Authorization: Bearer YOUR_SECRET_KEY"
-H "Content-Type: application/json"
-d '{ "amount": 100,
"email": "customer@email.com",
"currency": "KES",
"mobile_money": {
"account" : "1234567",
"provider" : "mptill"
}
}'
-X POST

0 comments on commit 97db985

Please # to comment.