skills/payment-gateway/SKILL.md
> **OpenClaw skill context:** This skill supports ClawKeeper v1.5 as an OpenClaw-native SMB finance-agent platform. Implementations should preserve tenant isolation, deterministic policy enforcement, and auditable financial operations. --- name: payment-gateway description: "Process payments via Stripe, PayPal, or ACH. Use when paying invoices, processing customer payments, or managing payment methods. Handles payment scheduling, execution, and confirmation with full audit trail." --- # Paymen
npx skillsauth add alexi5000/clawkeeper skills/payment-gatewayInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
OpenClaw skill context: This skill supports ClawKeeper v1.5 as an OpenClaw-native SMB finance-agent platform. Implementations should preserve tenant isolation, deterministic policy enforcement, and auditable financial operations.
Processes payments securely through integrated payment gateways (Stripe, PayPal, ACH), with proper authorization, audit logging, and error handling.
Required fields:
Validations:
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
const payment_intent = await stripe.paymentIntents.create({
amount: invoice.amount, // cents
currency: invoice.currency,
description: `Invoice ${invoice.invoice_number} - ${invoice.vendor_name}`,
metadata: {
tenant_id: invoice.tenant_id,
invoice_id: invoice.id,
},
});
// Confirm payment
const confirmed = await stripe.paymentIntents.confirm(payment_intent.id, {
payment_method: tenant_payment_method_id,
});
// Via Stripe or Plaid
const transfer = await stripe.transfers.create({
amount: invoice.amount,
currency: invoice.currency,
destination: vendor_stripe_account_id,
});
// Via PayPal SDK
const payment = await paypal.createPayment({
amount: cents_to_dollars(invoice.amount),
currency: invoice.currency,
recipient: vendor_paypal_email,
});
On success:
UPDATE invoices
SET status = 'paid',
paid_at = NOW(),
updated_at = NOW()
WHERE id = $1 AND tenant_id = $2;
On failure:
INSERT INTO audit_log (tenant_id, user_id, action, entity_type, entity_id, changes)
VALUES (
$1, -- tenant_id
$2, -- user_id (approved_by)
'approve', -- action
'invoices', -- entity_type
$3, -- invoice_id
jsonb_build_object(
'payment_method', 'stripe',
'payment_intent_id', payment_intent.id,
'amount', invoice.amount,
'status', 'paid'
)
);
Return payment confirmation:
{
"success": true,
"invoice_id": "uuid",
"payment_id": "pi_1234...", // Stripe payment intent ID
"amount": 50000, // cents
"currency": "USD",
"status": "paid",
"paid_at": "2026-01-15T14:30:00Z",
"payment_method": "stripe",
"confirmation_number": "..."
}
For future payments:
INSERT INTO scheduled_payments (
tenant_id, invoice_id, amount, currency,
payment_method, scheduled_date, status
)
VALUES ($1, $2, $3, $4, $5, $6, 'pending');
Cron job checks scheduled_payments daily and executes when scheduled_date <= NOW().
Process Stripe webhooks:
payment_intent.succeeded - Mark invoice as paidpayment_intent.payment_failed - Alert user, retry or manual reviewcharge.refunded - Create refund transactionInvoke this skill when executing vendor payments or processing customer payments through integrated gateways.
development
> **OpenClaw skill context:** This skill supports ClawKeeper v1.5 as an OpenClaw-native SMB finance-agent platform. Implementations should preserve tenant isolation, deterministic policy enforcement, and auditable financial operations. --- name: invoice-processor description: "Parse, validate, and categorize invoices using OCR and LLM. Use when processing uploaded invoices, extracting invoice data, validating invoice fields, or categorizing expenses. Handles PDF, image, and scanned invoices wit
testing
> **OpenClaw skill context:** This skill supports ClawKeeper v1.5 as an OpenClaw-native SMB finance-agent platform. Implementations should preserve tenant isolation, deterministic policy enforcement, and auditable financial operations. --- name: financial-reporting description: "Generate standard financial reports including P&L, balance sheet, and cash flow statements. Use when creating monthly/quarterly/annual reports, comparing periods, or exporting financial data. Supports GAAP and custom re
development
> **OpenClaw skill context:** This skill supports ClawKeeper v1.5 as an OpenClaw-native SMB finance-agent platform. Implementations should preserve tenant isolation, deterministic policy enforcement, and auditable financial operations. --- name: document-parser description: "OCR and parse documents including invoices, receipts, and bank statements. Use when extracting text from PDF/images, parsing scanned documents, or processing uploaded files. Supports Google Document AI and Tesseract OCR." -
testing
> **OpenClaw skill context:** This skill supports ClawKeeper v1.5 as an OpenClaw-native SMB finance-agent platform. Implementations should preserve tenant isolation, deterministic policy enforcement, and auditable financial operations. --- name: data-sync description: "Synchronize data with external accounting systems (QuickBooks, Xero) and bank feeds (Plaid). Use when importing/exporting financial data, syncing to accounting software, or updating from bank feeds. Handles bi-directional sync wi