payment-gateway-integration
Facilitates secure payment processing by integrating major gateways like Stripe, PayPal, and Square for e-commerce and subscription services.
Install this skill
Security score
The payment-gateway-integration skill was audited on Feb 12, 2026 and we found 36 security issues across 4 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 308 | logger.info(`Payment intent created: ${intent.id}`); |
Template literal with variable interpolation in command context
| 311 | logger.error(`Stripe error: ${error.message}`); |
Template literal with variable interpolation in command context
| 324 | logger.info(`Customer created: ${customer.id}`); |
Template literal with variable interpolation in command context
| 339 | logger.info(`Subscription created: ${subscription.id}`); |
Template literal with variable interpolation in command context
| 349 | logger.info(`Subscription cancelled: ${subscriptionId}`); |
Template literal with variable interpolation in command context
| 363 | logger.info(`Refund created: ${refund.id}`); |
Template literal with variable interpolation in command context
| 412 | logger.info(`Payment succeeded: ${intent.id}`); |
Template literal with variable interpolation in command context
| 417 | logger.info(`Subscription updated: ${subscription.id}`); |
Template literal with variable interpolation in command context
| 421 | logger.info(`Invoice paid: ${invoice.id}`); |
Template literal with variable interpolation in command context
| 426 | logger.error(`Webhook error: ${error.message}`); |
Template literal with variable interpolation in command context
| 427 | res.status(400).send(`Webhook Error: ${error.message}`); |
Webhook reference - potential data exfiltration
| 3 | description: Integrate payment gateways like Stripe, PayPal, and Square with backends for payment processing, subscription management, and webhook handling. Use when building e-commerce platforms, imp |
Webhook reference - potential data exfiltration
| 10 | Build secure payment processing systems with major payment providers (Stripe, PayPal, Square), handling transactions, subscriptions, webhooks, PCI compliance, and error scenarios across different back |
Webhook reference - potential data exfiltration
| 19 | - Integrating payment webhooks |
Webhook reference - potential data exfiltration
| 32 | STRIPE_WEBHOOK_SECRET = os.getenv('STRIPE_WEBHOOK_SECRET') |
Webhook reference - potential data exfiltration
| 143 | def verify_stripe_webhook(f): |
Webhook reference - potential data exfiltration
| 147 | webhook_secret = os.getenv('STRIPE_WEBHOOK_SECRET') |
Webhook reference - potential data exfiltration
| 150 | event = stripe.Webhook.construct_event( |
Webhook reference - potential data exfiltration
| 153 | webhook_secret |
Webhook reference - potential data exfiltration
| 251 | @payment_bp.route('/webhook', methods=['POST']) |
Webhook reference - potential data exfiltration
| 252 | @verify_stripe_webhook |
Webhook reference - potential data exfiltration
| 253 | def handle_webhook(): |
Webhook reference - potential data exfiltration
| 254 | """Handle Stripe webhooks""" |
Webhook reference - potential data exfiltration
| 288 | logger.error(f"Webhook error: {str(e)}") |
Webhook reference - potential data exfiltration
| 400 | router.post('/webhook', express.raw({ type: 'application/json' }), async (req, res) => { |
Webhook reference - potential data exfiltration
| 404 | const event = stripe.webhooks.constructEvent( |
Webhook reference - potential data exfiltration
| 407 | process.env.STRIPE_WEBHOOK_SECRET |
Webhook reference - potential data exfiltration
| 426 | logger.error(`Webhook error: ${error.message}`); |
Webhook reference - potential data exfiltration
| 427 | res.status(400).send(`Webhook Error: ${error.message}`); |
Webhook reference - potential data exfiltration
| 558 | - Verify webhook signatures |
Webhook reference - potential data exfiltration
| 575 | - Ignore webhook events |
Access to .env file
| 296 | const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY); |
Access to .env file
| 375 | const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY); |
Access to .env file
| 407 | process.env.STRIPE_WEBHOOK_SECRET |
External URL reference
| 457 | "return_url": return_url or "https://example.com/return", |
External URL reference
| 458 | "cancel_url": cancel_url or "https://example.com/cancel" |