curl --request PATCH \
--url https://api.example.com/api/church/verifydonation \
--header 'Content-Type: application/json' \
--data '
{
"donationId": "<string>",
"transactionId": "<string>"
}
'{
"success": true,
"message": "<string>",
"data": {
"data._id": "<string>",
"data.donationName": "<string>",
"data.donationStatus": {},
"data.donationMetrics": {
"data.donationMetrics.targetAmount": 123,
"data.donationMetrics.minAmount": 123,
"data.donationMetrics.totalGotten": 123
},
"data.donators": [
{
"data.donators[].user": {},
"data.donators[].donated": 123,
"data.donators[].transactionId": "<string>",
"data.donators[].paymentVerified": true
}
]
}
}Verify a donation payment through Stripe and update the donation metrics. Only pastors can verify donations.
curl --request PATCH \
--url https://api.example.com/api/church/verifydonation \
--header 'Content-Type: application/json' \
--data '
{
"donationId": "<string>",
"transactionId": "<string>"
}
'{
"success": true,
"message": "<string>",
"data": {
"data._id": "<string>",
"data.donationName": "<string>",
"data.donationStatus": {},
"data.donationMetrics": {
"data.donationMetrics.targetAmount": 123,
"data.donationMetrics.minAmount": 123,
"data.donationMetrics.totalGotten": 123
},
"data.donators": [
{
"data.donators[].user": {},
"data.donators[].donated": 123,
"data.donators[].transactionId": "<string>",
"data.donators[].paymentVerified": true
}
]
}
}Documentation Index
Fetch the complete documentation index at: https://mintlify.com/SidneyEmeka/church_management_system/llms.txt
Use this file to discover all available pages before exploring further.
pastorPATCH /api/church/verifydonation
transactionIdstripe.checkout.sessions.retrieve()payment_status === "paid"donators.$.paymentVerified to truedonationMetrics.totalGotten by the donated amountcurl -X PATCH "https://api.example.com/api/church/verifydonation" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"donationId": "60d5ec49f1b2c72b8c8e4f1c",
"transactionId": "cs_test_a1B2c3D4e5F6g7H8i9J0k1L2m3N4o5P6q7R8s9T0"
}'
{
"success": true,
"message": "Payment verified",
"data": {
"_id": "60d5ec49f1b2c72b8c8e4f1c",
"church": "60d5ec49f1b2c72b8c8e4f1b",
"donationName": "Building Fund 2026",
"donationStatus": "on",
"startDate": "2026-04-01T00:00:00.000Z",
"endDate": "2026-12-31T23:59:59.000Z",
"donationDescription": "Fundraising for new church building construction",
"bankDetails": {
"accountName": "First Baptist Church",
"accountNumber": "1234567890",
"bankName": "Community Bank"
},
"donationSupportContact": {
"phone": "+1-555-0123",
"email": "[email protected]"
},
"donationMetrics": {
"targetAmount": 500000,
"minAmount": 10,
"totalGotten": 100
},
"donators": [
{
"user": {
"name": "John Smith",
"phoneNumber": "+1-555-0199"
},
"donated": 100,
"transactionId": "cs_test_a1B2c3D4e5F6g7H8i9J0k1L2m3N4o5P6q7R8s9T0",
"paymentVerified": true
}
],
"createdAt": "2026-03-07T10:30:00.000Z",
"updatedAt": "2026-03-07T11:45:00.000Z"
}
}
{
"success": false,
"message": "Unable to verify donations",
"data": "This donation has already been verified"
}
{
"success": true,
"message": "Payment not successful",
"error": "This payment's transaction was not successful"
}
{
"success": false,
"message": "Unable to verify donation",
"data": "Error message details"
}
const session = await stripe.checkout.sessions.retrieve(transactionId);
session.payment_status === "paid".
{
$set: { "donators.$.paymentVerified": true },
$inc: { "donationMetrics.totalGotten": donatedAmount }
}
payment_status: "paid"totalGotten field is automatically updated upon successful verification